摘要: 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)