前言
Java虚拟机栈是线程私有的,没有数据安全问题,而堆相比较于Java虚拟机栈而言更为复杂,因为堆是所有线程共享的一块内存空间,会出现线程安全性问题,而垃圾回收也主要是回收堆内空间,所以堆内的布局我们非常有必要深入去了解一下。现在就让我们继续来分析一下堆内布局以及Java对象在内存中的布局吧。
蚂蚁金服
一面
算法题,给了长度为N的有重复元素的数组,要求输出第10大的数。
需要在2小时内完成。
二面
自我介绍
目前在部门做什么,业务简单介绍下,内部有哪些系统,作用和交互过程说下
Dubbo踩过哪些坑,怎么解决的?
对线程安全的理解
乐观锁和悲观锁的区别?
这两种锁在Java和MySQL分别是怎么实现的?
事务有哪些特性?
怎么理解原子性?
HashMap为什么不是线程安全的?
怎么让HashMap变得线程安全?
jdk1.8对ConcurrentHashMap做了哪些优化?
redis主从机制了解么?怎么实现的?
有过GC调优的经历么?
有什么想问的
三面
自我介绍
接下来就是全部问的项目,对自己的项目细节逐个盘问,最后问了下如何改进方案
有什么想问我么?
四面