自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 HashMap的优化

HashMap结构的优化HashMap的复杂度 查找/获取 添加/删除 空间 ArrayList O(1) O(N) O(N) LinkedList O(N) O(1) O(N) HashMap O(N/Buckets) O(N/Buckets) O(N) ArrayList 和 LinkedList 可以看作是HashMap的两个极端。若HashMap的所有元素都不发生哈希冲突,就变成了数组存储的Arra.

2020-11-27 14:01:29 9

原创 CPU密集型和IO密集型的多线程总结

首先要明白多线程在单核和多核CPU的运行机制:多线程在单核CPU运行时,同一时间只能处理一个线程,系统会切换线程,给每个线程分配时间片来跑。由于线程间的切换会增加系统的开销,所以多线程在多核CPU上跑时,除了能够在同一时间处理多个线程,还能避免线程间切换带来的开销。CPU密集型程序一个计算量很大的程序(也称作CPU密集型程序),多线程跑的时候,不存在阻塞的情况,可以充分利用所有的CPU的核。假如当前CPU只有四核,要使程序运行的效率最高,需使线程池的容量为4,同时跑4个线程的计算任务。如

2020-11-12 23:36:28 27

原创 Redis进阶

Redis的过期策略redis采用的是定期删除+惰性删除策略。为什么不用定时删除?定时删除,也可以说是实时删除,用一个定时器监控key,过期则删除。虽然即使释放了内存空间,但十分消耗CPU资源。定期删除,redis默认每100ms检查是否有key过期。不是每隔100ms便将所有key检查一遍,而是随机抽取进行检查。因此,如果只采用定期删除策略,会导致很多key到时间后没有被删除。惰性删除,在获取某个key时,redis会检查这个key是否过期,如果过期了此时就会被删除。...

2020-11-07 17:04:54 17

原创 Spring Boot的自动配置原理

1. 引言Spring Boot作为目前最常用的项目配置框架,其自动配置原理可以说是精髓所在。Spring Boot自动配置的原理一般只在面试中会被问到,但作为一名框架使用者,对这种工具的原理有深入理解也是很有必要的。Spring Boot最主要的作用就是帮我们快速构建庞大的Spring项目,并且尽可能地减少一切xml配置,让我们更关注业务而非配置。2. Spring Boot的配置文件我们知道,使用Spring Boot的项目中有一个全局配置文件:application.propertie

2020-11-06 18:11:29 156

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除