Java虚拟机
wu-yy
这个作者很懒,什么都没留下…
展开
-
深入理解java虚拟机之java内存区域
java虚拟机在执行java程序的时候会把它所管理的内存分为多个不同的区域,每个区域都有不同的作用,以及由各自的生命周期,有些随着虚拟机进行的启动而存在,有些区域则依赖于用户线程的启动或结束而建立或销毁等。在《java虚拟机规范(Java SE7版)》中规定,java内存分为以下一种,如图所示: 1、程序计数器 程序计数器(Program Counter Register)是一个内存较小...原创 2019-04-26 16:40:35 · 109 阅读 · 0 评论 -
深入理解java虚拟机之垃圾收集器
Java一个重要的优势就是通过垃圾管理器GC (Garbage Collection)自动管理和回收内存,程序员无需通过调用方法来释放内存。也因此很好多的程序员可能会认为Java程序不会出现内存泄漏的问题,这种想法是不对的,当我们对内存使用不当的时候仍然可能会出现内存泄漏,并且问题相对与c++来说更隐秘,问题的根源排查起来也比较困难。不过,当我们了解了Java虚拟机内存区域,Java垃圾收集器之后...原创 2019-04-29 18:27:57 · 142 阅读 · 0 评论 -
深入理解java虚拟机之垃圾收集器
前言如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同的版本的虚拟机所提供的垃圾收集器都有可能会有很大的区别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。 相关系列博客:深入理解java虚拟机之java内存区域深入理解java虚拟机之对象真的死了...原创 2019-05-09 23:56:37 · 145 阅读 · 0 评论 -
Java垃圾收集算法
由于垃圾收集算法的实现涉及大量的程序细节,而且每个平台的虚拟机操作内存的方法又各不相同,因此博客中不过多的讨论算法的实现,只是介绍几种算法的思想以及发展。相关阅读:1、深入理解java虚拟机之java内存区域2、深入理解java虚拟机之对象真的死了吗1、标记-清除算法 标记清除算法分为“标记”和“清除”两个阶段,首先先标记出那些对象需要被回收,在标记完成后会对这些被标记了的对象进行回收...原创 2019-05-07 17:46:13 · 91 阅读 · 0 评论 -
Java类文件结构,看这篇文章就够了
一、前言代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。经过多年的发展,目前的计算机仍然只能识别0和1,但是由于近10年内虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋般出现并蓬勃发展,将我们编写的程序编译成二进制本地机器码(Native Code)已不再是唯一的选择,越来越多的程序语言选择了操作系统和机器指令集无关的、平台中立的格式作为程序编译后的...原创 2019-06-01 03:11:41 · 377 阅读 · 0 评论