
JVM
文章平均质量分 76
丁真的小马
这个作者很懒,什么都没留下…
展开
-
JVM:类加载机制
类是在运行时期第一次使用时动态加载的,而不是编译时期一次性加载。因为如果编译时期一次性加载,那么会占用很多的内存 一、类的加载过程 1.1 加载 将字节码文件加载到方法区(代码块,常量池),并创建该类的class对象 如果此类的父类没有加载,则先加载父类 加载是懒惰执行的 1.2 连接 验证:验证类是否符合jvm规范、合法性、安全性检查 准备:为static变量分配空间,设置默认值 解析:将常量池的符号引用解析为直接引用 1.3 初始化 将静态代码块、static修饰的变量赋值、stati原创 2021-12-29 15:48:35 · 167 阅读 · 0 评论 -
JVM:内存结构
一、程序计数器(底层通过寄存器) 作用:记住下一条jvm指令的执行地址 特点 是线程私有的 不会存在内存溢出(唯一不会出现内存溢出) 二、虚拟机栈 每个线程运行时所需要的内存,成为虚拟机栈 每个栈由多个栈帧组成,栈帧包括每个方法运行时需要的内存(参数、局部变量、返回地址) 每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法(栈顶部) 2.1 问题辨析 1、垃圾回收是否涉及栈内存? 不需要,方法调用栈帧结束自动弹出,不需要垃圾回收,垃圾回收是回收堆内存中的无用对象 2、栈内存分配原创 2021-12-27 23:38:19 · 183 阅读 · 0 评论