自我介绍
巴拉巴拉
JAVA了解多吗,学习了什么框架之类的
SSM
hashmap
courrentHashMap,会出现什么样的问题,HashMap如何扩容
线程并发情况下,怎样保证线程安全,JMM内存模型
1.原子性
2.有序性
3.可见性
线程间怎么相互通信:
1.同步 synchronized关键字
2.volatile关键字
3.wait/notify机制
4.管道
答:并发情况下JDK1.7 JDK1.8
JAVA锁Lock与synchronized关键字的区别
1.Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现;
2.synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而Lock在发生异常时,如果没有主动通过unLock()去释放锁,则很可能造成死锁现象,因此使用Lock时需要在finally块中释放锁;
3.Lock可以让等待锁的线程响应中断,而synchronized却不行,使用synchronized时,等待的线程会一直等待下去,不能够响应中断;
4.通过Lock可以知道有没有成功获取锁,而synchronized却无法办到。
5.Lock能提高多个线程读操作的效率。
反射机制的实现原理,在类加载机制怎么拿到的,比如一个类有10个对象,类中有两个方法与属性,在内存中是怎么存储的
TCP怎么进行交互的
三次握手,四次挥手
流量控制,差错检验是怎么样实现的
TCP与UDP的区别
TCP如果网络异常出现阻塞的情况怎么办
数据库怎么存储的
数据库怎么存储到磁盘的,我回答了B+树,但是差点深度
数据库的一致性,隔离级别等
幻读怎么解决的,怎么序列化
Redis超卖的情况怎么解决
Redis基础结构的底层实现原理