1. JVM为以下内容提供定义:
一套指令系统
一组寄存器
类文件格式
堆栈
垃圾回收堆
内存区
致命错误报告
高精度定时支持
JVM执行三个任务
加载代码
校验代码
执行代码
2. 类加载器
加载程序执行需要的全部类
将本地文件系统的类保存在单独的命名空间中
3. 数据存放在什么地方?
栈Stack
。基本类型数据
。对象的引用句柄
。每个线程都有一个栈
。栈内数据都是私有的
。方法执行完后自动回收内存空间
堆Heap:
。存储的全都是对象
。JVM只有一个堆空间
。堆的数据可被所有线程共享
。由系统GC来回收内存空间
4. 基本类型和引用类型
基本类型
变量直接包含了具体的值,存储在栈(Stack)中,存取比引用类型高效
引用(Reference)类型
new出来的对象被放置在堆(Heap)中,变量实际是指向一个对象的句柄