上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 这个错误是cms专有错误,并发清楚线程和工作线程同时工作,清理出来年老代的空间不足以存放由新生代晋升导年老代的对象 从而导致年老代垃圾回收变成了Serial Old,从而暂停应用程序,停顿时间过长 现象: (concurrent mode failure): 1048576K->185976K(10 阅读全文
posted @ 2020-10-27 15:37 清明雨下 阅读(1289) 评论(0) 推荐(0)
摘要: finalshell jprofiler 监控session jvm db 可以打开快照hprof Sublimetext txt 阅读器 xmind,yEd Graph Editor 写思维导图 Astah professional 流程图 状态图等 yourkit java profession 阅读全文
posted @ 2020-10-27 14:24 清明雨下 阅读(65) 评论(0) 推荐(0)
摘要: 预备知识:java类中, 异常类的父类 throwable,从而衍生出Error和Exception,而Exception又衍生RuntimeException 异常处理的一些原则: fastFail,具体明确 打印异常信息应该:异常抛出的时间,抛出了什么异常,在哪抛出了异常,异常抛出方法的一些参数 阅读全文
posted @ 2020-09-08 11:35 清明雨下 阅读(185) 评论(0) 推荐(0)
摘要: Roaring64BitMap guava Hashing SipHash24 自己简单实现的非压缩的位图 public class BitMap { private static final int N = 10000000; private int[] a = new int[N/32 + 1] 阅读全文
posted @ 2020-08-19 20:02 清明雨下 阅读(662) 评论(0) 推荐(0)
摘要: 软件架构solid原则 Simple Responsability principle 单一职责:不是指一个模块只负责一个简单功能,指的引起某个模块变化的原因只有一个; Open-close principle 开放-封闭原则:对添加扩展开放,对修改关闭; Lisvok principle 里氏替换 阅读全文
posted @ 2020-08-06 15:32 清明雨下 阅读(126) 评论(0) 推荐(0)
摘要: 1.为什么用单线程? 内存计算很快,减少加解锁复杂性,请求的网络io使用多路复用技术 2.为什么用多线程? 引入多线程是由于某些操作可以优化,比如删除大的对象 提升操作性能减少主线程的阻塞, 多线程部分只是用来处理网络数据的读写和协议解析,执行命令仍然是单线程; 这样设计是因为不想 Redis多线程 阅读全文
posted @ 2020-07-31 14:34 清明雨下 阅读(434) 评论(0) 推荐(0)
摘要: 不一定,如弱 虚引用,在垃圾回收的时候可能就会被回收掉 阅读全文
posted @ 2020-07-29 11:29 清明雨下 阅读(178) 评论(0) 推荐(0)
摘要: 1 ThreadLocal? This class provides thread-local variables. These variables differ from their normal counterparts in that each thread that accesses one 阅读全文
posted @ 2020-07-24 11:41 清明雨下 阅读(143) 评论(0) 推荐(0)
摘要: public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); //时间计数器,主要记录任务的运行时间 不用管 stopWatch.start(); Configur 阅读全文
posted @ 2020-05-30 11:01 清明雨下 阅读(255) 评论(0) 推荐(0)
摘要: 1.缓存雪崩 现象:同一时间大量的缓存失效或者同一时间有大量请求打到数据库,导致系统崩溃 解决方法: (1)缓存设置不同的失效时间或者对于热点数据永不失效 (2)并发量不大,加锁排队 (3)缓存失效标志,及时更新缓存 2.缓存穿透 现象: 请求的数据不存在于缓存或者数据库中 解决方案:(1)对空结果 阅读全文
posted @ 2020-05-29 11:31 清明雨下 阅读(148) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 下一页