
深入理解Java虚拟机
向阳的葵花饼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM 垃圾收集算法
1. 标记 - 清除算法算法思想算法分为 ”标记“ 和 ”清除“ 两个阶段:标记出所有需要回收的对象。在标记完成后统一回收掉所有被标记的对象。注:(标记过程)如果对象在进行根搜索后发现与GC Roots 相连接的引用链,那它将会被第一次标记并且进行一次筛选。筛选条件是此对象是否有必要执行 finalize() 方法。当对象没有覆盖 finalize() 方法,或者 fina...原创 2020-01-08 11:06:52 · 204 阅读 · 0 评论 -
对象已死?
堆中几乎存放着 Java 世界中所有的对象实例,垃圾收集器在对对进行回收前,第一件事情就是要确定这些对象哪些还 “存活“着,哪些已经”死去”。1. 引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它是,计数器值就加1,引用失效是,计数器值就减1,任何时刻计算器都为 0 的对象就是不可能再被使用的。但是 Java 语言中并没有引用计数算法来管理内存,因为它很难解决对象之间相互循环...原创 2020-01-08 01:01:02 · 215 阅读 · 0 评论 -
Java 对象的创建和访问
1. 对象的创建Java 中对象的创建就是在堆上分配内存空间的过程,下面主要是针对 new 关键字创建的普通 Java 对象。包括以下过程:检测类是否被加载为对象分配内存为分配的内存空间初始化零值对对象进行其他设置执行init方法检测类是否被加载虚拟机遇到一条 new 指令时,会先去常量池中查找这个类的符号引用。如果能找到符号引用,说明此类已经被加载到方法区,可以继续执行;如果...原创 2020-01-06 00:04:14 · 205 阅读 · 0 评论 -
Java 运行时数据区
1. HotSpot JVM最上层:javac 编译器将编译好的字节码class文件,通过java类加载机制,把对象或class文件存放在jvm划分内存区域中间层:运行时数据区域底层:执行引擎(包含模块 JIT(Just in time) 即时编译器 + GC(Garbage Colletctor) 垃圾回收器)2. Java 运行时数据区2.1 程序计数器程序计数器是一块比...原创 2020-01-05 18:57:30 · 183 阅读 · 0 评论 -
类加载机制
概述Class 文件中描述的各种信息,都要加载到虚拟机中之后才能被运行和使用。而虚拟机如何加载这些Class文件?Class文件中的信息进入到虚拟机后会发生什么变化?虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java 类型,这既是虚拟机的类加载机制。在 Java 语言中,类型的加载和连接过程都是在程序运行期间完成的,...原创 2020-01-05 00:57:58 · 113 阅读 · 0 评论 -
Class 文件格式详解
概述Write once, run everywhere!,我们都知道这是 Java 著名的宣传口号。不同的操作系统,不同的 CPU 具有不同的指令集,如何做到平台无关性,依靠的就是 Java 虚拟机。计算机永远只能识别 0 和 1组成的二进制文件,虚拟机就是我们编写的代码和计算机之间的桥梁。虚拟机将我们编写的 .java 源程序文件编译为 字节码 格式的 .class 文件,字节码是各种虚拟机...原创 2020-01-02 22:09:13 · 927 阅读 · 0 评论 -
Java 虚拟机栈(JVM Stacks)
Java 虚拟机栈参考博客文章:https://zhuanlan.zhihu.com/p/45354152https://blog.youkuaiyun.com/AAA821/article/details/78233927概述和程序计数器一样,Java 虚拟机栈也是线程私有的,它的生命周期与线程相同。虚拟机栈描述的是 Java 方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧(...转载 2019-12-22 21:18:12 · 328 阅读 · 0 评论 -
Java 程序计数器
程序计数器1. 概述程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在概念模型中,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要这个计数器来完成Java 虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多喝处理...原创 2019-12-21 12:22:04 · 541 阅读 · 0 评论