这9道面试题最近出现率达到90% , 很多人面试基本都被问到了。

前言:

近在好多朋友应该都在备战面试,收集到很多反馈,整理一下面试题。发现今年有些题目的出现频率真的是太高了,网上也有很多这样的总结。感觉还是很乱,就花了点时间把重要的东西总结了一下。

在这里插入图片描述

Jvm垃圾回收器

答:垃圾回收器可以在新生代和老年代都有,在新生代有Serial、ParNew、Parallel Scavenge;老年代有CMS、Serial Old、Parallel Old;还有不区分年的G1算法。

追问1:CMS垃圾回收器的过程是什么样的?会带来什么问题?

答:CMS回收过程可以分为4个步骤。

(1)初试标记:初试标记仅仅只是标记一下GC Roots能直接关联到的对象,速度很快,但需要暂停所有其他的工作线程。

(2)并发标记:GC 和用户线程一起工作,执行GC Roots跟踪标记过程,不需要暂停工作线程。

(3)重新标记:在并发标记过程中用户线程继续运作,导致在垃圾回收过程中部分对象的状态发生了变化,未来确保这部分对象的状态的正确性,需要对其重新标记并暂停工作线程。

(4)并发清除:清理删除掉标记阶段判断的已经死亡的对象,这个过程用户线程和垃圾回收线程同时发生。

带来的问题:

(1)CMS收集器对处理器资源非常敏感。

(2)CMS无法处理“浮动垃圾”。

(3)CMS是基于标记-清除算***产生大量的空间碎片。

追问2:G1垃圾回收器的改进是什么?相比于CMS突出的地方是什么?

答:G1垃圾回收器抛弃了分代的概念,将堆内存划分为大小固定的几个独立区域,并维护一个优先级列表,在垃圾回收过程中根据系统允许的最长垃圾回收时间,优先回收垃圾最多的区域。(G1算法是可控STW的一种算法,GC收集器和我们GC调优的目标就是尽可能的减少STW的时间和次数。)

G1突出的地方:

基于标记整理算法,不产生垃圾碎片。

可以精确的控制停顿时间,在不牺牲吞吐量的前提下实现短停顿垃圾回收。

追问3:现在jdk默认使用的是哪种垃圾回收器?

回答:(被问到过好几次)

jdk1.7 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)

jdk1.8

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以给你介绍一些常见的Java面试题。以下是10Java面试题及其答案: 1. 什么是Java的四种访问修饰符? 答:Java的四种访问修饰符分别是public、protected、default和private。它们用于控制类、方法和变量的可见性。 2. Java中的final关键字有什么作用? 答:final关键字可以用来修饰类、方法和变量。当修饰类时,表示该类不能被继承;当修饰方法时,表示该方法不能被子类重写;当修饰变量时,表示该变量的值不能被修改。 3. 什么是Java中的多态性? 答:多态性是指同一个方法可以在不同的对象上有不同的行为。它通过继承和接口实现,可以提高代码的灵活性和可扩展性。 4. Java中的重载和重写有什么区别? 答:重载(Overload)是指在同一个类中定义多个同名的方法,但参数列表不同。重写(Override)是指子类重新定义父类中已有的方法。重载是静态绑定,而重写是动态绑定。 5. 什么是Java中的异常处理机制? 答:Java中的异常处理机制用于处理程序运行过程中可能出现的异常情况。它通过try-catch-finally语句块来捕获和处理异常,保证程序的正常执行。 6. Java中的线程是什么?如何创建和启动线程? 答:线程是程序执行的最小单位,它可以并发执行。在Java中,可以通过继承Thread类或实现Runnable接口来创建线程,并通过调用start()方法来启动线程。 7. 什么是Java中的集合框架? 答:Java中的集合框架是一组用于存储和操作对象的类和接口。它提供了各种数据结构(如List、Set、Map等)和算法(如排序、查找等),方便开发者进行数据处理。 8. Java中的反射是什么?如何使用反射? 答:反射是指在运行时动态地获取类的信息并操作类的成员。通过Java的反射机制,可以在运行时获取类的构造方法、字段、方法等信息,并调用相应的方法。 9. 什么是Java中的序列化和反序列化? 答:序列化是指将对象转换为字节流的过程,可以将对象保存到文件或通过网络传输。反序列化是指将字节流转换为对象的过程,可以从文件或网络中恢复对象。 10. Java中的内存管理是如何工作的? 答:Java中的内存管理由Java虚拟机(JVM)负责。JVM将内存分为堆和栈,堆用于存储对象实例,栈用于存储方法调用和局部变量。JVM通过垃圾回收机制自动管理堆内存的分配和释放。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值