https://i.ancii.com/chenruiyz/
ChenRuiyz chenruiyz
Ta还没有发布动态 ...
类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。主要包括四种验证,文件格式验证,元数据验证,
是一块较小的内存,是当前线程所执行的字节码的行号指示器。是Java虚拟机规范中唯一没有规定OOM的区域。生命周期和线程相同。是Java方法执行的内存模型。执行每个方法都会创建一个栈帧,用于存储局部变量和操作数。局部变量所需要的内存空间大小在编译期间完成分配
JVM 会对字节流进行文件格式校验,判断其是否符合 JVM 规范,是否能被当前版本的虚拟机处理。JVM 会对代码组成的数据流和控制流进行校验,确保 JVM 运行该字节码文件后不会出现致命错误。当通过准备阶段之后,JVM 针对类或接口、字段、类方法、接口方法
类收到了加载请求时,它是不会先自己去尝试加载的,而是委派给父类去完成,只有当父类加载器都反馈自己无法完成这个请求时,子类加载器才会自行尝试加载。这样做的好处是,加载位于rt.jar包中的类时不管是哪个加载器加载,最终都会委托到BootStrap Class
强引用是默认支持,当内存不足的时候,JVM开始垃圾回收,对于强引用的对象,就算是出现了OOM也不会回收对象。因此强引用是造成Java内存泄漏的主要原因之一。对于一个普通对象,如果没有其他引用关系,只要超过了引用的作用域或者显式地将相应的强引用赋值为null
0 关注 0 粉丝 0 动态
Copyright © 2013 - 2019 Ancii.com
京ICP备18063983号-5 京公网安备11010802014868号