JVM学习笔记
文章平均质量分 50
夜吟
这个作者很懒,什么都没留下…
展开
-
JVM学习笔记8—Class文件结构
Class文件结构文件结构魔数 版本常量池访问符类、超类、接口字段方法属性常量池–CONSTANT_Utf8 1 UTF-8编码的Unicode字符串–CONSTANT_Integer 3 int类型的字面值–CONSTANT_Float 4 float类型的字面值–CONSTANT_Long 5原创 2016-03-02 00:18:47 · 395 阅读 · 0 评论 -
JVM学习笔记9—JIT及其相关参数
JIT及其相关参数字节码执行效率差,所以对于热点代码编译成机器码执行,在运行时的编译叫做JIT(just-in-time)对于是否是热点代码的判断标准,就是方法调用次数+方法里循环的次数>设置的阈值n-Xint–解释执行n-Xcomp–全部编译执行n-Xmixed–默认,混合原创 2016-03-03 00:21:04 · 952 阅读 · 0 评论 -
JVM学习笔记1—JVM运行机制
JVM的基本结构对于PC寄存器有个注意点,当执行本地方法时,pc的值为undefined方法区保存类的信息java堆对象保存在堆中,new 出来的,是gc的主要工作区间java栈线程独有的栈由一系列帧组成,栈只进行帧的入栈出栈操作栈保存一个方法的局部变量,操作数栈,常量指针每一次的方法调用都进行一次要栈操作局部变量表包含参原创 2016-02-20 21:38:20 · 436 阅读 · 0 评论 -
JVM学习笔记2—常用JVM配置参数
Trace跟踪参数-XX:printGC 打印GC的简要信息-Xloggc:log/gc.log--- 指定GC log的位置,以文件输出--- 帮助开发人员分析问题-XX:+TraceClassLoading 监控类的加载堆的分配参数-Xmx 指定最大堆-Xms 指定最小堆优先装在最小堆,如果最小堆放不下,拓展最小堆,但是上限是最大堆-原创 2016-02-21 23:32:36 · 729 阅读 · 0 评论 -
JVM学习笔记5—类加载器(classloader)
class装载验证流程1 加载· 取得类的二进制流,转为方法区数据结构,在堆中生成相应的java.lang.Class对象2 链接(1)验证(文件格式验证,元数据验证,字节码验证,符号引用验证)保证Claas流的格式是正确的,防止被恶意替换(2)准备分配内存,并为类设置初始值(在方法区中)注意 public static int a=1,在准备阶段,v=0,而不是1原创 2016-02-24 00:15:42 · 488 阅读 · 0 评论 -
JVM学习笔记6—:java堆分析
java堆分析1 内存溢出的原因jvm中有堆、永久区、线程栈、直接内存这4个内存空间(1)堆溢出:解决方法,增大堆空间,及时释放内存(2)永久区溢出:解决方法,增大Perm(持久代)区,允许Class回收(3)线程栈溢出:解决方法,减少线程,增大物理内存或者减小堆空间(4)直接内存溢出:导致原因 ByteBuffer.allocateDirect()无法从操原创 2016-03-01 09:32:39 · 651 阅读 · 0 评论 -
Google I/O 2017上推出的新 GC 算法的原理
看了下youtube上的视频 https://www.youtube.com/watch?v=iFE2Utbv1Oo貌似之前的Compact Copying Collector并不是concurrent的,然后在Android O里调整成为了Concurrent Copying Garbage Collector. 新的GC简单来说就是利用了read barrier来使得应用程序代码可以在原创 2017-05-21 20:51:18 · 821 阅读 · 0 评论 -
JVM学习笔记3—GC算法
GC的对象是堆空间与永久区,只要是对老年代进行操作GC算法种类1 引用计数法:思想:就是对对象进行引用计数,引用一次改对象的计数器就加1,减少一次引用该对象的计数器就减1,当该对象的引用计数器等于0的时候,垃圾收集器就将其回收缺陷:当根对象取消引用时,由于存在循环引用,GC无法回收2 标记清除法:思想:GC做清理分两步:1 先扫描,将被引用的标记 2 清理未标记的原创 2016-02-23 00:25:34 · 387 阅读 · 0 评论 -
JVM学习笔记4—GC参数
堆的回顾三种收集器1 串行收集器最古老,最稳定,效率高缺点:可能产生较长的停顿-XX:+UseSerialGC-------新生代,老年代使用串行回收-------新生代复制算法(因为新生代对象少)-------老年代标记-压缩(老年代对象多)2 并行收集器注意:并行不一定快!(1) ParNew --- -XX:+UseParNewGC原创 2016-02-23 00:58:02 · 766 阅读 · 0 评论