2016年11月22日
摘要: 目录: GC之一--GC 的算法分析、垃圾收集器、内存分配策略介绍 GC之二--GC日志分析(jdk1.8)整理中 GC之三--GC 触发Full GC执行的情况及应对策略 gc之四--Minor GC、Major GC和Full GC之间的区别 GC之六--SystemGC完全解读 堆内存划分为 阅读全文
posted @ 2016-11-22 22:48 duanxz 阅读(4196) 评论(0) 推荐(0)
摘要: 在nio以前,是没有光明正大的做法的,有一个work around的办法是直接访问Unsafe类。如果你使用Eclipse,默认是不允许访问sun.misc下面的类的,你需要稍微修改一下,给Type Access Rules里面添加一条所有类都可以访问的规则: 在使用Unsafe类的时候: 发现还是 阅读全文
posted @ 2016-11-22 18:41 duanxz 阅读(7439) 评论(0) 推荐(0)
摘要: 本文建立在对instrumentation和agent有初步的了解的前提下阅读,关于这2个类的讲解在其它文章中。 这是一个maven项目,pom中需要的配置,lib中有asm的jar包 pom.xml文件: 打包后的agent的jar包中manifest属性如下: agent类,只有一个方法,就是把 阅读全文
posted @ 2016-11-22 17:31 duanxz 阅读(4573) 评论(0) 推荐(2)
摘要: 一、JVM内存的分配及垃圾回收 对于JVM的内存规则,应该是老生常谈的东西了,这里我就简单的说下: 新生代:一般来说新创建的对象都分配在这里。 年老代:经过几次垃圾回收,新生代的对象就会放在年老代里面。年老代中的对象保存的时间更久。 永久代:这里面存放的是class相关的信息,一般是不会进行垃圾回收 阅读全文
posted @ 2016-11-22 15:16 duanxz 阅读(20838) 评论(1) 推荐(9)
摘要: 一、堆外内存组成 通常JVM的参数我们会配置 -Xms 堆初始内存 -Xmx 堆最大内存 -XX:+UseG1GC/CMS 垃圾回收器 -XX:+DisableExplicitGC 禁止显示GC -XX:MaxDirectMemorySize 设置最大堆外内存,默认是-xmx-survivor,也就 阅读全文
posted @ 2016-11-22 15:07 duanxz 阅读(23712) 评论(0) 推荐(0)
摘要: 目录: GC之一--GC 的算法分析、垃圾收集器、内存分配策略介绍 GC之二--GC日志分析(jdk1.8)整理中 GC之三--GC 触发Full GC执行的情况及应对策略 gc之四--Minor GC、Major GC和Full GC之间的区别 GC之六--SystemGC完全解读 概述 JVM的 阅读全文
posted @ 2016-11-22 15:06 duanxz 阅读(3243) 评论(0) 推荐(0)
摘要: 目录: 《堆外内存操作类ByteBuffer》 《DirectBuffer》 《Unsafe(java可直接操作内存(),挂起与恢复,CAS操作)》 有时候对内存进行大对象的读写,会引起JVM长时间的停顿,有时候则是希望最大程度地提高JVM的效率,我们需要自己来管理内存(看起来很像是Java像C++ 阅读全文
posted @ 2016-11-22 11:22 duanxz 阅读(1814) 评论(1) 推荐(0)