摘要:
1、简介
在本文中,我们将了解Caffeine,一个用于Java的高性能缓存库。
缓存和Map之间的一个根本区别是缓存会清理存储的项目。
一个清理策略会决定在某个给定时间哪些对象应该被删除,这个策略直接影响缓存的命中率——缓存库的一个关键特性。
Caffeine使用Window TinyLfu清理策略,它提供了接近... 阅读原文
2021-07-20 06:00:04 阅读(38) 评论(0)
摘要:
一、背景
最近需要统一升级 Spring 的版本,避免 common 包和各个项目间的 Spring 版本冲突问题。这次升级主要是从 Spring 4.1.9.RELEASE 升级到 Spring 4.3.22RELEASE。
预备知识点
OPTIONS 请求 https://developer.mozilla.o... 阅读原文
2021-07-19 23:41:02 阅读(38) 评论(0)
摘要:
1. 如何实现一个IOC容器
1. 配置文件配置包扫描路径
2. 递归包扫描获取.class文件
3. 反射,确定需要交给IOC管理的类
4. 对需要注入的类进行依赖注入
配置文件中指定需要扫描的包路径
定义一些注解,分别表示访问控制层、业务逻辑层、数据持久层、依赖注入注解、获取配置文件注解
从配置文件中获取需要扫描... 阅读原文
2021-07-19 23:10:03 阅读(29) 评论(0)
摘要:
subList方法拆分集合问题
分享一个有意思的错误,先看代码
public static void main(String[] args) throws IllegalAccessException {
ArrayList<Integer> list = new ArrayList&... 阅读原文
2021-07-19 20:38:11 阅读(28) 评论(0)
摘要:
Condition接口提供了与Object阻塞(wait())与唤醒(notify()或notifyAll())相似的功能,只不过Condition接口提供了更为丰富的功能,如:限定等待时长等。Condition需要与Lock结合使用,需要通过锁对象获取Condition。
一、基本使用
基于Condition实现生... 阅读原文
2021-07-19 20:15:06 阅读(36) 评论(0)
摘要:
1. 回退(驳回)
回退的思路就是动态更改节点的流向。先遇水搭桥,最后再过河拆桥。
具体操作如下:
取得当前节点的信息
取得当前节点的上一个节点的信息
保存当前节点的流向
新建流向,由当前节点指向上一个节点
将当前节点的流向设置为上面新建的流向
当前节点完成任务
将当前节点的流向还原
取得之前上个节点的执行人
设... 阅读原文
2021-07-19 19:48:11 阅读(42) 评论(0)
摘要:
Redis集群搭建
介绍
使用6.2.4 搭建 主从、哨兵、集群模式。
准备
准备三台电脑
IP地址
主机名称
172.16.241.2
linux1
172.16.241.3
linux2
172.16.241.4
linux3
172.16.241.5
linux4
17... 阅读原文
2021-07-19 17:54:12 阅读(36) 评论(0)
摘要:
Redis集群搭建
介绍
使用6.2.4 搭建 主从、哨兵、集群模式。
准备
准备三台电脑
IP地址
主机名称
172.16.241.2
linux1
172.16.241.3
linux2
172.16.241.4
linux3
172.16.241.5
linux4
17... 阅读原文
2021-07-19 17:53:14 阅读(37) 评论(0)
摘要:
一、程序运行环境
编译环境:IntelliJ IDEA
所需测试文件:PDF、.pfx数字证书及密钥、PDF Jar包(Free Spire.PDF for Java)、签名图片(.png格式)
可信时间戳服务器:URL地址
注:以下代码中的所有测试文件路径均为IDEA程序项目文件夹路径,如C:\Users\Ad... 阅读原文
2021-07-19 16:52:10 阅读(33) 评论(0)
摘要:
来源:banana 童
地址:www.cnblogs.com/bananaaa/p/7774467.html
linux 命令是对 Linux 系统进行管理的命令。对于 Linux 系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件, Linux 系统管理的命令是它正常运行的核心,与之前的 ... 阅读原文
2021-07-19 16:32:05 阅读(35) 评论(0)