LRU缓存机制(基于LinkedHashMap)

摘要: 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。 写入数据 put(key, value) 阅读全文
posted @ 2020-09-08 17:41 月满清爵 阅读(171) 评论(0) 推荐(0) 编辑

LRU缓存实现(手写版)

摘要: 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。 写入数据 put(key, value) 阅读全文
posted @ 2020-09-08 16:09 月满清爵 阅读(978) 评论(0) 推荐(0) 编辑

微服务间准入鉴权实现逻辑

摘要: 阅读全文
posted @ 2020-09-08 16:04 月满清爵 阅读(252) 评论(0) 推荐(0) 编辑

spring-boot-devtools 不同ClassLoader引起的问题

摘要: 问题场景:因业务需求,需要在请求到达接口时,进行IP获取。并且需要根据IP进行相关处理,由于其它系统有使用到的可能,于是在外部新创建了一个jar包,在该jar包中使用FeignClient的方式,调用业务接口,具体实现如下: 然后在具体需要拦截IP的方法上,加上该注解。 然后再在启动类上,添加该ja 阅读全文
posted @ 2020-09-07 15:24 月满清爵 阅读(605) 评论(0) 推荐(0) 编辑

@EnableEurekaClient 不起作用的解决方法

摘要: Eureka有两个:一个是spring-cloud-starter-netflix-eureka-client包,另一个是spring-cloud-netflix-eureka-client包,我开始时引用了后者,但是我的server端引入的是spring-cloud-starter-netflix 阅读全文
posted @ 2020-09-07 15:23 月满清爵 阅读(817) 评论(0) 推荐(1) 编辑

MapperScan导致SpringBoot自动注入出现duplicate

摘要: 在SpringBoot中我们配置Mybatis的扫描是很简单的,最简单粗暴的方法是直接在类上注解 @MapperScan("你的项目根包"), 然后你就会惊喜的发现,Mybatis帮你把所有的接口都做了一个动态代理...为所有的接口都做了一个实现类,无差别攻击。 这是因为,Mybatis的默认机制是 阅读全文
posted @ 2020-09-07 15:21 月满清爵 阅读(522) 评论(0) 推荐(0) 编辑

关于使用application.yml配置文件启动时 部分配置不生效 启动失败的问题

摘要: 问题场景:在新建一个Spring Boot Module(Spring Boot 版本2.1.5-RELEASE)时,将application.properties文件修改为application.yml,然后进行相关配置。 其中配置了eureka.client.service-url.defaul 阅读全文
posted @ 2020-09-07 15:20 月满清爵 阅读(6166) 评论(0) 推荐(0) 编辑

相同的加密逻辑,不同的运行环境,导致结果不同 本地AES 通过SecureRandom随机数加密

摘要: 以操作系统种的随机事件作为种子。不同的操作系统产生的随机事件不同,种子也就不同 通过参数 -Djava.security.egd=file:/dev/urandom 来指定 seed 源 在new SecureRandom 时,如果没有指定prng 则会使用默认的prng,并且使用engineSet 阅读全文
posted @ 2020-09-07 14:03 月满清爵 阅读(905) 评论(0) 推荐(0) 编辑

Hibernate session 缓存引发的问题

摘要: 1.业务场景:在页面进行点击操作,然后改变数据状态(在改变数据状态之前需要先验证数据的状态) List<PartnerLinkItem> partnerLinkItems = partnerLinkItemRepository.findAllByLinkId(id); List<Long> part 阅读全文
posted @ 2020-02-14 20:50 月满清爵 阅读(202) 评论(0) 推荐(0) 编辑

Java内存

摘要: Java 虚拟机在执行 Java 程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java 虚拟机规范将 JVM 所管理的内存分为以下几个运行时数据区:程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区。 一,内存区域划分 1.线程共享区域: (1)Java堆(对象实例),G 阅读全文
posted @ 2020-02-06 15:29 月满清爵 阅读(226) 评论(0) 推荐(0) 编辑