常见Java面试题集合,面试必备

一、Java基础

1、Arrays.sort实现原理和Collections.sort实现原理

答:Collections.sort方法底层会调用Arrays.sort方法,底层实现都是TimeSort实现的。TimSort算法就是找到已经排好序数据的子序列,然后对剩余部分排序,然后合并起来.

2、foreach和while的区别(编译之后) 线程池的种类,区别和使用场景

3、分析线程池的实现原理和线程的调度过程

4、线程池如何调优

5、线程池的最大线程数目根据什么确定

6、动态代理的几种方式

7、HashMap的并发问题

8、了解LinkedHashMap的应用吗

9、反射的原理,反射创建类实例的三种方式是什么?

10、cloneable接口实现原理,浅拷贝or深拷贝

11、Java NIO使用

12、hashtable和hashmap的区别及实现原理,hashmap会问到数组索引,hash碰撞怎么解决

13、arraylist和linkedlist区别及实现原理

14、反射中,Class.forName和ClassLoader区别

15、String,Stringbuffer,StringBuilder的区别?

16、有没有可能2个不相等的对象有相同的hashcode

17、简述NIO的最佳实践,比如netty,mina

18、TreeMap的实现原理

二、JVM相关

1、类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序

2、JVM内存分代

3、Java 8的内存分代改进

4、JVM垃圾回收机制,何时触发MinorGC等操作

5、jvm中一次完整的GC流程(从ygc到fgc)是怎样的,重点讲讲对象如何晋升到老年代,几种主要的jvm参数等

6、你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms,g1

7、新生代和老生代的内存回收策略

8、Eden和Survivor的比例分配等

9、深入分析了Classloader,双亲委派机制

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值