首页
学习
活动
专区
工具
TVP
发布

JavaEE

专栏成员
188
文章
216889
阅读量
48
订阅数
java面试题 --- JVM之垃圾回收
1. 为什么要进行垃圾回收? 创建的对象没用时也不进行回收的话,堆内存很快就会被消耗殆尽,所以需要把一些没有用的对象清理掉。 2. JVM GC 分为哪几种? 分为三种,对新生代进行的垃圾回收叫 minor GC,也叫YGC;对老年代进行的垃圾回收叫 major GC;同时对新生代和老年代进行的垃圾回收叫 full GC,简称 FGC。 3. 如何判断一个对象是否可以被回收? 有两种方法判断对象是否可回收,引用计数法和可达性分析算法。 引用计数法就是维护一个计数器,有引用指向对象时就加一,引用失效
贪挽懒月
2022-03-09
2680
java面试题 --- JVM之内存分配
1. JVM 是怎么创建对象的? 首先检查 class 文件是否加载; 然后选择内存的分配方式; 分配内存的过程采用 CAS 和 TLAB 来处理并发问题; 最后执行 init 方法初始化零值。 2. JVM 创建对象的时候怎么分配内存? 根据内存是否规整来决定用什么分配方式。内存规整用指针碰撞,内存不规整用空闲列表。堆内存是否规整取决于采用的垃圾回收方式是否会生成内存碎片,如果会,是否会对内存碎片进行整理。 3. 你知道指针碰撞和空闲列表分别是怎么去分配内存的吗? 指针碰撞就是 JVM 会维护一个指
贪挽懒月
2022-01-11
4150
java面试题 --- JVM之体系结构
1. JVM 由哪些区域构成? 由类加载器和运行时数据区构成;运行时数据区又分为线程私有和线程共享两大区域,线程私有的包括程序计数器、虚拟机栈和本地方法栈,线程共享的包括堆和方法区。 2. 类加载器的作用是什么? 加载 class 文件,生成类的结构信息,将其存放在方法区。 3. 类加载器有哪些种类以及它们之间的关系是什么? Bootstrap ClassLoader,加载 lib 下面的类;Extension ClassLoader,加载扩展类,即 jre/ext 下面的类;Application
贪挽懒月
2021-12-20
3330
java对象的创建过程
所以你知道 new 一个对象的时候做了哪些事,具体过程是怎样的吗?其实主要经历了如下过程:
贪挽懒月
2021-11-29
5620
深入理解synchronized
小白:这是一个java的关键字,用来控制并发的,被它锁住的代码同一时刻只能有一个线程访问。
贪挽懒月
2021-06-21
3980
JVM --- 垃圾回收
那么哪种回收算法最好呢?没有最好,只有最合适。复制算法省时间,但是耗空间,标记整理算法不耗费额外的空间,但是费时间。新生区因为对象存活率底,所以适合用复制算法,而老年区适合用标记清除 + 标记整理。所以JVM垃圾回收算法又称为分代回收算法。
贪挽懒月
2021-03-27
3720
JVM --- 堆&栈&堆参数调优
线程共享的运行时内存区域,它存储了每一个类的结构信息。什么叫类的结构信息,其实就是上一篇讲类加载器时说的类的模板。也就是类的属性、构造器、方法、常量池等。而且,方法区是一种规范,不是具体实现。java7及以前的实现叫永久代,java8开始,方法区的实现叫元空间。
贪挽懒月
2021-03-26
5980
JVM --- 结构体系介绍
JVM是运行在操作系统之上的虚拟机,跟硬件没有直接交互。这也就体现了它跨平台的优越性。只要你这个操作系统能运行JVM,那么就可以运行java程序。
贪挽懒月
2021-03-23
3340
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档