摘要: 一 概述 1.物理分页 物理分页依赖的是某一物理实体,这个物理实体就是数据库,比如MySQL数据库提供了limit关键字,程序员只需要编写带有limit关键字的SQL语句,数据库返回的就是分页结果。 2.逻辑分页 逻辑分页依赖的是程序员编写的代码。数据库返回的不是分页结果,而是全部数据,然后再由程序 阅读全文
posted @ 2017-07-05 18:07 tonghun 阅读(21712) 评论(1) 推荐(6) 编辑
摘要: 1.什么是抽象类? 如果多个类具有相同性质的行为,比如,人行走,动物行走,行走就是人与动物两个不同的类中性质相同的行为,为了便于管理,可以将这些行为抽象出来集中到一个类中,这样就产生了一个集中了多个类共同行为的类,这个类就是抽象类。 2.什么是接口? 两个类不仅有相同性质的行为,还有不同性质的行为, 阅读全文
posted @ 2017-07-05 17:15 tonghun 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 一 概述 1 背景 理论上将全部数据放到同一张表中很难实现,实际上即使实现了,表也很庞大,很冗杂,不便于查询与维护,因此将不同的数据存放到不同的表中,需要时连接各表进行查询。 2 执行过程 两张表进行连接查询时,将其中一张表中的每一行数据与另外一张表的全部数据进行对比,如果满足给定的条件,则将这两行 阅读全文
posted @ 2017-06-30 12:02 tonghun 阅读(817) 评论(0) 推荐(0) 编辑
摘要: 一 概述 1.什么是Git? Git是分布式版本控制系统。 2.集中式与分布式对比 在集中式版本控制系统中,版本库集中在中央服务器上,每次工作时都需要先从中央服务器获取最新版本,修改后,再推送到中央服务器,不仅受网路传输限制,而且一旦中央服务器发生故障,版本库可能全部丢失。而分布式版本控制系统,没有 阅读全文
posted @ 2017-06-29 16:22 tonghun 阅读(370) 评论(4) 推荐(0) 编辑
摘要: 一 概述 1.什么是UML? Unified Modeling Language,统一建模语言,用图形化的语言展示事物的结构,为交流与开发提供了便利。 2.UML分类 UML图形主要有用例图、类图、顺序图、状态图、活动图。不同的视图从不同的角度反映系统的特征。 二 用例图 Use Case Diag 阅读全文
posted @ 2017-06-28 16:17 tonghun 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 一 概述 1.线程池产生背景 在多线程环境下,频繁地创建与销毁线程会耗费大量的系统资源,降低运行性能,因此产生了一种设计思想:将创建好的线程放到一个容器中,需要时从容器取得线程,使用完毕将线程归还容器,这样就可以重复利用线程,避免了重复创建与销毁造成的资源消耗,提高了性能。 2.什么是线程池? 元素 阅读全文
posted @ 2017-06-27 17:33 tonghun 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 一 概述 1.volatile 保证共享数据一旦被修改就会立即同步到共享内存(堆或者方法区)中。 2.线程访问堆中数据的过程 线程在栈中建立一个数据的副本,修改完毕后将数据同步到堆中。 3.指令重排 为了提高执行效率,CPU会将没有依赖关系的指令重新排序。如果希望控制重新排序,可以使用volatil 阅读全文
posted @ 2017-06-27 17:19 tonghun 阅读(11123) 评论(0) 推荐(0) 编辑
摘要: 一 概述 1.NIO New IO,从java1.4版本引入的新IO,可以替代标准的IO。NIO操作一般流程: 2.Channel 代表一个与数据源的开放连接,可以读写数据,这种读写操作都是基于数据块。 3.Buffer channel读写数据的缓冲区,channel将读取的数据存放到Buffer中 阅读全文
posted @ 2017-06-26 17:43 tonghun 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 一 概述 1.Disruptor Disruptor是一个高性能的异步处理框架,一个“生产者-消费者”模型。 2.RingBuffer RingBuffer是一种环形数据结构,包含一个指向下一个槽点的序号,可以在线程间传递数据。 3.Event 在Disruptor框架中,生产者生产的数据叫做Eve 阅读全文
posted @ 2017-06-25 17:16 tonghun 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 1.修饰类 如果一个类被定义为final类型,那么该类无法被其他类继承,该类中的所有方法都是final类型的,字段是否是final类型取决于字段自身的定义。 2.修饰方法 一个方法被定义为final类型,该方法可以被继承,无法被重写。 3.修饰变量 一个变量被定义为final类型,如果该变量指向基本 阅读全文
posted @ 2017-06-25 11:09 tonghun 阅读(200) 评论(0) 推荐(0) 编辑