- 博客(5)
- 收藏
- 关注
原创 Guava Cache特性:refreshAfterWrite与expireAfterWrite
Guava Cache是没有定时的,不会去主动失效key。除非是超过最大的容量,LUA算法才会去移除key。refreshAfterWrite是指创建指定时间后,没有get过此key,没有被LUA淘汰删除key,那么此时缓存里面是有旧值的。get时候会进行同步更新旧值的内容,其他线程等待。LUA淘汰删除key,那么此时缓存里面没有值的。get时候会进行同步新增值内容,其他线程等待。expireAfterWrite是指创建指定时间后,没有get过此key,没有被LUA淘汰删除key,那么此时
2021-06-03 14:46:19 6607
原创 volatile指令说明
参考:https://blog.csdn.net/ljheee/article/details/82317448https://blog.csdn.net/longgeqiaojie304/article/details/894313571、volatile是java虚拟机提供的轻量级同步机制具有:保证可见性不保证原子性\color{#FF3030}{不保证原子性}不保证原子性禁止指令重排2、volatile禁止指令重排通过lock前缀指令、内存屏障来实现的。由于编译器在编译过程中可能会对
2020-07-08 19:24:58 195
原创 Java stream操作toMap总结
1、map 对象本身,重复的key,放入List。Map<String, List<Working>> map = workings.stream().collect(Collectors.toMap(Working::getInvoicePage, e -> { ArrayList<Working> list = new Arr
2020-07-07 14:23:43 14776 1
原创 算法:森林中有N棵树(编号从0到N-1)。第K树位于坐标(X[k],Y[k])
算法:森林中有N棵树(编号从0到N-1)。第K树位于坐标(X[k],Y[k])。我们想建立最大的可能 垂直路径,这样就没有树了。路径必须建立再最左边的树和最右边树之间的某处,这意味路径的宽度不是无限的。编写一个函数:public static Integer solution(int[] X, int[] Y) ,给的N个整数组成数组的X和Y,它们表示树的位置,则返回可以构建的最宽路径的宽度。public static void main(String[] args) { int[]
2020-05-19 14:52:10 1152
原创 算法:在加油站有N辆汽车排队。该站有三个加油机。
这里写自定义目录标题在加油站有N辆汽车排队。该站有三个加油机,分别标记为X,Y和Z。每个加油机中都装有一定数量的燃油。在任何时候,每个加油机上都会清楚地显示可用燃油量。当一辆汽车到达队列的最前面时,驾驶员可用选择开车到未被另一辆汽车占用的任何分配器。假设此车的燃料需求为D升。驾驶员必须选择加油量至少为D升的加油机。如果所有未使用的分配器的容量都小于D升,则驾驶员必须等待其他汽车完成加油。如果所有分配器都没有被占用,并且都没有至少D升,那么驾驶员就无法为汽车加油,并且会无限期地阻塞队列。如果一个以上的分配
2020-05-19 14:29:13 1016
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人