
JVM
来福哥
这个作者很懒,什么都没留下…
展开
-
GC调优及常用参数总结
1. 调优前的基础概念所谓调优,首先确定,追求啥?吞吐量优先,还是响应时间优先?还是在满足一定的响应时间的情况下,要求达到多大的吞吐量…1.1 吞吐量用户代码时间 /(用户代码执行时间 + 垃圾回收时间)1.2 响应时间STW越短,响应时间越好1.3 场景应用科学计算、数据挖掘等 ->吞吐量优先(PS+PO)网站 GUI API -> 响应时间(CMS G1 ZGC)...原创 2020-04-01 22:44:07 · 676 阅读 · 0 评论 -
垃圾回收机制GC
1. GC相关1.1 什么是垃圾没有任何引用指向的一个或者一堆对象1.2 如何定位垃圾引用计数(RefrenceCount): 计数变为0的时候就是垃圾,回收走问题:循环引用根可达算法(RootSearching):从根开始找,没有关联关系,回收走。哪些内容算root,见下图1.3 垃圾回收算法Mark-Sweep(标记清除)算法相对简单,存活对象较多的情况下效...原创 2020-04-01 22:21:38 · 152 阅读 · 0 评论 -
深入理解Java虚拟机(JVM)
1. JVM运行时数据区域1.1 Program Counter (PC)程序计数器, 存放指令位置, 虚拟机的运行,类似于这样的循环while(not end){ 取PC中的位置,找到对应位置的指令; 执行该指令; PC++;}1.2 Native Method Stacks本地方法栈,java调用C/C++写的方法(JNI)一般不去管他,也没办法优...原创 2020-03-24 16:23:06 · 137 阅读 · 0 评论 -
JAVA内存模型-JMM
JMM硬件层数据一致性协议很多intel 用MESIhttps://www.cnblogs.com/z00377750/p/9180644.html现代CPU的数据一致性实现 = 缓存锁(MESI …) + 总线锁读取缓存以cache line为基本单位,目前64bytes位于同一缓存行的两个不同数据,被两个不同CPU锁定,产生互相影响的伪共享问题伪共享问题:JUC/c_028_F...原创 2020-03-24 17:17:45 · 264 阅读 · 0 评论 -
类加载过程及类加载器
一、类加载过程(初始化)Loading类加载采用双亲委派机制(主要出于安全来考虑)类加载器说明LazyLoading 五种情况new getstatic putstatic invokestatic指令,访问final变量除外java.lang.reflect对类进行反射调用时初始化子类的时候,父类首先初始化虚拟机启动时,被执行的主类必须初始化动态语言支持j...原创 2020-03-23 11:14:28 · 149 阅读 · 0 评论 -
CLASS文件结构
查看16进制格式的ClassFilesubline / notepadIDEA插件 - binEdclass文件各部分内容代表内容观察ByteCode方法JDK自带工具 javapjavap命令,显示class信息,详细如下:C:\>javap D:\idea_gitlab_workspace\test111\out\production\test111\com\xi...原创 2020-03-23 10:36:18 · 291 阅读 · 0 评论