摘要: 为了更全面了解java线程池的运行机制在阅读源码时带着以下几个问题: 1.什么是核心线程数 2.什么是最大线程数 3.什么是任务队列,具体有什么用处 4.线程池最大可执行多少线程 5.任务执行失败如何处理 6.任务提交失败如何处理 7.线程池如何监控 线程池变量: 1.AtomicInteger c 阅读全文
posted @ 2018-06-29 14:42 followus 阅读(132) 评论(0) 推荐(0) 编辑
摘要: “为一个对象设置虚引用关联的唯一目的就是能在这个对象被收集器回收时收到一个系统通知。” 当执行上述代码后:控制台将会打印: gc-->test-str 将上述代码改为如下方式: 运行之后没有效果;原因是虚引用prTestStr被系统回收后就不会加到referenceQueue的queue内 将上述代 阅读全文
posted @ 2018-04-19 17:34 followus 阅读(645) 评论(0) 推荐(0) 编辑
摘要: 服务分流,例如在重构一个业务逻辑时,会引流线上一部分数据到重构后的服务,等稳定后在切换至新的服务,如果出现bug可以快速切换至原来的接口 高峰期服务降级,例如在我们的业务上有一些统计,在高峰期时这些统计服务就显得不是那么重要,可以在高峰期期间关闭这方面的服务以保证正常业务访问 例如在我们的业务场景是 阅读全文
posted @ 2018-03-28 15:38 followus 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 因为项目需要我们引进了mycat,并监控mycat的使用情况。在测试一段时间后发现cpu占用了100%,导致部分机器无法连接mycat。通过jstat -gcutil pid 1000 10,可以清楚的看到jvm在1秒钟做了4次full gc并且每次full gc后没有任何的内存回收。 jmap - 阅读全文
posted @ 2017-07-25 15:47 followus 阅读(2037) 评论(0) 推荐(0) 编辑
摘要: 最近在项目中需要写一个数据转换引擎服务,每过5分钟同步一次数据。具体实现是启动engine server后会初始化一个ScheduledExecutorService和一个ThreadPoolExecutor线程池。schduel executor每过5分钟将dataTransformList中每一 阅读全文
posted @ 2017-06-26 21:25 followus 阅读(7387) 评论(1) 推荐(0) 编辑
摘要: phabricator 依赖环境 系统centos,mysql,php,nginx 1.下载安装脚本 https://secure.phabricator.com/source/phabricator/browse/master/scripts/install/install_rhel-derivs 阅读全文
posted @ 2017-06-23 11:06 followus 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 我们在阅读一些源码的时候,如果能调试源代码将会大大的提高我们的阅读效率。最近在学习zookeeper源码,分享下如何调试zookeeper集群。 zookeeper代码,调试环境搭建 1.下载zookeeper3.4.9拷贝3份 为 node0, node1, node22.修改zoo.cfg添加s 阅读全文
posted @ 2016-11-24 17:19 followus 阅读(3115) 评论(0) 推荐(0) 编辑