05 2021 档案
摘要:在我们项目中,Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。我们使用他来替代C3P0作为数据库的连接池; 翻车背景 平台私有化给一个三十人的小团队使用,某天有人反馈平台无响应,接口全部超时无响应; 排查过程 连上服务器,发现服务状态都健康,内存CPU等都很稳定; jstack查看线程
阅读全文
摘要:今天在项目中看见了一个《线程池》的定义,使用了SimpleAsyncTaskExecutor,之前没有了解过这个,出于好奇,查阅了源码,发现了一些惊天大秘密; 这个《线程池》的Bean是这样定义的: SimpleAsyncTaskExecutor executor = new SimpleAsync
阅读全文
摘要:在日常开发中,我们经常会使用线程池来进行线程的管理,他能很好的帮助我们管理线程,比如线程复用以节约我们重复创建线程的开支,我们今天就来看下线程池的基本原理。 线程池的构造 public ThreadPoolExecutor(int corePoolSize, 核心线程数 int maximumPoo
阅读全文
摘要:1.新建/etc/docker/daemon.json,若有就不用新建了。添加log-dirver和log-opts参数,样例如下: # vim /etc/docker/daemon.json { "log-driver":"json-file", "log-opts": {"max-size":"
阅读全文