JVM是什么:是操作系统上Java运行的环境。
JVM内存结构模型:
调优和垃圾回收都是在堆里的
双亲委派:各种类加载器是层级关系,Java文件首先会给父类加载,类加载器实际上就是很多jar包,每个类加载器会检查自己的jar包是否可以处理Java文件,不可以会给下一层,如果都不可以就会抛出异常class not found.
沙箱:把Java代码限制在JVM内运行,限制其访问资源,实现对代码的隔离,保证安全性
实例化对象的过程:在栈里丢进去对象名字,然后在堆里实例化一个对象,栈里的引用指向堆里的对象,就是实例化对象的过程
对象首先在eden区创建,然后在eden满了后会触发minor GC,如果还存活,就会来到幸存者区,分成from,to,存活对象在from,to之间移动并发生GC(这里用到复制算法),在经历一定次数的GC后还存活,就会转移到老年代。
永久区:存jdk自带的对象,没有垃圾回收,关闭虚拟机后会释放内存。
栈帧:用来保存函数的返回地址和局部变量,给函数提供一个执行的环境。
年轻代存活率低,用复制算法。
老年代存活率高,用标记清除和整理综合使用。
标签:Java,对象,实例,GC,JVM,加载 From: https://www.cnblogs.com/doudou666/p/18371603