运行时数据区
一、数据结构
在运行Java程序时,Java虚拟机需要使用内存来存放各式各样的数据。Java虚拟机规范把这些内存区域叫作运行时数据区。
运行时数据区可以分为两类:一类是多线程共享的,另一类则是线程私有的。
- 多线程共享的运行时数据区需要在Java虚拟机启动时创建好,在Java虚拟机退出时销毁
- 线程私有的运行时数据区则在创建线程时才创建,线程退出时销毁
加载允许一个类,必须把它相关的依赖类也加载进来,比如父类、成员类等。
Java虚拟机规范并没有规定去哪里寻找类,所以不同虚拟机可以采用不同的方法。
Oracle的Java虚拟机是根据类路径(classpath)来搜索类,按照搜索顺序可分为3类:
jre\lib
,即Java标准库(大部分在rt.jar里)所在位置jre\lib\ext
,即Java扩展机制的类所在位置