JVM
java虚拟机
二灯法师
https://github.com/morningwn/note
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM虚拟机栈
文章目录概述栈帧局部变量表 概述 虚拟机栈是线程私有的,他的生命周期与线程的相同。 每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧。当方法执行完毕之后,栈帧出栈。 栈帧包括局部变量表、操作数栈、动态链接、方法返回地址等信息。 虚拟机栈中会出现两种异常: StackOverflowError:线程请求的栈的深度大于虚拟机所允许的深度。 OutOfMemoryError:如果虚拟机栈的容量是可以动态扩展的,当栈扩展时无法申请到足够的内存会出现此异常。 栈帧 栈帧是Java虚拟机栈的栈元素,是用原创 2020-09-12 14:55:47 · 129 阅读 · 0 评论 -
JVM程序计数器
文章目录什么是程序计数器存在的意义关于native方法参考 什么是程序计数器 程序计数器可以看作是JVM对CPU程序计数器的一种模拟;其是一块较小的内存空间,用来存储当前线程的所执行的字节码的行号。 注意: 程序计数器是线程私有的,每个线程都有一个自己的程序计数器。 在这块内存空间中不存在任何OutOfMemoryError情况。 存在的意义 虽然Java字节码在未经过即时编译器编译前,是通过字节码解释器解释执行。一行一行的读取、解释、执行,即使存在分支、跳等操作,只要是按照流程执行的,其实不需要程序计原创 2020-09-06 18:55:54 · 201 阅读 · 0 评论 -
JVM类加载过程
文章目录概述加载 概述 Java虚拟机的类加载过程进行细分为:加载、验证、准备、解析、初始化;其中验证、准备、解析三个阶段又通常被统称为链接。 加载 顾名思义,在类的加载过程中,虚拟机主要的任务就是将类从硬盘、网络或者其他的渠道将Java字节码载入到内存中,并将其转为可以供虚拟机调用的数据类型。 主要有以下三个阶段: 通过一个类的全限定名获取此类的二进制字节流; 将这个字节流所代表的静态存储结果转化为方法区运行时的数据结构; 在内存中生成一个代表此类的java.lang.Class对象,作为方法区这个类的原创 2020-08-19 21:27:05 · 229 阅读 · 0 评论
分享