-
该整理有markdown文件,需要的联系邮箱commonsstring@yeah.net
-
讲一下JVM
定义
:java虚拟机是能够提供java程序的运行环境,屏蔽了与具体操作系统平台相关的信息,java程序只需要生成字节码
便可以在不同的平台借助虚拟机运行。即借助虚拟机,字节码可跨平台。系统架构
:类加载子系统、运行时数据区、直接内存、垃圾回收系统、执行引擎。 -
讲一下JVM的分代回收以及具体算法
分代回收意义
:分代即在JVM运行时数据区中的java堆中,按照对象的生命周期分为新生代
和老年代
。所以,按照生命周期和在堆中的位置不同,在GC的时候应当采取不同的回收策略,可以提高回收效率。具体算法
:新生代存活对象较少,一般使用复制算法
。老年代存活对象较多,一般使用标志清除法
和标志压缩法
。 -
讲一下JVM垃圾收集器,G1和CMS区别
堆空间上分配的不同
:-
CMS收集器
:将堆空间分成Eden、Servivor、old
,并且他们是固定大小,JVM启动的时候设定且不能改变。 -
G1收集器
:将堆空间分成多个大小相同的Region
区域,逻辑上分Eden/Servivor、old,且大小是可变的,每次会根据GC的信息做出调
-
java面试基础篇之JVM(更新中...)
最新推荐文章于 2024-08-15 11:14:10 发布
本文详细介绍了JVM的工作原理,包括类加载子系统、运行时数据区、垃圾回收系统和执行引擎。讨论了分代回收策略,新生代与老年代的垃圾收集算法。对比了CMS和G1垃圾收集器的差异,强调了它们对停顿时间的优化。此外,还阐述了Java对象从创建到结束的生命周期,字符串常量池的管理,以及双亲委派模型在类加载中的作用。最后,详述了Java堆中对象创建的全过程,包括类加载、内存分配、初始化等步骤。
摘要由CSDN通过智能技术生成