jvm内存分配策略与回收策论
- 对象直接放到eden区,eden区放不下进行一次minor gc将新生代对象放到老生代
- 大对象直接放入老年代,通过参数设置阈值
- 长期存活的对象放入老年代,默认15岁放入
- 同龄加大龄超过survior一半,直接放入看年代
class文件结构
- 以字节为单位存储,分为无符号书和表两种结构,表是无符号数和其他表组成的
- 存储顺序:
- 魔数
- 版本号
- 常量池,包括字面量(final常量和字符串)和符号引用(类名,方法名,字段名)
- 访问标识符
- 类索引,父类索引,接口索引,对应常量池的符号引用的内容
- 字段表集合,包括字符修饰符,名称索引,描述索引
- 方法表集合,类似字段表
- 属性表,可以存在类文件,字段表,方法表,包含众多属性
字节码指令
- 不超过256条
- 加载和存储指令
- 运算指令
- 类型转换指令
- 对象创建和访问指令
- 操作数栈管理指令
- 5控制转移指令
- 方法调用和返回指令
- 异常处理指令
- 同步指令