JAVA由浅入深【待补】

OSI七层网络模型,5层网络模型?每层分别有哪些协议?
TreeMap与HashMap的区别?
HashSet、HashTable与HashMap的区别?

HashSet是一个集合,HashMap是一个键值对,HashSet底层是基于HashMap实现的。
HashTable的方法是synchronize的(线程安全的),key-value都不能为null,效率较低。
HashMap的key和value都可以为null。负载超过0.75时扩容一倍,并进行rehash。HashMap不是线程安全的,甚至某些情况下会发生死循环。(添加元素时是在链表头部添加,多个线程同时进行rehash时,可能导致产生循环链表,再get时,查到这个链表就会死循环。)

HashMap的底层实现?扩容机制?ConcurrentHashMap如> 何解决线程安全?1.7和1.8的实现区别?

1.7的ConcurrentHashMap 的默认构造函数,initial capacity是16,load factor是0.75,concurrencyLevel是16。底层是数组+链表。使用多个可重入锁锁ReentrantLock,进行锁分段,最大并发数量取决于数组的长度。
1.8的ConcurrentHashMap的默认构造函数为空, 真正的初始化是在put的时候。底层是数组+链表/红黑树。
链表长度超过8时,转为红黑树,低于6时,退化为链表。使用synchronized对数组加锁,

死锁产生的条件?如何避免?银行家算法,产生死锁后如何解决?
如何判断链表有环?
虚拟机调优参数?
拆箱装箱的原理?
CMS G1
能让线程阻塞的方法有哪些?
Java多线程的5大状态切换?
MySQL主键与唯一索引的区别?
Session共享,如何用Redis如何实现?
缓存击穿的概念与解决方案?
微服务与微服务之间的管理?

Java NIO常用的几个类?(简述两三个)
Javat同步锁?Countdownlauch、Cylicbarrior、semaphore、读写锁的区别,在哪些场景下使用?
JVM的内存结构?那些是共享的?哪些是线程私有的?Java虚拟机里面存放的是什么?
如何自己实现一个线程池给别人用?
哪些情况会触发Java的类加载?
手写代码:快速排序、单例模式,画一个工厂和装饰者模式的UML类图?
AOP的实现原理?
如何优化一个慢查询?
Java的锁有哪些?可重入锁与不可重复锁的区别?
AQS同步框架?
lock与synchronized的区别?它们都是可重入锁吗?哪个效率更高?
synchronize与reentrant锁的区别
B-Tree索引,myisam与innodb的索引区别?
BIO与NIO的应用场景
关于ThreadLocal
数据库隔离级别,每层用什么方法实现?三级封锁协议,共享排它锁,MVCC多版本并发控制协议,间隙锁
数据库索引?B+树,为什么要建立索引?什么样的字段需要建立索引,考虑是什么?索引会不会导致插入删除的效率变低?怎么解决?
共享锁与非共享锁?一个事务锁住了一条数据,另一个事务能查询吗?

平时项目的并发使用了哪些技术?
高并发怎么限流?
线程池的拒接任务策略?
如何实现一个有序的HashMap
排序算法的稳定性、复杂度?
Redis采用了什么数据结构?
Redis采用了什么线程模型?
Redis的数据淘汰机制?
Mysql实现事务的原理?(MVCC)
MQ底层的实现原理?
数据库事务ACID,事务操作?怎么加锁?分布式系统锁?
什么情况下易发生雪崩?如何解决?
高并发的设计思路是怎样?


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 using1174@foxmail.com

文章标题: JAVA由浅入深【待补】

文章字数: 901

本文作者: Jun

发布时间: 2019-11-05, 15:11:00

最后更新: 2022-03-14, 23:19:49

原始链接: http://yoursite.com/2019/11/05/Java由浅入深/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏