摘要: JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升。JVM如果不显式指定是-Server模式还是-client模式,JVM能够根据下列原则进行自动判断(适用于Java5版本或者Java以上版本)。 前段时间有 阅读全文
posted @ 2016-07-09 16:14 简单爱_wxg 阅读(1857) 评论(0) 推荐(0)
摘要: 本系列文章主要记录自己在学习《深入理解Java虚拟机-JVM高级特性与最佳实践》的知识点总结,文章内容都是基于周志明所著书籍的总结。 1.Java内存区域与溢出 2.垃圾收集器与内存分配策略 3.HotSpot算法实现 4.垃圾收集器 5.内存分配与回收策略 6.JVM调优总结:分代垃圾回收详述 7 阅读全文
posted @ 2016-07-09 14:51 简单爱_wxg 阅读(211) 评论(0) 推荐(0)
摘要: 为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连 接,这类 阅读全文
posted @ 2016-07-09 14:40 简单爱_wxg 阅读(377) 评论(0) 推荐(0)
摘要: Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存。 对象的内存分配,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接地在栈上分配),对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上 阅读全文
posted @ 2016-07-09 14:13 简单爱_wxg 阅读(1483) 评论(0) 推荐(0)
摘要: 垃圾收集器 前面的垃圾收集算法是理论,垃圾收集器则是具体的实现。下图是HotSpot里的收集器,中间的横线表示分代,有连线表示可以组合使用。虚拟机所处的区域表示它是属于新生代收集器还是老年代收集器。 Serial 收集器 是一个单线程的收集器,只能使用一个CPU或一条线程去完成垃圾收集;在进行垃圾收 阅读全文
posted @ 2016-07-09 11:35 简单爱_wxg 阅读(386) 评论(0) 推荐(0)
摘要: 1.枚举根节点 可达性分析中从GC Roots节点找引用,可作为GC Roots的节点主要是全局性的引用与执行上下文中,如果要逐个检查引用,必然消耗时间。另外可达性分析对执行时间的敏感还体现在GC停顿上,因为这项分析工作必须在一个能确保一致性的快照中进行——这里的“一致性”的意思是指整个分析期间整个 阅读全文
posted @ 2016-07-09 10:38 简单爱_wxg 阅读(670) 评论(0) 推荐(0)
摘要: 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 策略模式的结构 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的 阅读全文
posted @ 2016-07-09 09:48 简单爱_wxg 阅读(533) 评论(0) 推荐(0)