
jvm性能调优
文章平均质量分 62
类加载机制、内存模型、内存分配、对象创建等
程序员庖丁解牛
研发经理
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
垃圾收集器ParNew&CMS与底层三色标记算法
一、垃圾收集算法的基础:分代收集理论。 1、标记-复制算法 2、标记-清除算法 两个明显的问题 (1)效率问题(如果需要标记的对象太多,效率不高) (2)空间问题(标记清除后会产生大量不连续的碎片) 3、标记-整理算法 二、垃圾收集器 1、Serial收集器(-XX:+UseSerialGC -XX:+UseSerialOldGC) Serial(串行),单线程收集器,在进行垃圾收集的时候必须暂停其它所有的工作线程(“Stop The World”),直到它收集结束。 新生代原创 2022-04-21 17:05:09 · 565 阅读 · 0 评论 -
JVM对象创建与内存分配机制深度剖析
一、对象的创建 1、类加载检查 2、分配内存 (1)划分内存的方法: 1)指针碰撞(默认) 2)空闲列表 (2)解决并发问题的方法: 1)CAS(compare and swap) 2)本地线程分配缓冲 3、初始化零值 4、设置对象头 对象在内存中存点布局可以分为3块领域:对象头、实例数据和对齐填充。 5、执行<init>方法(程序员赋值、执行构造方法) 二、对象大小与指针压缩 1、什么是java对象的指针压缩 从jdk1.6 update14开始,在64bit原创 2022-04-18 17:37:36 · 552 阅读 · 0 评论 -
java虚拟机整体结构及内存模型
操作数栈:我们操作数在程序运行过程中,它要做操作的一块临时的一块中转存放的内存空间。 动态链接:在程序运转过程中把符号引用转变为直接引用(方法区的直接地址)。 方法出口:方法执行完,该回到哪一行的地址。 ...原创 2022-04-15 14:01:46 · 418 阅读 · 0 评论 -
JDK源码级别类加载机制
1、java类加载运行全过程 其中loadClass有以下几个步骤: (1)加载:在硬盘上查找并通过IO读取到字节码文件,加载阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口 (2)验证:校验字节码文件的正确性 (3)准备:给类的静态变量分配内存,并赋予默认值 (4)解析:将符号引用替换为直接引用,该阶段会把一些静态方法(符号引用,比如main方法替换为指向数据所存内存的指针或句柄等(直接引用)),这是所谓的静态链接过程(类加载期间完成),原创 2022-04-14 14:05:36 · 323 阅读 · 0 评论