Java八股文为什么重要?

首先看一个简单的问题++i是否安全?

分析过程我就不写了,有基础的朋友都知道++i是线程不安全的,这涉及到原子性问题,这还只是Java最基础的语法,接下来,我会用问题的方式来解释八股文的重要性

1、ArrayList的特性?

Arraylist底层是数组,查询快,增删慢;由于ArrayList的底层是数组,所以它占用的空间是连续的,在这里我提个问题?【顺序读和随机读哪个快?请大家站在内存和磁盘的角度考虑

2、HashTable的底层是哈希表

请大家思考一下哈希算法和用法以及哈希碰撞的问题

3、ConcurentHashMap初始化后可以同时支撑16个线程的访问,这个知识点很有趣,也就是说如果我们把ConcurentHashMap当做内存来使用,可以同时支持16个请求的访问;

a、它是如何保证请求可以均匀打到16个节点上?

b、如果超过16个请求,它又是如何处理的?这里可以看出秒杀场景,也就是说这个集合此时可以同时售卖16个元素,如何解决超卖现象

c、它的底层通过数组+链表+红黑树实现,同时使用了CAS+同步锁的方案;在很多场景中这个方案都会被应用,我举一个案例Mysql的InnoDB中

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java项目之我问你答 文章被收录于专栏

针对Java简历中项目的功能进行提问,大家可以在评论区中解答/讨论

全部评论
八股文围绕Java核心技能的知识并不是去死记硬背,是因为你会了技术,然后通过八股文进行书面回答
6 回复
分享
发布于 02-27 19:18 浙江

相关推荐

3 16 评论
分享
牛客网
牛客企业服务