jvm
qq_41642608
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
类加载器
jvm给我们的权利 在类的加载过程中,jvm的开发者在获取类的二进制流这一步给了我们很大的自由度,并没限制我们怎样获取类的二进制流,我们可以通过各种方式去获取这个类的二进制流,只要这个类的二进制流是正确的,jvm就可以加载并在内存中生成相应的类供用户使用,所以我们可以自定义我们自己的类加载器。 jvm的类加载器 jvm本身也提供了3个类加载器,并且他们之间是存在父子关系的。 这3个类加载器分别是...原创 2019-06-13 12:33:04 · 114 阅读 · 0 评论 -
深入理解Java虚拟机----内存区域与溢出
为什么要学虚拟机的内存模型 最近学习了jvm虚拟机的内存模型,开始学习时,我就像一只填鸭,书上写什么就接受什么,学完了也只是理解了一到两成的知识。所以我现在想带着我的疑问去学习,首先为什么我们需要学习jvm虚拟机的内存模型? 内存顾名思义就是存放东西的,存放的是程序运行时的数据。那既然内存是存放东西的话,那我们就要清楚把数据怎么去放到内存,用的时候怎么从内存中拿回来。所以学习jvm虚拟机的内存模型...原创 2019-06-10 16:38:36 · 166 阅读 · 0 评论 -
类加载进虚拟机的过程
类加载进虚拟机的过程 class文件加载校验准备解析初始化 这个顺序只是表示按顺序开始,但不是一个步骤结束才开始另一个步骤,步骤之间是交错运行的。 加载 完成三件事: 1.找到class文件,读取进内存。 2.按一定的数据结构放入方法区。 3.在堆中生成class对象。 在这个过程中,找到class文件,读取进内存这一步我们有很大的控制权限,任何形式获取class文件二进制流都是可以的,只要我们...原创 2019-06-11 10:59:02 · 278 阅读 · 0 评论 -
虚拟机字节码执行引擎
栈帧 局部变量 方法体内的变量是保存在这里,大小由编译时决定,保存在class文件中,并且这个可以复用 操作数栈 给指令用的,保存这个指令的参数 动态链接 解析 分派 返回地址 正常 不正常 ...原创 2019-06-17 10:02:02 · 102 阅读 · 0 评论 -
jvm--方法调用
这里我们学习的是实际方法的地址入口与符号引用是怎么转换的。 首先我们来看一个源码和他的字节码。 从代码块的字节码可以看出,invoke指令后面跟的是字符引用,所以这里需要把字符引用转为方法块的入口地址。这里的转换是有一定规则。下面让我们来看看这些规则。 1.实际方法的方法名称、参数类型、返回类型是在编译期决定。 可以看到invoke后面的字符引用是。(分派) 2.静态方法、初始化函数、类的私有函数...原创 2019-06-17 11:23:25 · 94 阅读 · 0 评论
分享