深入理解JVM
文章平均质量分 78
快乐丶未来
这个作者很懒,什么都没留下…
展开
-
jvm虚拟机栈中对象的内存访问定位
通常虚拟机栈中通过对象的引用来直接访问堆中对象的数据。目前主流的访问方式有两种:1.句柄;2.直接指针。一、句柄句柄的方式,就是在java堆中划分出一块内存区域叫做句柄池,用来存放到对象实例的指针,而栈中存放的是句柄池中对应对象的地址。这种方式的好处就是,在频繁的改变java堆中的对象的时候,只需要修改句柄池指向对象的引用就可以,而不需要,修改栈中存放的句柄池中的引用。相当于做了一次中转。...原创 2018-08-09 10:49:40 · 693 阅读 · 0 评论 -
jdk1.8Jvm各个部分OutofMemoryError异常详解
具体解决异常的办法,查看jvm运行时各个部分的内存状态,包括垃圾回收时,内存状态,包括修改了,jvm参数后,参数是否修改成功,可以使用jdk bin下的一些性能监控工具。详情可参考这篇文章https://blog.csdn.net/qq_27224549/article/details/81902117首先:JVM运行时区域包括:程序计数器,虚拟机栈,本地方法栈,java堆,方法区(包含运行时...原创 2018-08-10 10:16:44 · 1980 阅读 · 0 评论 -
java垃圾回收之如何判断对象已死
垃圾回收主要管理的就是java堆,因为虚拟机栈,本地方法栈,都是线程私有的线程消亡,内存自动回收,并且对象在创建过程时,在栈中需要分配多少内存,是明确知道大小的。如何判断java堆中对象已经失去引用,就显得尤为重要。1.引用计数算法为对象添加一个计数器,有引用加1,失去引用,就减1.收集的时候收集,计数器为0的对象。这种算法,不被java虚拟机作为主流的算法所使用,是因为,java中,...原创 2018-08-10 15:08:42 · 936 阅读 · 0 评论 -
Jvm垃圾收集算法
1.标记-清除算法(基础算法)算法分为“标记”和“清除”两个阶段。首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。不足:1.效率问题,标记和清除的效率都不高;2.空间问题,标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能导致以后程序运行过程中,需要分配较大对象时,无法找到足够的连续的内存而不得不提前触发另一次垃圾收集动作。2.复制算法为了解决效率问题,将...原创 2018-08-14 15:33:24 · 172 阅读 · 0 评论 -
JVM内存分配与回收策略
请了解jvm内存各个内存区域划分情况,可参考https://blog.csdn.net/qq_27224549/article/details/81557563对象在JVM内存中的分配,大方向讲是分配在堆中,其次主要分配在堆中的eden区(伊甸园)。其内存分配的具体细节还取决于使用何种的垃圾收集器,以及jvm内存参数如何设定。对象内存算法主要有两种指针碰撞:假设堆的内存是规整的,所有用...原创 2018-08-20 12:43:34 · 199 阅读 · 0 评论 -
java内存模型
java内存模型是来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让java程序在各种平台下都能达到一致的内存访问效果。主要目标:定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存,从内存中取出变量这样的底层细节。这里的变量与java编程中的变量有所区别,这里变量包括实例字段、静态字段、构成数组对象的元素。不包括局部变量和方法参数,因为后者线程私有,不存在共享。java主内存和工作...原创 2018-08-28 16:28:51 · 138 阅读 · 0 评论 -
jdk 1.7和1.8jvm性能监控和故障处理工具
jdk的bin目录下提供了很多jvm的性能监控工具,供我们使用。 jsp 虚拟机进程状况工具 jps (jvm Process Ststus Tool)。功能类似于ps ,列出正在运行的进程。并显示虚拟机主类main函数所在类。jsp -q 只输出LVMIDjps -m 输出jvm启动时,传递给主类main()函数的参数,主要是一些jvm配置信息。jps -l 输出mai...原创 2018-08-22 11:46:21 · 1055 阅读 · 0 评论 -
java线程安全和锁优化
一、线程安全不可变不可变对象一定是线程安全的。当一个不可变对象呗构建出来,没有发生this引用逃逸,在外部的状态永远不会改变。在多线程情况下,也就不会出现不一致的情况。不可变对象,是最简单最纯粹的线程安全。被final修饰的基本数据类型,就是不可变的。不可变对象,对象的行为不会对其产生任何影响。典型的就是String类型,无论如何调用substring,replace等方法,都会返...原创 2018-09-03 18:06:46 · 153 阅读 · 0 评论