java面试基础篇之JVM(更新中...)

本文详细介绍了JVM的工作原理,包括类加载子系统、运行时数据区、垃圾回收系统和执行引擎。讨论了分代回收策略,新生代与老年代的垃圾收集算法。对比了CMS和G1垃圾收集器的差异,强调了它们对停顿时间的优化。此外,还阐述了Java对象从创建到结束的生命周期,字符串常量池的管理,以及双亲委派模型在类加载中的作用。最后,详述了Java堆中对象创建的全过程,包括类加载、内存分配、初始化等步骤。
摘要由CSDN通过智能技术生成
  • 该整理有markdown文件,需要的联系邮箱commonsstring@yeah.net

  • 讲一下JVM

    定义:java虚拟机是能够提供java程序的运行环境,屏蔽了与具体操作系统平台相关的信息,java程序只需要生成字节码便可以在不同的平台借助虚拟机运行。即借助虚拟机,字节码可跨平台。

    系统架构:类加载子系统、运行时数据区、直接内存、垃圾回收系统、执行引擎。

  • 讲一下JVM的分代回收以及具体算法

    分代回收意义:分代即在JVM运行时数据区中的java堆中,按照对象的生命周期分为新生代老年代。所以,按照生命周期和在堆中的位置不同,在GC的时候应当采取不同的回收策略,可以提高回收效率。

    具体算法:新生代存活对象较少,一般使用复制算法。老年代存活对象较多,一般使用标志清除法标志压缩法

  • 讲一下JVM垃圾收集器,G1和CMS区别

    堆空间上分配的不同

    1. CMS收集器:将堆空间分成Eden、Servivor、old,并且他们是固定大小,JVM启动的时候设定且不能改变。

    2. G1收集器:将堆空间分成多个大小相同的Region区域,逻辑上分Eden/Servivor、old,且大小是可变的,每次会根据GC的信息做出调

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值