Java jvm调优
ZHOUBANGDING
这个作者很懒,什么都没留下…
展开
-
JVM调优总结(二)-一些概念
转自:http://pengjiaheng.iteye.com/blog/519471Java对象的大小 基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:Object ob = new Object转载 2017-02-14 09:46:57 · 231 阅读 · 0 评论 -
JVM调优总结(十一)-反思
转自:http://pengjiaheng.iteye.com/blog/558619垃圾回收的悖论 所谓“成也萧何败萧何”。Java的垃圾回收确实带来了很多好处,为开发带来了便利。但是在一些高性能、高并发的情况下,垃圾回收却成为了制约Java应用的瓶颈。目前JDK的垃圾回收算法,始终无法解决垃圾回收时的暂停问题,因为这个暂停严重影响了程序的响应时间,造成拥塞或堆积。这也是后转载 2017-02-15 10:15:07 · 379 阅读 · 0 评论 -
JVM调优总结(十)-调优方法
转自:http://pengjiaheng.iteye.com/blog/552456JVM调优工具Jconsole,jProfile,VisualVMJconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,需要付费。功能强大。详细说明参考这里 Vis转载 2017-02-14 17:16:05 · 280 阅读 · 0 评论 -
JVM调优总结(九)-新一代的垃圾回收算法
转自:http://pengjiaheng.iteye.com/blog/548472垃圾回收的瓶颈 传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时转载 2017-02-14 16:47:28 · 258 阅读 · 0 评论 -
JVM调优总结(八)-典型配置举例2
转自:http://pengjiaheng.iteye.com/blog/545015常见配置汇总堆设置 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:Survivo转载 2017-02-14 16:17:37 · 291 阅读 · 0 评论 -
JVM调优总结(七)-典型配置举例1
转自:http://pengjiaheng.iteye.com/blog/538582以下配置主要针对分代垃圾回收算法而言。 堆大小设置年轻代的设置很关键JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windo转载 2017-02-14 16:12:41 · 267 阅读 · 0 评论 -
JVM调优总结(六)-分代垃圾回收详述2
转自:http://pengjiaheng.iteye.com/blog/528034分代垃圾回收流程示意 选择合适的垃圾收集算法串行收集器 用单线程处理所有垃圾回收工作,因为无需多线程交互,所以效率比较高。但是,也无法使用多处理器的优势,所以此收集器适合单处理器机器。当然,此收集器也可以用在小数据量(100M左右)情况下的多处理器机器上。可以使用-转载 2017-02-14 15:02:56 · 293 阅读 · 0 评论 -
JVM调优总结(五)-分代垃圾回收详述1
转自:1.http://pengjiaheng.iteye.com/blog/5240242.http://ifeve.com/jvm-yong-generation/为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。其实不分代完全可以,分代的唯一理由就是优化GC性能,提转载 2017-02-14 14:24:42 · 308 阅读 · 0 评论 -
JVM调优总结(四)-垃圾回收面临的问题
如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,从哪儿开始查找哪些对象是正在被当前系统使用的。上面分析的堆和栈的区别,其中栈是真正进转载 2017-02-14 13:18:06 · 284 阅读 · 0 评论 -
JVM调优总结(三)-基本垃圾回收算法
转自:http://pengjiaheng.iteye.com/blog/520228可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除转载 2017-02-14 11:17:40 · 340 阅读 · 0 评论 -
Java虚拟机学习 - 垃圾收集器
转自:http://blog.csdn.net/java2000_wl/article/details/8030172HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个转载 2017-02-15 10:23:50 · 220 阅读 · 0 评论