JVM
febuary_
这个作者很懒,什么都没留下…
展开
-
JVM 垃圾回收机制
JVM基础系列第8讲:JVM 垃圾回收机制Java 虚拟机的内存结构的规范是由《Java 虚拟机规范》指定的,每个 Java 虚拟机可能都有不同的实现。其实涉及到 Java 虚拟机的内存,就不得不谈到 Java 虚拟机的垃圾回收机制。因为内存总是有限的,我们需要一个机制来不断地回收废弃的内存,从而实现内存的循环利用,这样程序才能正常地运转下去。比起 Java 虚拟机的内存结构有《Java ...原创 2019-06-25 09:49:39 · 106 阅读 · 0 评论 -
[深入理解JVM] Java内存区域
Java内存区域JVM具有自动内存管理机制,Java不需要像c/c++一样,为每一个new操作写配对的delete/free代码,不容易出现内存泄露和溢出。JVM所管理的内存区域主要包括以下几个运行时数据区域部分:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。 ...转载 2019-07-02 14:37:15 · 162 阅读 · 0 评论 -
JVM即时编译(JIT)
1. 什么是JIT动态编译(dynamic compilation)指的是“在运行时进行编译”;与之相对的是事前编译(ahead-of-time compilation,简称AOT),也叫静态编译(static compilation)。 JIT编译(just-in-timecompilation)狭义来说是当某段代码即将第一次被执行时进行编译,因而叫“即时编译”。JIT编译是动态编译的一...转载 2019-06-12 10:26:00 · 252 阅读 · 0 评论 -
javac执行过程
1. JVM编译器优化JVM的编译器可以分为三个编译器:前端编译器:把.java转变为.class的过程。如Sun的Javac、Eclipse JDT中的增量式编译器(ECJ)。 JIT编译器:把字节码转变为机器码的过程,如HotSpot VM的C1、C2编译器。 AOT编译器:静态提前编译器,直接将*.java文件编译本地机器代码的过程。2. Javac编译过程Ja...原创 2019-06-12 10:39:24 · 1384 阅读 · 0 评论 -
JVM三种编译器(Javac \ JIT \ AOT)
JVM基础系列第4讲:从源代码到机器码,发生了什么?对于 Java 语言来说,其从源代码到机器码,这中间到底发生了什么呢?如下图所示,编译器可以分为:前端编译器、JIT 编译器和AOT编译器. 1. 前端编译器:源代码到字节码之前我们说到:对于 Java 虚拟机来说,其实际输入的是字节码文件,而不是 Java 文件。那么对于 Java 语言而言,其实怎么将...转载 2019-06-24 17:08:35 · 9389 阅读 · 1 评论 -
JVM类加载机制
JVM 执行 class 字节码的过程可以分为七个阶段:加载、验证、准备、解析、初始化、使用、卸载。阶段 描述 加载 JVM 将字节码从各个位置(网络、磁盘等)转化为二进制字节流加载到内存中,接着为这个类在 JVM 的方法区创建一个对应的 Class 对象 验证 ...原创 2019-06-24 17:56:30 · 109 阅读 · 0 评论