
java虚拟机
即刻实现工作室
Above all, don't lose hope.
展开
-
java内存区域与内存溢出异常
java内存模型根据java虚拟机规范,java虚拟机所管理的内存将会包括以下几个运行时数据区域:1.程序计数器(PC) :是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器都只会执行一条线程中的指令。因此,为了线程切换后能够恢复到正确的执行位置,每条...原创 2018-09-12 20:54:32 · 240 阅读 · 0 评论 -
HotSpot虚拟机在java堆中对象的分配、布局和访问
一.对象的创建二.对象的内存布局(一个对象在内存中是怎样存储的)在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头、实例数据和对齐填充HotSpot虚拟机的对象头包括两部分信息:第一部分是用于存储对象自身的运行时数据,如哈希码、GC分代年龄、锁状态标注、线程持有的锁等。另一部分是类型指针,即对象指向它的雷院数据的指针,虚拟机通过这个指针来确定这个对象是那个类的...原创 2018-09-12 21:46:23 · 580 阅读 · 0 评论 -
java中分代思想
文章出处:http://ifeve.com/jvm-yong-generation/聊聊JVM的年轻代1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如...转载 2018-09-29 19:27:44 · 231 阅读 · 0 评论 -
JVM垃圾收集器与内存分配策略
注:该博客或为自己所写,以供学习之用注:博客中部分来源于《深入理解java虚拟机》一.垃圾收集器关注的问题1.哪些内存需要回收? java GC主要关注的是堆内存区2.什么时候回收?3.如何回收?二.判断对象是否存活的算法1.引用计数器算法算法思想:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器的值就减1;任何时刻...原创 2019-01-22 12:29:31 · 236 阅读 · 0 评论