JVM
DreamMakers
凡办大事,以识为主,以才为辅,凡成大事,人谋居半,天意居半。
展开
-
【深入Java虚拟机】之一:Java内存区域与内存溢出
今天看到一个关于虚拟机相关的专栏,觉得写得不错,在这里转载一下,一方面自己学习一下,另一方面也给关注我的朋友参考一下。转载地址:https://blog.csdn.net/ns_code/article/details/17565503内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个...转载 2019-06-06 21:43:28 · 287 阅读 · 0 评论 -
【深入Java虚拟机】之二:Class类文件结构
转载地址:https://blog.csdn.net/ns_code/article/details/17675609平台无关性 Java是与平台无关的语言,这得益于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现。不仅使用Java编译器可以把Java代码编译成存储字节码的Class文件,使用JRuby等其他语言的编译器也可以把程序代码编译...转载 2019-06-06 21:43:48 · 220 阅读 · 0 评论 -
【深入Java虚拟机】之三:类初始化
转载地址:https://blog.csdn.net/ns_code/article/details/17845821类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化: (1)遇到new、getstatic、putstatic、invokestatic这四条字节码指令时,如果类还没...转载 2019-06-06 21:56:08 · 175 阅读 · 0 评论 -
【深入Java虚拟机】之四:类加载机制
转载地址:https://blog.csdn.net/ns_code/article/details/17881581类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证...转载 2019-06-06 21:56:27 · 229 阅读 · 0 评论 -
【深入Java虚拟机】之五:多态性实现机制——静态分派与动态分派
转载地址:https://blog.csdn.net/ns_code/article/details/17965867方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称...转载 2019-06-06 21:56:44 · 266 阅读 · 0 评论 -
【深入Java虚拟机】之六:Java语法糖
转载地址:https://blog.csdn.net/ns_code/article/details/18011009语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家Peter.J.Landin发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。Java中最常用的语法糖主要有泛型、变长参数、条件编译、自动拆装箱、...转载 2019-06-07 22:26:32 · 224 阅读 · 0 评论 -
【深入Java虚拟机】之七:Javac编译与JIT编译
转载地址:https://blog.csdn.net/ns_code/article/details/18009455编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现。很容易看出,上图中间的那条分支是解释执行的过程(即一条字...转载 2019-06-08 10:42:07 · 237 阅读 · 0 评论 -
【深入Java虚拟机】之八:Java垃圾收集机制
转载地址:https://blog.csdn.net/ns_code/article/details/18076173对象引用 Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例。谈到Java堆中的垃圾回收,自然要谈到引用。在JDK1.2之前,Java中的引用定义很很纯粹:如果reference类型的数据中存储的数值代表的是另外一块内存的起...转载 2019-06-08 10:50:03 · 268 阅读 · 0 评论