
JVM
文章平均质量分 72
硕风和炜
硕风和炜,优快云官方Java领域优质创作者,阿里云社区专家博主,华为云云享专家,第十二届蓝桥杯JavaB组省1,保研,国家奖学金,JAVA开发技术栈,面试刷题,面经八股文,经验分享,好用的网站工具分享
展开
-
2万字8千字72道大厂JVM面试题【金三银四(金九银十)面试小抄之Java经典面试题JVM篇总结】(附答案)
2万字8千字72道大厂JVM面试题【金三银四(金九银十)面试小抄之Java经典面试题JVM篇总结】(附答案)之前的一篇文章帮大家总结了一篇关于Java基础篇的面试文章,大家可以直接进行跳转学习,地址附到了下面。6万字144道耗时72小时吐血整理【金三银四(金九银十)面试小抄之Java经典面试题基础篇总结】(附答案)上篇文章最后我们说了接下来要为大家整理JVM的面试题,君子一言,驷马难追,必须给大家安排到位。JDK是Java Development Kit的缩写,是Java的开发工具包。原创 2023-03-20 07:45:00 · 874 阅读 · 2 评论 -
【13-JVM面试专题-JVM调优经验-JVM调优常用命令-G1调优策略-JVM性能优化指南-JVM性能调优的工具】
【13-JVM面试专题-JVM调优经验-JVM调优常用命令-G1调优策略-JVM性能优化指南-JVM性能调优的工具】原创 2023-02-23 08:59:19 · 433 阅读 · 0 评论 -
【12-JVM面试专题-垃圾回收器好坏评价的标准?吞吐量和响应时间?生产环境中,如何选择合适的垃圾收集器?如何判断是否使用G1垃圾收集器?】
【12-JVM面试专题-垃圾回收器好坏评价的标准?吞吐量和响应时间?生产环境中,如何选择合适的垃圾收集器?如何判断是否使用G1垃圾收集器?】1. 优先调整堆的大小让服务器自己来选择2. 如果内存小于100M,使用串行收集器3. 如果是单核,并且没有停顿时间要求,使用串行或JVM自己选4. 如果允许停顿时间超过1秒,选择并行或JVM自己选5. 如果响应时间最重要,并且不能超过1秒,使用并发收集器原创 2023-02-23 08:58:01 · 392 阅读 · 0 评论 -
【11-JVM面试专题-说说你知道的垃圾回收算法?垃圾回收器你知道吗?CMS、G1和ZGC垃圾回收器你有过了解吗?】
【11-JVM面试专题-说说你知道的垃圾回收算法?垃圾回收器你知道吗?CMS、G1和ZGC垃圾回收器你有过了解吗?】问:CMS中的浮动垃圾理解?书上说:并发清理阶段用户线程还在运行,这段时间就可能产生新的垃圾,新的垃圾在此次GC无法清除,只能等到下次清理。这些垃圾有个专业名词:浮动垃圾。这个浮动垃圾如何理解?难道不是在本次GC重新标记remark的过程中被发现然后清理吗?为何还要等下次GC才能清理?原创 2023-02-23 08:55:09 · 262 阅读 · 0 评论 -
【10-JVM面试专题-怎么判断一个对象是不是垃圾呢?对象被判定为不可达对象之后就会立即被回收吗?什么时候进行垃圾回收呢?介绍一下强引用、软引用、弱引用、虚引用的区别?】
【10-JVM面试专题-怎么判断一个对象是不是垃圾呢?对象被判定为不可达对象之后就会立即被回收吗?什么时候进行垃圾回收呢?介绍一下强引用、软引用、弱引用、虚引用的区别?】强引用JVM内存管理器从根引用集合(Root Set)出发遍寻堆中所有到达对象的路径。当到达某对象的任意路径都不含有引用对象时,对这个对象的引用就被称为强引用软引用2.1 基本概念:软引用是用来描述一些还有用但是非必须的对象。对于软引用关联的对象,在系统将于发生内存溢出异常之前,将会把这些对象列进回收范围中进行二次回收。原创 2023-02-22 20:46:52 · 420 阅读 · 0 评论 -
【09-JVM面试专题-实例化过程详细讲讲?对象的基本结构你知道吗?TLAB堆上内存分配是怎么样的?你了解这个TLAB吗?】
【09-JVM面试专题-实例化过程详细讲讲?对象的基本结构你知道吗?TLAB堆上内存分配是怎么样的?你了解这个TLAB吗?】 1. 在JVM中,对象的创建遵循如下过程: 当JVM遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 2. 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定,为对象分配空间的任务实际上便等同原创 2023-02-22 19:39:00 · 350 阅读 · 0 评论 -
【08-JVM面试专题-JVM运行时数据区堆的结构是怎么划分?为什么分代设计呢?为什么要Survivor区?只有Eden不行吗?为什么要两个Survivor区?为什么Eden:s0:s1是8:1:1】
【08-JVM面试专题-JVM运行时数据区堆的结构是怎么划分?为什么分代设计呢?为什么要Survivor区?只有Eden不行吗?为什么要两个Survivor区?为什么Eden:s0:s1是8:1:1】一些大对象的产生,在Eden区中是没有位置存放的,这个时候会有一个担保机制的出现,Old区作为这个大对象的担保,即使这个对象的年龄是没有达到15的,依旧可以被存储到Old区中,但是,这样的大对象的产生,是非常不好的,可能会随时出发Full GC,对我们的内存空间的产生可谓是灾难性的。原创 2023-02-22 19:25:43 · 386 阅读 · 0 评论 -
【07-JVM面试专题-JVM运行时数据区的虚拟机栈你知道吗?它的基本结构是什么呢?你知道栈帧的结构吗?那你说说动态链接吧?】
【07-JVM面试专题-JVM运行时数据区的虚拟机栈你知道吗?它的基本结构是什么呢?你知道栈帧的结构吗?那你说说动态链接吧?】1. 虚拟机栈是一个线程执行的区域,保存着一个线程中方法的调用状态。换句话说,一个Java线程的运行状态,由一个虚拟机栈来保存,所以虚拟机栈肯定是线程私有的,独有的,随着线程的创建而创建。2. 每一个被线程执行的方法,为该栈中的栈帧,即每个方法对应一个栈帧。调用一个方法,就会向栈中压入一个栈帧;一个方法调用完成,就会把该栈帧从栈中弹出。,原创 2023-02-22 19:07:09 · 269 阅读 · 0 评论 -
【06-JVM面试专题-JVM运行时数据区的方法区可以详细聊聊吗?方法区与元数据区以及持久代到底是什么关系?什么是永久代?什么是元数据空间?】
【06-JVM面试专题-JVM运行时数据区的方法区可以详细聊聊吗?方法区与元数据区以及持久代到底是什么关系?什么是永久代?什么是元数据空间?】JVM运行时数据区是一种规范,方法区真正的实现在JDK 8中体现的就是Metaspace,在JDK6或7中就是Perm SpacePerm Space 持久代 JDK在1.7方法区的实现,占用的是JVM中的内存。Meta Space 元空间、元数据区 JDK在1.8方法区的实现,占用的是直接内存。原创 2023-02-22 18:51:31 · 260 阅读 · 0 评论 -
【05-JVM面试专题-运行时数据区的结构都有哪些?哪些是共享的呢?哪些是非共享的呢?详细的介绍一下运行时数据区结构各部分的作用?】
方法区:线程共享的区域,方法区是逻辑上堆的一部分,所以他有个名字:非堆运行时常量池、字段和方法数据,以及方法和构造函数的代码,包括类和实例初始化和接口初始化中使用的特殊方法,如果方法区域中的内存无法满足分配请求,Java 虚拟机将抛出一个堆:线程共享 堆是为所有类实例和数组分配内存的运行时数据区域 内存不足java虚拟机栈:执行java方法的 线程私有的本地方法栈:执行本地方法 线程私有程序计数器:记录程序执行到的位置 线程私有。原创 2023-02-22 18:41:37 · 392 阅读 · 0 评论 -
【04-JVM面试专题-什么是双亲委派机制(父类委托机制)?如何打破双亲委派机制?双亲委派机制的优缺点?什么是沙箱安全机制呢?】
【04-JVM面试专题-什么是双亲委派机制(父类委托机制)?如何打破双亲委派机制?双亲委派机制的优缺点?什么是沙箱安全机制呢?】检查某个类是否已经加载自底向上,从Custom ClassLoader到BootStrap ClassLoader逐层检查,只要某个Classloader已加载,就视为已加载此类,保证此类只所有ClassLoader加载一次。加载的顺序自顶向下,也就是由上层来逐层尝试加载此类。父类加载,子类不加载。面试的过程中你能把上面的说出来我觉得刚刚及格,原创 2023-02-22 18:22:37 · 688 阅读 · 0 评论 -
【03-JVM面试专题-JVM中你知道的类加载器有哪些?作用是什么?分别用来加载什么文件?什么内容的呢?】
【03-JVM面试专题-JVM中你知道的类加载器有哪些?作用是什么?分别用来加载什么文件?什么内容的呢?】通过java.lang.ClassLoader的子类自定义加载的class,属于应用程序。根据自身需要自定义的ClassLoader,如Tomcat,Jboss都会根据j2ee规范自行实现ClassLoader。JVM知识在面试过程中非常高频,大家一定要牢牢掌握,如果以上文章有帮助到你,希望可以点个关注,留下属于你的足迹,比心!我们下节再见哦。原创 2023-02-22 17:43:45 · 211 阅读 · 0 评论 -
【02-JVM面试专题-JVM中的类加载机制你有了解过吗?】
【02-JVM面试专题-JVM中的类加载机制你有了解过吗?】JVM知识在面试过程中非常高频,大家一定要牢牢掌握,### 2.2 准备- 为类的静态变量分配内存,并赋值(当前类型的默认值)private static int a = 1;那么它在我们的准备阶段他的值就是0### 2.3 解析- 解析是从运行时常量池中的符号引用动态确定具体值的过程符号引用(方法引用、属性引用等等)转为直接引用## 3.初始化方法执行到了Clint阶段,初始化静态变量的值。初始化静态代码块,如果存在父子静态原创 2023-02-22 13:43:50 · 214 阅读 · 0 评论 -
【01-JVM面试专题-什么是JDK、JRE、JVM?】
【01-JVM面试专题-什么是JDK、JRE、JVM?】JDK是Java Development Kit的缩写,是Java的开发工具包。JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(JRE),Java工具(javac/java/jdb等)和Java基础的类库(即Java API )。原创 2023-02-22 11:27:30 · 117 阅读 · 0 评论 -
【JVM面试专题-面试中JVM常问的问题你都知道吗?】
【JVM面试专题-面试中JVM常问的问题你都知道吗?】上面的问题对于已经工作一段时间的程序员来说肯定没有多大的问题,但是对于一些在校的大学生来说可能会或多或少的存在一些问题?我觉得不要紧,关于JVM的面试知识原来你不知道,也不了解,但是现在你看到了,就应该立即学习起来,查漏补缺,把整个知识框架完善起来。不要有太大的心理负担,慢慢积累,视频呢我也会按照一个一个问题的形式去发布,而同学们呢只需要一天掌握一个小的知识点就没问题了,日记月累,相信你在面试的时候被问到JVM内容的时候一定会有说的。原创 2023-02-21 20:30:17 · 310 阅读 · 0 评论