java故事
文章平均质量分 68
也许你每天都在接触它,但未必真的了解它。
普普通通程序猿
做人要知足,做事要知不足,做学问要不知足。
展开
-
一种会导致springboot中的@Value注解取值为null的现象
springboot框架Value注解读取配置内容为null原创 2022-04-23 22:17:00 · 1122 阅读 · 0 评论 -
源码阅读系列-ConcurrentHashMap
注释注释是代码作者最想留给读者的话,我们真的应该好好读一读。从线程安全的角度来讲,ConcurrentHashMap与Hashtable是可以互用的,但是从同步机制上二者是有一些区别的。ConcurrentHashMap并不对并发读取操作上锁,读写操作有可能会同时进行。一些方法诸如size/isEmpty/containsValue反映的是某一个临时状态,因此如果有另外的线程在并发写的时候是不太适合使用的。...原创 2021-11-09 00:24:40 · 235 阅读 · 0 评论 -
啊哈瞬间之tableSizeFor函数
导读:我记得在《编程珠玑》一书中,作者提到了总有一些优秀的编程思想会让人忍不住发出“啊哈”的声音,这有可能是叹为观止,也有可能是恍然大悟。1. 简介tableSizeFor是Java的hashmap/concurrenthashmap的源码中比较重要的一个函数,其功能是:返回一个比输入值大或相等的,离该值最近的2的整数次幂。举例:输入值是5,则该函数返回值是8(2的3次幂),输入值是4,则返回4。说实话,在我真正理解这个函数之前,如果你把它的源码放到我面前,让我说出这个函数的功能,我可能真的无法说出.原创 2021-09-21 01:26:40 · 155 阅读 · 0 评论