JVM
爱思考的王同学
这个作者很懒,什么都没留下…
展开
-
深入理解JVM虚拟机-JVM内存区域与内存溢出
1.JVM内存区域1.1 程序计数器程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机中,字节码解释器工作时就是通过改变计数器值来选取下一条执行的指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。在任何时刻,一个处理器(内核)都只会执行一条线程中的指令。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计...原创 2019-04-04 17:02:27 · 202 阅读 · 0 评论 -
深入理解JVM虚拟机-Ubuntu中安装openJDK
最近利用闲暇时间看了看《深入理解java虚拟机》来提高自身得知识储备,再这里准备将读书学习到得知识和个人的心得记录下来。首先调整好自己的心态,不要浮躁,因为编译阶段会无限踩坑。1.安装VMware和Ubuntu系统这本书得里用得是Ubuntu系统,在这里我为了少踩坑放弃了之前一直使用得Centos7改为使用Ubuntu。VMware和Ubuntu系统安装比较简单,这里我也是参照一篇博客安装得,...原创 2019-04-02 11:19:59 · 1572 阅读 · 0 评论 -
深入理解JVM虚拟机-对象引用,GC与内存分配回收
1 对象的生存和死亡在堆里面存放着Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象),那在GC是如何判断一个对象是否存活还是死亡呢?1.1 引用计数算法(Reference Counting)很多教科书判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它...原创 2019-04-12 14:05:51 · 170 阅读 · 0 评论