归档: 2017/4

0

高性能MySQL之锁粒度(二)

无论什么时候,只要有多个查询需要同一时刻修改数据,都会产生并发控制问题。关于并发控制的问题,我们将会介绍一个新的概念-锁。我们在多线程编程中会经常使用锁来进行并发控制。那么,MySQL针对并发控制做了哪些努力呢?或者说,MySQL的锁粒度主要是哪几种呢? 锁粒度一种提高共享资源并发性的方式就是让锁定对象更有选择性。尽量只锁定需要修改的部分数据,而不是所有的资源。为什么这样呢?我们都知道,一旦锁定了

0

高性能MySQL之逻辑架构(一)

众所周知,MySQL是一款非常优秀的开源数据库,根据最新的DB-Engines(https://db-engines.com/en/ranking)排名来看,MySQL使用量已经跃居第二了。和Oracle以及Microsoft SQL Server一起稳稳地占据着前三名的绝对地位。不过我们也应该关注另一个发展迅猛的数据库就是PostgreSQL,不过在这个系列里面我们就不聊PostgreSQL啦。

0

Java编程思想之GC与finalize()(六)

垃圾回收与终结处理程序员都了解初始化的重要性,但是常常会忘记同样也重要的清理工作。毕竟。谁需要清理一个int呢?但是我们知道把一个对象用完了以后“不管不顾”总是不安全的。因为很容易导致内存泄漏。当然了,你可能会说,我们有Java内存回收器啊。需要说明白的是,Java内存回收器只知道释放哪些由new创建的对象。假如你的代码没有通过new创建对象而是通过别的途径(比如说,调用了JNI本地方法,C++里

0

聊一聊“空杯精神”

不久以前看到一个说法,叫“空杯精神”。咋一看没弄明白到底是什么意思,后来一想,其实只不过是换了一种说法而已。在没有看到这个说法之前,我一直都坚持要保持一颗持续学习的心。其实我们都会有一种感觉,那就是,知道的越多,懂得越多,那么我们不知道的也就越多,不懂的也就越多。如何让自己能保持持续学习的态度,就需要我们将自己的角色摆正,客观地评价自己的能力,设定一个更加明确的目标,这样才能知道自己到底需要朝哪方

0

设计模式学习之状态模式

什么是状态模式状态模式(State Design Pattern)允许对象在内部状态改变的时候改变它的行为,对象看起来好像修改了它的类。 说明在状态模式中,我们会创建表示各种状态的对象和一个行为随着状态对象变化而改变的Context对象。 状态模式类图 下面具体介绍介绍各个类的作用: Context是我们前面说的一个上下文类,它拥有一些内部状态(state)。在类图中,只要有人调用Context类

0

Java编程思想之this关键字(五)

大家可能都知道this关键字,而且平时在工作中也用的非常多,那么你是真正知道this关键字的作用吗?如果一个类有两个实例a和b,那么你可能想知道如何让这两个实例都能调用work()方法呢? 12345678910class Person { void work(){ /** something **/ } }public class PersonWorker

0

设计模式学习之组合模式

什么是组合模式组合模式(Composite Design Pattern)允许你将对象组合成树形的结构来表示整体-部分的层级结构。组合模式允许客户类统一对待每一个独立的对象。 组合模式类图我们先看看组合模式的类图。 先说说Client客户类,Client客户类利用Component接口来操作这个组合结构里面的对象。 Component接口定义了这个组合结构里面的所有对象的一个接口,包括组合对象和

0

设计模式学习之迭代子模式

什么是迭代子模式迭代子模式(Iterator Design Pattern)提供了一种顺序访问聚合对象中的元素但是又不暴露它的底层实现的方式。 简单补充迭代子模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。大家肯定都使用过迭代器去遍历一个集合中的元素吧?比如像下面这样遍历链表: 12345List<Int

0

设计模式学习之外观模式

什么是外观模式外观模式(Facade Design Pattern)提供了一个统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,让子系统更容易使用。 外观模式类图 可以看到,这个设计模式非常的简单,简单到我们可以一眼就知道它的功能。不过我们还是来分析一下这个图中各个类的具体含义。 先说说Client类,这个是客户类,因为有了外观,客户的工作更加容易了,它不需要挨个挨个去调用系统中

0

设计模式学习之适配器模式

什么是适配器模式适配器模式(Adapter Design Pattern)将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。 将圆假装成正方形我们知道适配器模式的作用就是将一个类的接口进行转换,以适应客户的要求。那我们现在有一个圆,如何将一个圆假装成正方形呢?咋一看没什么头绪,但是学习完本文以后你就知道如何操作了。 适配器模式类图 先说说Client类,这个类比较