读书笔记
文章平均质量分 75
零下九度
热爱开源,崇尚技术,相信技术能改变世界。
展开
-
《Java性能优化权威指南》读书笔记
《Java性能优化权威指南》读书笔记原创 2015-03-27 07:28:54 · 1789 阅读 · 0 评论 -
《设计模式之禅》——访问者模式
访问者模式:封装一些作用于某种数据结构中的各元素的操作,她可以在不改变数据结构的前提下定义作用于这些元素的新的操作。原创 2015-01-29 21:07:37 · 712 阅读 · 0 评论 -
《设计模式之禅》——抽象工厂模式
《设计模式之禅》之抽象工厂模式原创 2015-01-17 14:11:23 · 769 阅读 · 0 评论 -
《设计模式之禅》——模板方法模式
《设计模式之禅》——模板方法模式原创 2015-01-17 14:51:58 · 717 阅读 · 0 评论 -
《设计模式之禅》——观察者模式
观察者模式:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。原创 2015-01-26 21:52:26 · 773 阅读 · 0 评论 -
《设计模式之禅》——建造者模式
《设计模式之禅》——建造者模式原创 2015-01-17 15:22:13 · 966 阅读 · 1 评论 -
《深入理解Java虚拟机》读书笔记1——Java内存区域与内存溢出异常
1.运行时数据区域 Java虚拟机所管理的内存将会包含以下几个运行时数据区域,如下图所示。1.1程序计数器 程序计数器是一块较小的内存空间,它的作用可以看做是当前线程锁执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支,循环、跳转、异常处理、线程恢复等基础原创 2014-12-13 14:00:43 · 1113 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记2——垃圾收集器与内存分配策略
1.对象状态1.1引用技数算法 引用技数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用的。此算法有一个缺点就是很难解决对象之间的相互循环引用的问题。1.2根搜索算法 根搜索算法:通过一系列名为“GC Roots”的对象作原创 2014-12-13 14:02:37 · 964 阅读 · 0 评论 -
《设计模式之禅》——责任链模式
责任链模式:使多个对象都有机会处理请求,从而避免了请求的发送者接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有对象处理它为止。原创 2015-01-25 18:43:03 · 864 阅读 · 0 评论 -
《设计模式之禅》——工厂方法模式
《设计模式之禅》之工厂方法模式原创 2015-01-17 13:53:00 · 684 阅读 · 0 评论 -
《设计模式之禅》——原型模式
《设计模式之禅》——原型模式原创 2015-01-17 16:39:09 · 661 阅读 · 0 评论 -
《设计模式之禅》——备忘录模式
备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。原创 2015-01-28 20:51:27 · 635 阅读 · 0 评论 -
《设计模式之禅》——策略模式
策略模式:定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。原创 2015-01-25 20:11:35 · 782 阅读 · 0 评论 -
《Java Bug模式》读书笔记
Bug模式是程序中已发生的bug和潜在bug之间重复出现的相互关系。有了这些模式和bug现象的知识,程序员就能很快识别新发生的bug,还可以预防这些bug的发生。原创 2015-02-09 15:23:29 · 1372 阅读 · 0 评论 -
《设计模式之禅》——迭代器模式
迭代器模式:原创 2015-01-25 20:50:29 · 672 阅读 · 0 评论 -
《设计模式之禅》——装饰模式
装饰模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生产子类更为灵活。原创 2015-01-25 19:46:44 · 942 阅读 · 0 评论 -
《设计模式之禅》——组合模式
组合模式:将对象组合成树形结构以表示“部分-整理”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。原创 2015-01-26 21:24:43 · 808 阅读 · 0 评论 -
《设计模式之禅》——代理模式
《设计模式之禅》——代理模式原创 2015-01-17 16:06:27 · 759 阅读 · 0 评论 -
《设计模式之禅》笔记汇总
《设计模式之禅》笔记汇总原创 2015-02-07 11:08:28 · 1236 阅读 · 0 评论 -
《设计模式之禅》——适配器模式
适配器模式:将一个类的接口变换成客户端所期待的另一种接口,从而是原本因接口不匹配而无法在一起工作的两个类能够在一起工作。原创 2015-01-25 20:34:38 · 760 阅读 · 0 评论 -
《设计模式之禅》——门面模式
门面模式:要求一个子系统的外部与其内部的通讯必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。原创 2015-01-27 21:38:10 · 707 阅读 · 0 评论 -
《设计模式之禅》——中介者模式
中介者模式:用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。原创 2015-01-25 18:01:27 · 824 阅读 · 0 评论 -
《设计模式之禅》——命令模式
命令模式:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。原创 2015-01-25 18:24:56 · 694 阅读 · 0 评论 -
《设计模式之禅》——单例模式
单例模式原创 2015-01-15 16:32:51 · 708 阅读 · 0 评论 -
《设计模式之禅》——享元模式
享元模式:使用共享对象可有效地支持大量的细粒度的对象。原创 2015-01-31 15:03:30 · 679 阅读 · 0 评论 -
《精益开发实战——用看板管理大型项目》读书笔记
读书笔记:精益开发实战——用看板管理大型项目原创 2014-11-01 21:50:04 · 2973 阅读 · 1 评论 -
《设计模式之禅》——桥梁模式
桥梁模式:将抽象和实现解耦,使得两者可以独立地变化。原创 2015-01-31 15:32:59 · 805 阅读 · 0 评论 -
《设计模式之禅》——状态模式
状态模式:当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。原创 2015-01-30 21:17:09 · 915 阅读 · 0 评论 -
《设计模式之禅》——解释器模式
解释器模式:给定一个语言, 定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。原创 2015-01-31 14:28:04 · 699 阅读 · 0 评论 -
《图解HTTP》笔记2HTTP报文内的HTTP信息
HTTP报文原创 2014-11-23 21:46:01 · 1091 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记4——虚拟机类加载机制
1.类加载过程 虚拟机把描述类的数据从Class类文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括了:加载、验证、准备、解析、初始化、使用和卸载七个阶段。1.1加载 在加载原创 2014-12-13 14:09:07 · 856 阅读 · 0 评论 -
《图解HTTP》笔记3HTTP首部
首部字段名说明CacheControl控制缓存的行为Connection允许客户端和服务器指定与请求/响应连接有关的选项Date报文创建时间Progma报文指令Trailer报文末端的首部一览Transfer-Encoding指定报原创 2014-11-27 21:58:13 · 1300 阅读 · 1 评论 -
《图解HTTP》笔记1简单的HTTP协议
HTTP的诞生1990年,http/0.9诞生1996年5月公布http/1.01997年1月公布http/1.12014年发布http/2.0各种协议与HTTP协议的关系HTTP协议用于客户端和服务器之间的通信告知服务器意图的HTTP方法GET:获取资源POST:传输实体主体原创 2014-11-23 20:58:14 · 1735 阅读 · 0 评论 -
《HotSpot实战》笔记1启动
1.启动1.1.启动器 Launcher(启动器)是用来启动JVM和应用程序的工具。HotSpot中提供了两种Launcher类型,分别是通用启动器和调试版启动器。 通用启动器是指我们非常熟悉的JDK命令程序:java(javaw)。HotSpot提供了一个精简调试Launcher,成为gamma。相对于通用Launcher,gamma就安装在JVM库原创 2014-12-07 18:26:57 · 1621 阅读 · 0 评论 -
《HotSpot实战》笔记4垃圾收集
1.堆与GC1.1垃圾收集 负责垃圾收集的程序模块,称为垃圾收集器。实现一款垃圾收集器,首先需要明确他的主要任务:确保仍被引用的对象在内存中保持存在。回收无任何引用的对象所占用的内存空间。 在设计垃圾收集器时,会有一些策略值得商榷:GC工作线程:串行还是并行GC工作线程与应用线程的关系:并发还是暂停应用程序?基本收原创 2014-12-10 22:37:58 · 1005 阅读 · 0 评论 -
《HotSpot实战》笔记3运行时数据区
1.堆 在Java中,内存是由虚拟机自动管理的。虚拟机在内存中划出一片区域,作为满足程序的内存分配请求的空间。那些从空间池划出的内存空间,称为堆。堆可分为3部分:新生代、老年代和永久代。其中新生代又被划分为1个Eden区和2个幸存区,其中一个称为from区,另一个则称为to区。2.线程私有区域2.1PC 线程启动时,J原创 2014-12-08 22:05:21 · 844 阅读 · 0 评论 -
《设计模式之禅》——6大设计原则
描述了《设计模式之禅》一书当中说到的六大设计原则。原创 2015-01-11 16:04:01 · 738 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记5——类加载及执行子系统的案例与实战
1.Tomcat:正统的类加载器架构2.OSGi:灵活的类加载器架构 OSGi中的每个模块(成为Bundle)与普通的Java类库区别并不太大,两者一般都以JAR格式进行封装,并且内部存储的都是Java Package和Class。但是一个Bundle可以声明它所依赖的Java Package(通过Import-Package描述),也可以声明它允许导出发布的原创 2014-12-13 14:57:39 · 1446 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记3——类文件结构
1.Class类文件的结构 根据Java虚拟机规范的规定,Class文件格式采用一种类似于C语言结构体的伪结构来存储,这种伪结构中只有两种数据类型:无符号数和表,后面的解析都要以这两种数据类型为基础。 无符号数属于基本的数据类型,以u1、u2、u4、u8来分别代表1个字节、2个字节、4个字节和8个字节的无符号数,无符号数可以用来描述数字、索引引用、数量值,或者按原创 2014-12-13 14:07:11 · 928 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记7——线程安全与锁优化
Brian Goetz对线程安全的定义:当多个线程访问一个对象时,如果不考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调度方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程安全的。1.Java语言中的线程安全 按照线程安全的“安全程度”由强至弱来排序,java里面各种操作共享的数据分为以下5原创 2014-12-14 20:18:30 · 1483 阅读 · 0 评论