面试(五) JVM

Java虚拟机:运行在Java编译器和OS平台之间的虚拟处理器。.java文件首先由Java编译器编译成二进制指令的.class文件,然后由类加载器读入Java内存中,然后由执行引擎(解释器)将这些指令解释给操作系统执行。


内存模型:①程序计数器,记录每个线程下一个执行的指令;②JVM栈:局部变量等;③本地方法栈:调用本地CC++,依赖JNI;④堆:new的对象,静态变量等;⑤方法区:方法。①②③线程独有,④⑤线程共享


Java垃圾回收机制:回收在堆中开辟出来的对象。(强引用不回收,软引用在内存满回收,弱引用、虚引用回收)。


垃圾回收算法:①标记-清除:先扫一遍,标记存活的对象,再扫一遍,回收未标记的对象;②复制:扫描时将存活的对象复制到新空间(使用存货对象少,即新生代多);③标记-整理法:先扫一遍,标记存活对象,再扫一遍回收未标记时整理标记过的,解决了碎片问题(老年代多);④分代收集:新生代复制,老年代标记整理。


内存泄漏:不在使用的对象所占的内存没有被释放掉。如静态集合类的使用,缓存,各种连接(SocketI/O)没有close()。当出现outofmemory一般是内存泄漏的提醒。可用专业的工具去检查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值