
jvm学习
走了两万五千里的钉子
非宁静无以致远
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java进阶之虚拟机《二》:Class类文件结构
转载自:http://blog.youkuaiyun.com/ns_code/article/details/17675609 平台无关性 Java是与平台无关的语言,这得益于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现。不仅使用Java编译器可以把Java代码编译成存储字节码的Class文件,使用JRuby等其他语言的编译器也可以把程序代码编译成Class转载 2017-08-10 09:40:30 · 269 阅读 · 0 评论 -
Java进阶之虚拟机《三》:类初始化
【深入Java虚拟机】之三:类初始化 转载自:http://blog.youkuaiyun.com/ns_code/article/details/17845821 类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化:遇到new、getstatic、pu转载 2017-08-11 14:58:13 · 252 阅读 · 0 评论 -
Java进阶之虚拟机《四》:类加载机制
java进阶之虚拟机《四》:类加载机制 转载自:http://blog.youkuaiyun.com/ns_code/article/details/17881581 类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示:转载 2017-08-11 15:06:53 · 328 阅读 · 0 评论 -
Java进阶之虚拟机《五》:多态性实现机制--静态分派与动态分派
【深入Java虚拟机】之五:多态性实现机制——静态分派与动态分派 转载自:http://blog.youkuaiyun.com/ns_code/article/details/17965867 方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给转载 2017-08-11 16:31:49 · 419 阅读 · 0 评论 -
Java进阶之虚拟机《一》:Java内存区域与内存溢出
转载自:http://blog.youkuaiyun.com/ns_code/article/details/17565503内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储的数据类型。 程序计数器(Pr转载 2017-08-09 21:26:38 · 271 阅读 · 1 评论 -
Java进阶之虚拟机《六》:javac编译与jit编译
Java进阶之虚拟机《七》:Javac编译与JIT编译 转载自:http://blog.youkuaiyun.com/ns_code/article/details/18009455编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行:转载 2017-08-11 17:21:12 · 492 阅读 · 0 评论 -
Java进阶之虚拟机《七》:垃圾回收机制
Java进阶之虚拟机《八》:Java垃圾收集机制 原文:http://blog.youkuaiyun.com/ns_code/article/details/18076173对象引用 Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例。谈到Java堆中的垃圾回收,自然要谈到引用。在JDK1.2之前,Java转载 2017-08-11 17:25:34 · 436 阅读 · 0 评论