摘要: Object.wait 中JDK提供的doc文档 一个对象的monitor只能被一个线程占用,wait()方法会释放这个对象的锁, 既然要释放 就先要取得这个锁, 取得对象锁的方式只有synchronized()。释放锁之后, 线程进入BLOCK状态 doc文档中说明调用wait的时机是因为运行条件 阅读全文
posted @ 2018-07-21 11:21 funny_coding 阅读(1579) 评论(0) 推荐(0) 编辑
摘要: catalina.home 一台机器通常只有一个, 指向Tomcat的安装目录 catalina.base 一台机器可以启动多个Context, 每个Context对应一个catalina.base, 每个WebApp对应一个Context 1. 在webApps目录下的war, 会自动创建Cont 阅读全文
posted @ 2018-07-20 22:53 funny_coding 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 使用spring boot , MockBean @RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) public class DalListTest { @MockBean private XxxSer 阅读全文
posted @ 2018-07-20 13:46 funny_coding 阅读(1993) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap 1.7 segment分段锁 1.8 CAS 红黑树 阅读全文
posted @ 2018-07-19 18:23 funny_coding 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 多次start ?? IlleageStateException 阅读全文
posted @ 2018-07-19 18:18 funny_coding 阅读(84) 评论(0) 推荐(0) 编辑
摘要: hashCode 计算每个char值,并移位累加 计算后的hash值会缓存 阅读全文
posted @ 2018-07-19 18:14 funny_coding 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 定位流程 先使用一些轻便的工具查看总体情况, 如果情况糟糕, 再使用重量级的工具 jstack 查看线程数是否过多 jstat -gc -gcutil 查看gc次数和时间是否过多, 各个分区中堆的实际大小。 FULL gc过多会造成STOP WORLD, 应用响应停顿。 考虑使用其他垃圾收集方式, 阅读全文
posted @ 2018-07-18 17:24 funny_coding 阅读(186) 评论(0) 推荐(0) 编辑
摘要: docker run 时使用-m指定可以使用的内存大小, 记录在cgroup配置文件中 cat /sys/fs/cgroup/memory/memory.limit_in_bytes jvm内存会超过这个限制吗? 阅读全文
posted @ 2018-07-18 11:22 funny_coding 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 读性能有问题, 可以使用读写分离 写性能有问题, 可以使用数据分片 单机数据库 分布式数据库 https://developer.aliyun.com/lesson_1761_14684#_14684 参数 : 缓冲区大小, 临时表大小... 阅读全文
posted @ 2018-07-18 09:38 funny_coding 阅读(103) 评论(0) 推荐(0) 编辑
摘要: Files工具包下包含创建临时文件, 文件copy, move等API 阅读全文
posted @ 2018-07-16 11:26 funny_coding 阅读(118) 评论(0) 推荐(0) 编辑
build beautiful things, share happiness