面试点---jvm 、GC、HashMap

jvm 、GC、HashMap --比较全的面试点(包含答案),如下:
jvm+GC
HashMap

在完全不了解这些知识点的情况下,时间充足的话,建议先看看相关的教学视频,再去看面试题。

jvm+Gc:

1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
2.Java内存结构?
3.解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法
4.对象分配规则
5.什么是类的加载
6.类加载器
7.描述一下JVM加载class文件的原理机制?
8.描述一下JVM加载class文件的原理机制?
9.Java对象创建过程
10.类的生命周期
11.Java对象结构
12.Java对象的定位方式
13.如何判断对象可以被回收?
14.JVM的永久代中会发生垃圾回收么?
15.引用的分类
16.判断一个对象应该被回收
17.回收方法区
18.垃圾收集算法
19.垃圾回收器
20.GC日志分析
21.调优命令
22.调优工具
23Minor GC与Full GC分别在什么时候发生?
24.你知道哪些JVM性能调优

HashMap:

(1)HashMap的实现原理?
此题可以组成如下连环炮来问

你看过HashMap源码嘛,知道原理嘛?
为什么用数组+链表?
hash冲突你还知道哪些解决办法?
我用LinkedList代替数组结构可以么?
既然是可以的,为什么HashMap不用LinkedList,而选用数组?

(2)HashMap在什么条件下扩容?
此题可以组成如下连环炮来问

HashMap在什么条件下扩容?
为什么扩容是2的n次幂?
为什么为什么要先高16位异或低16位再取模运算?

(3)讲讲hashmap的get/put的过程?
此题可以组成如下连环炮来问

知道hashmap中put元素的过程是什么样么?
知道hashmap中get元素的过程是什么样么?
你还知道哪些hash算法?
说说String中hashcode的实现?(此题很多大厂问过)

(4)为什么hashmap的在链表元素数量超过8时改为红黑树?
此题可以组成如下连环炮来问

知道jdk1.8中hashmap改了啥么?
为什么在解决hash冲突的时候,不直接用红黑树?而选择先用链表,再转红黑树?
我不用红黑树,用二叉查找树可以么?
那为什么阀值是8呢?
当链表转为红黑树后,什么时候退化为链表?

(5)HashMap的并发问题?
此题可以组成如下连环炮来问

HashMap在并发编程环境下有什么问题啊?
在jdk1.8中还有这些问题么?
你一般怎么解决这些问题的?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值