jvm内存模型
包括
本地方法栈,虚拟机栈,
堆:保存对象,数组
程序计数器:指出了进程下一条指令的位置,线程切换后恢复到正确位置)
元空间:保存类信息,常量,静态变量
java内存泄漏常见 : 静态变量,事件监听没有关闭
内存溢出: 栈溢出, 堆溢出
堆:
新生代
eden区 --- minor GC----> , (S0,S1)
老年代
major GC ,频率较低
实例方法调用:通过对象的类信息,在类的方法表中找到方法的内存地址
静态方法直接到类的方法表
双亲委派模型保证了一个类只会被加载器加载一次:安全性,加载效率
创建对象: 类加载,分配内存, 初始化(包括构造方法等)
类加载: 加载,链接,初始化
判断垃圾的方法
引用计数 ,可达性分析(gc root 链条)
垃圾回收方法
标记-清除; 复制 ;标记-整理; 分代回收
回收器: G1(标记-整理) ,cms(标记-清除,主要是老年代)
minor GC ,major GC(主要老年代) , full GC(堆所有)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步