JVM
丨落叶
这个作者很懒,什么都没留下…
展开
-
Java 运行时数据区域
本文是在学习深入理解Java虚拟机时做的笔记。Java允许时数据区域分为六部分:程序计数器、Java虚拟机栈、方法栈、堆、方法区、直接内存。程序计数器(注1):是一块很小的内存区域,可以看做字节码执行的行号指示器。程序通过改变程序技术器的字节码,字节码解释器(注2)工作时,通过改变计数器的值选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等通过计数器实现。线程私有,虚拟机规范中...原创 2018-03-03 11:56:01 · 189 阅读 · 0 评论 -
HotSpot创建对象探秘
虚拟机中执行new执行的过程1、在常量池中检查存在这个类的符号引用。(找不到就抛出ClassNotFoundException)2、检查这个符号引用对应的Class是否被加载、解析、初始化过等。如果没有就进行初始化 (注1)3、为对象在堆中进行内存分配,(所需要的内存大小已经在类加载过程中确定,都是固定大小)(注2)4、虚拟机要对对象进行必要的设置;如这个对象是哪个类的实例、如何才能找到类的元数据...原创 2018-03-03 12:40:49 · 168 阅读 · 0 评论 -
jvm系列(一):java类的加载机制
本文转自: 纯洁的微笑 ,感谢作者辛苦整理,转载为了自己更好的学习 1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的 Class对象, Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访...转载 2018-11-16 17:04:25 · 118 阅读 · 0 评论