首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
面试题-JVM
扎心柯
创建于2023-02-03
订阅专栏
包含JVM虚拟机相关面试题
暂无订阅
共12篇文章
创建于2023-02-03
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
(面试题)聊聊SPI机制
这个SPI机制非常简单,如果手写过SpringBoot的starter机制,立马就能理解 是什么:SPI机制,简单地说,就是我提供一个接口,多个人提供实现 好处: 让系统变得更加灵活,比如JDBC,可
(面试题)如何打破双亲委派机制
通过SPI机制,通过ServiceLoader.load去加载 通过自定义类加载器,继承ClassLoader,重写loadClass方法。 plus: 这个专栏有详细讲SPI机制的
(面试题)如何自定义一个类加载器
第一步:继承ClassLoader类 第二步:重写findClass方法,从.class文件中读取字节数组,然后使用defineClass将字节数组转化为Class对象 第三步:在Main方法中,使用
(面试题)ClassLoader中重要的方法
LoadClass:双亲委派机制,子加载器委托父类加载器加载,父类加载器加载失败时,子类加载器通过findClass方法自行加载 findClass:没有实现,交给子类实现 defineClass:根
(面试题)双亲委派机制
这个双亲委派机制,每个类加载器都有。所以JDK官方肯定将双亲委派机制代码代码提取到了ClassLoader类中的loadClass方法中,下面说一下主要逻辑。 向上委派:加载这个类的时候会先查找缓存,
(面试题)有哪些类加载器?
BootStrapClassLoader,这是根类加载器,是由C++语言实现的,java语言是获取不到这个类加载器的。这个类加载器一般加载核心类库,比如rt.jar ExtClassLoader,父类
(面试题)讲讲常用的垃圾回收器
JDK8默认使用的是parNew + parOld垃圾回收器,JDK9默认使用的是G1垃圾回收器 parNew,是一个新生代垃圾回收器,使用多线程和复制算法 parOld,是一个老年代垃圾回收器,使用
(面试题)Java中有哪些引用类型
强引用:我们绝大部分使用的都是强引用,比如说我们new出来的对象,通过反射创建的对象都是强引用。当内存不足时,JVM宁愿抛出OOM异常,也不会回收强引用对象 软引用:有用但不是必须,如果发生GC并且内
(面试题)类加载的过程
首先,类加载就是将.class文件加载到内存,在堆中生成java.lang.Class对象的过程,并且JVM并不会一次性将所有的.class文件一次性加载到内存 然后,类加载的时机有几个场景,比如类的
(面试题)如何判断对象可以被回收
Java采用的是可达性分析算法 过程:从GC Roots开始向下搜索引用链,当一个对象没有与任何引用链相连时,则该对象是不可用的,那么虚拟机就判断该对象是可回收对象。 GC Roots组成: 虚拟机栈
(面试题)聊聊常见的垃圾回收算法
标记清除算法:对内存中的对象进行一次扫描,然后把仍然存活着的对象进行标记,第二次扫描时会清除那些没有被标记的对象。 缺点:产生内存碎片 标记整理算法:相较于标记清除后再增加的一次扫描,这一次扫描会把活
(面试题)说一下JVM内存模型
线程私有的 虚拟机栈:每个方法在执行时,会生成一个栈帧。栈帧中存放着方法执行过程中的一些信息,包括局部变量表、操作数栈、方法出口 本地方法栈:和虚拟机栈类似,不过这里存放的方法都是native修饰的,