排序
2.1.3 类加载器的分类
类加载器的分类 分类 无论类加载器的类型如何划分,在程序中我们最常见的类加载器始终只有三个,如下所示: 启动类加载器 负责加载JAVA_HOME/lib目录下的可以被虚拟机识别(通过文件名称,比如r...
2.2.5 本地方法栈
本地方法栈 一、本地方法栈在运行时数据区中的位置 二、定义 Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法的调用 本地方法栈,也是线程私有的。 允许被实现成固定或者是...
2.6.4 锁优化
锁优化 高效并发是JDK5升级到JDK6后一项重要的改进,HotSpot虚拟机开发团队在这个版本上花费了巨大的资源去实现各种锁优化。比如,自旋锁,自适应自旋锁,锁消除,锁膨胀,轻量级锁,偏向锁等。...
2.1.4 类加载的常用方法
类加载的常用方法 常用方法 ClassLoader类,它是一个抽象类,其后所有的类加载器都继承自ClassLoader(不包括启动类加载器) 方法名称 描述 getParent() 返回该类加载器的超类加载器 loadClas...
2.6.3 Java线程安全-JVM角度解析
Java线程安全-JVM角度解析 线程安全 当多个线程同时访问一个对象,如果不用考虑这些线程在运行环境下的调度和交替执行,也不需要考虑额外的同步,或者在调用方法时进行一些其他的协作,调用这个...
2.2.8 对象的实例化
对象的实例化内存布局与访问定位+直接内存 一、对象的实例化 1、创建对象的方式 new 最常见的方式 变形1 : Xxx的静态方法 变形2 : XxBuilder/XxoxFactory的静态方法 Class的newInstance():...
2.2.3 虚拟机栈
虚拟机栈 一、虚拟机栈概述 1、背景 由于跨平台性的设计,java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 优点是跨平台,指令集小,编译器容易实现,缺点是...
2.1.6 沙箱安全机制
一、沙箱安全机制 1、定义: 自定义String类,但是在加载自定义String类的时候会率先使用引导类加载器加载, 而引导类加载器在加载过程中会先加载jdk自带的文件(rt.jar包中的java\lang\String.c...
2.1.5 双亲委派机制
双亲委派机制 介绍 Java虚拟机对class文件采用的是按需加载的方式, 也就是说当需要使用该类时才会将它的class文件加载到内存生成的class对象。 而且加载某个类的class文件时,java虚拟机采用的...
2.1.1 类加载子系统概述
类加载子系统 代码编译的结果从本地机器指令码转化为字节码,是存储格式发展的一小步,但却是编程语言发展的一大步—— 《深入理解JVM虚拟机》周志明·著 Java虚拟机将描述类的数据从class字节...