知识点

1. 线程池排队策略 & 拒绝策略答案

2. Synchronized的原理及自旋锁,偏向锁,轻量级锁,重量级锁的区别答案,升级为重量级锁时,markwords里存的是monitor的起始地址。重量级锁的获取markword与monitor

3. java多线程的6种实现方式详解多线程

4. 重入锁 实现原理答案

5. 长连接的几种实现方式https://blog.csdn.net/jiary5201314/article/details/51398155/

6. B-树、B+树、B*树的区别区别        Hash索引一步步分析数据库索引

7. 聚簇索引和非聚簇索引区别

8. 理解线程池的原理 答案

 线程池使用注意事项

1) 建议使用new ThreadPoolExecutor(...)的方式创建线程池:

线程池的创建不应使用 Executors 去创建,而应该通过 ThreadPoolExecutor 创建,这样可以让读者更加明确地知道线程池的参数设置、运行规则,规避资源耗尽的风险,这一点在也阿里巴巴JAVA开发手册中也有明确要求。这一点不容小觑,曾有同学因为线程池使用不当导致生产的同一台机器上部署的多个应用都因无法创建线程池而出现故障。

2) 合理设置线程数:

线程池的工作线程数设置应根据实际情况配置,CPU密集型业务(搜索、排序等)CPU空闲时间较少,线程数不能设置太多。N核服务器,通过执行业务的单线程分析出本地计算时间为x,等待时间为y,则工作线程数(线程池线程数)设置为 N*(x+y)/x,能让CPU的利用率最大化。

3) 设置能代表具体业务的线程名称:这样方便通过日志的线程名称识别所属业务。具体实现可以通过指定ThreadPoolExecutor的ThreadFactory参数。如使用spring提供的CustomizableThreadFactory。

9. 一致性Hash算法原理  源码

10 Servlet流程流程

11.单例模式几种实现

12. 序列化答案

13.Tomcat服务器与负载均衡答案

14.Nio,Bio,Aio区别

15. Netty netty1  

16.GCGC

17. java对象头  java对象模型对象头Synchroized锁住的是代码还是对象答案

18. 内存泄漏原因

19.类加载过程过程,双亲委派模型模型

20.常用算法时空间复杂度分析常见算法java实现    堆排序实现java实现,栈,数组链表时间复杂度答案,LinkedList实现队列,栈实现,ArrayList实现排序答案,  数组实现循环队列实现方法

21. 二叉树的原理和实现实现,DFS和BFS答案

22. 进程与线程答案,进程通信方式

23.OSI七层模型答案,Https基于SSl/TLS加密 答案,Http与Tcp,socket区别,  HTTP1.0,1.1,1.2

24. DNS域名解析层层递进,交换机和路由器区别,ping过程原理答案

25.GET和POST区别

26.数据库死锁预防解决,innodb和myisam,innodbinnodb行级锁说明

27.Union与UnionAll,SQL语句查询优化答案

28. 缓存穿透,雪崩,击穿问题,单线程redis为啥,redis与memchched区别

29.Spring ioc与aop入门AopJDK动态代理cglib动态代理,Spring事务传播答案

30.八大排序算法详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值