in Handbook

RedisRedis是高性能的基于内存的NoSQL数据库。因为内存是比较宝贵的资源,无法无限制使用,所以Redis提供了:键过期策略来防止内存饱和。内存淘汰策略来使得内存饱和之后继续对外提供服务。内存过期策略expire命令Redis提供了expire命令来给一个键(key)设置过期时间:re...

in Troubleshooting

背景接到了线上机器的报警,登上服务器,发现是Java进程挂了,看日志报了OOM:java.lang.OutOfMemoryError: Java heap space问题描述内存溢出,那当然是看dump文件了。这里推荐大家在产线机器上都加上JVM参数-XX:+HeapDumpOnOutOfMe...

in Notebook

背景java.lang.ClassCastException: cn.com.nightfield.Plugin cannot be cast to cn.com.nightfield.Plugin相同的class,竟然不能cast?这是什么鬼?问题描述自定义类加载器(Classloader)...

in Handbook

背景零拷贝(Zero Copy)是一个耳熟能详的术语,众多高性能的网络框架如Netty,Kafka,Rocket MQ都将零拷贝标榜为其特性。那么究竟什么是零拷贝?零拷贝Wikipedia上对零拷贝的解释如下:"Zero-copy" describes computer operations ...

in Troubleshooting

问题描述Spring Quartz是很常用的定时任务框架。把一个Quartz的工程部署到Tomcat中启动,意外地发现,每个Task都在同一时间跑了两次,而本地在开发的过程中却没有问题。问题排查为了防止多线程问题,有部分Task上是加了锁的,类似如下方式:@Component public c...