
Java虚拟机
文章平均质量分 90
sun cat
只有让自己变得更优秀,才无所畏惧
展开
-
java虚拟机的特性
(1)移植性无论是GC还是Hotspot都可以用在任何Java可用的地方。比方说,JRuby可以运行在其他平台上,Rails应用就可以运行在IBM主机上的JRuby上,而且这台IBM主机运行的是CP/CMS。实际上,由于Java和OpenJDK项目的开源,我们正在看到越来越多的平台的衍生,因此JVM的移植性也将越来越棒。(2)成熟JVM已有超过15年的历史,在过去的这些年里,许多开发者...原创 2019-07-19 22:51:30 · 1142 阅读 · 0 评论 -
谈谈对jvm的理解
一、JVM介绍:JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字...原创 2019-07-19 22:55:23 · 7120 阅读 · 0 评论 -
JVM内存区域,开线程影响哪块内存
JVM运行时数据区概括地说来:JVM初始运行的时候都会分配好Method Area(方法区)和Heap(堆),而JVM 每遇到一个线程,就为其分配一个Program Counter Register(程序计数器), VM Stack(虚拟机栈)和Native Method Stack (本地方法栈),当线程终止时,三者(虚拟机栈,本地方法栈和程序计数器)所占用的内存空间也会被释放掉。...原创 2019-07-19 22:57:49 · 3878 阅读 · 0 评论 -
JVM内存模型,内存区域
JVM的内存区域划分由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程:如上图所示,首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎...原创 2019-07-25 12:53:45 · 865 阅读 · 0 评论 -
类加载机制
Class 文件被 JVM 加载至 JVM内存,在内存中验证、解析、初始化之后,形成可以被 JVM 直接使用的 Java类型。这就是类加载的简要过程。类的加载过程是在 Java程序运行期间完成,虽然会损耗一部分性能,但是提高了Java语言的灵活性,体现在动态扩展方面,例如:多态(晚期绑定)。一、类加载的时机类的生命周期类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生...原创 2019-07-25 12:56:42 · 269 阅读 · 0 评论 -
谈谈对ClassLoader(类加载器)的理解
一、类装载流程1、加载加载是类装载的第一步,首先通过class文件的路径读取到二进制流,并解析二进制流将里面的元数据(类型、常量等)载入到方法区,在java堆中生成对应的java.lang.Class对象。2、连接连接过程又分为3步,验证、准备、解析2.1、验证验证的主要目的就是判断class文件的合法性,比如class文件一定是以0xCAFEBABE开头的,另外对版本...原创 2019-07-25 13:01:05 · 1373 阅读 · 0 评论