1.this指针:内部有个指针指向自己
2.super指针:内部有个指针指向父类部分
3.方法存放于代码区:方法调用时,a.fun()可能会被转换为fun(a),以此将对象传递给函数,同时方法知道调用者是对象a
4.static方法:没有this指针
5.finalize():GC回收前先调用一次本方法,下次才进行内存回收,可以用于终结条件(如:判断文件是否安全关闭)
6.GC:找到存活对象
①引用计数:无法解决对象互相引用问题
②从堆栈或者静态存储区进行扫描:引用链--由于访问过的对象为活的,同时形成了树状结构,不会重复计算已引用对象,所以解决了互相引用问题
7.GC:处理存活对象
①停止-复制
②标记-清扫:根据思路②,标记活对象,标记完,释放死对象,整理活对象,适用于垃圾较少的时刻
③自适应、分代的、停止-复制、标记-清扫式垃圾回收器
8.JIT编译器技术:将程序全部或部分编译为本地机器码(本为JVM功能)以增加效率
9.对象创建过程:
①定位class文件;
②载入class文件,创建Class对象,执行静态初始化;
③在堆上分配存储空间;
④内存清0;
⑤执行域初始化动作;
⑥执行构造器;
10.classpath:指定类目录