logo头像

不忘初心 方得始终

java

JVM缓存之Caffeine

JVM缓存之Caffeine

引言Caffeine是一个高性能、高命中率、低内存占用的的本地缓存。它是Guava的加强版,Caffeine使用Window TinyLfu (最近最少频率使用)算法,提供了近乎最佳的命中率。…

Spring之循环依赖

Spring之循环依赖

引言在Spring框架中,针对Bean之间的循环依赖,Spring通过三级缓存的机制已经解决和规避了部分场景Bean的循环依赖。但是仍需了解Spring解决循环依赖的原理和注意Spring无法解决循环依赖的场景,避免出现此类问题。…

Bug简记-长轮训Response

客服系统服务中使用Servlet3.0异步长轮训,服务压力大时,导致消息错乱。 …

Javascript Number类型长度溢出

引言项目中遇到一个问题,由于后台数据库表ID使用分布式唯一算法生成的Long类型(19位数字),导致转成json传至前端js使用时报错,因为js的数字类型最大只能表示15位数字长度【JavaScript Number 对象】。 解决方...

logback行号输出问号问题

logback行号输出问号问题

引言Logback日志输出使用 AsyncAppender 时,输出的文件行号信息是 ?:? ,问题产生原因及解决方案。…

Java和Docker限制的那些事儿

Java和Docker限制的那些事儿

引言Java和Docker不是天然的朋友。 Docker可以设置内存和CPU限制,而Java不能自动检测到。使用Java的Xmx标识(繁琐/重复)或新的实验性JVM标识,可以解决这个问题。自己也是在开发配置上踩了个坑。 采坑记录在开发...

MongoDB辅助之mongo-spring-support

MongoDB辅助之mongo-spring-support

引言在开发中经常使用到MongoDB,每个项目使用各不相同,既繁琐又好不管理。这里封装了一套MongoDB类似于Mybatis的ORM增强版工具,和Spring无缝结合,只需要简单的配置就可以实现强大的功能。同时扩展了MongoDB的Datastore功能,加了一些自定义方法。其原理离不开之前所说的FactoryBean。…

Spring之FactoryBean

引言FactoryBean 与 BeanFactory名字很像,很容易搞混。但其实它们两个是完全不一样的东东。…

Bug简记-Spring返回字符串加引号

引言在开发过程中会遇到这种各样的bug,也是自己吃过的亏。以后在这里会把自己遇到的bug记录下来,吸取教训,避免犯同样的错误。 …

基于Redis的分布式锁

引言目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式服务下各个服务同时访问共享资源时,分布式锁就派上用场了。redis用来做缓存很常见,它还有一个非常重要的功能就是做分布式锁。 ...