![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 75
Java超神之路
这个作者很懒,什么都没留下…
展开
-
JVM-垃圾回收
对象在年轻代移动过程 对象→Eden区→m 新生代收集器: seiel收集器:单核处理器最优。垃圾收集运行时候stop the world 只有垃圾收集器线程运行,其他线程处于安全点,也就是在内核态。垃圾收集器处于用户态。 parNew收集器:除了多线程,其他和seiel一模一样。 parllar scanvege: 标记复制算法。关注吞吐量,达成控制吞吐量的垃圾收集器。吞吐量= 运行时间/(运行时间+垃圾收集时间) 涉及参数: 吞吐量,最大垃圾收集时间。 怎么处理:多次运行mina GC,到时间就停止原创 2022-02-27 22:43:19 · 90 阅读 · 0 评论 -
Java逃逸分析
逃逸分析 创建对象不一定都在堆上,比如循环创建对象,可能有的会在线程栈空间上创建 这就发生了逃逸,解析执行器/jit做的优化,分析当前线程没有用到。原创 2022-02-15 16:47:30 · 82 阅读 · 0 评论 -
JVM-虚拟机
虚拟机栈(线程栈):存放局部变量表 【还有对象引用地址(指向堆)】,操作数栈(加减的…等操作的值和结果临时存放),动态链接(找方法区(元空间)地址),方法出口(返回调用此方法的位置) 程序计数器:存放程序执行的位置(地址)(多线程 程序执行可能被挂起,需要记录执行到哪里了) 本地方法栈:native方法 方法区(元空间):常量,静态变量,类信息 堆:new出来的对象 字节码引擎修改程序计数器的值 ...原创 2022-02-24 16:00:10 · 595 阅读 · 0 评论