Sam哥哥聊技术

互联网技术爱好者

ThreadPoolExecutor简单介绍

在项目中如果使用发短信这个功能,一般会把发短信这个动作变成异步的,因为大部分情况下,短信到底是发送成功或者失败,都不能影响主流程。当然像发送MQ消息等操作也是可以封装成异步操作的。使用基本的New Thread如果想一个操作变成异步的,可以直接new thread,然后在run方法中实现业务操作即...

2016-05-24 09:56:40

阅读数:623

评论数:0

java垃圾回收算法之-引用计数器

引用计数器算法算是一种古老的java垃圾回收算法,目前很多版本的java已经废弃掉这种算法了。不过多了解历史解决方案也是很有好处的,通过总结它的优缺点,再与新算法比较,可以帮助更好的理解新算法。 引用计数器算法描述 定义:给每个对象分配一个计算器,当有引用指向这个对象时,计数器加1,当指向...

2016-05-23 13:55:57

阅读数:2675

评论数:0

实时刷新缓存-处理mysql主从延迟的一些设计方案

在项目开发当中,经常有这样一种场景,对数据库进行添加、修改、删除操作的应用直接连接master库,只对数据库进行查询的应用,会先建立一个中央缓存,例如redis或者memcache,如果缓存没有命中,那么直接访问slave库。下文会介绍一下在刷新中央缓存时,如果发生主从延迟,应该如何处理。也即是,...

2016-05-23 09:38:53

阅读数:2200

评论数:0

spring整合ehcache缓存

pom文件 <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.10.2...

2016-05-04 10:27:45

阅读数:472

评论数:0

使用contiperf进行压测

contiperf是一个轻量级的压测工具,使用非常的广泛,并且可以生成report,帮助做性能分析。简单例子public class TestContiPerf { @Rule public ContiPerfRule i = new ContiPerfRule(); @Test ...

2016-05-03 14:48:26

阅读数:784

评论数:0

最近使用ut的一些体会

写有价值的ut必须保证自己写的ut是有价值的,只要全部跑过了,那么代码的质量就可以得到保证。更有自信的改代码了使用ut之后,如果发现了bug或者需要重构代码的时候,可以大胆的去做,因为有覆盖率极高的ut来保证和检查修改后的代码。只要bug,改完代码后,用ut覆盖当测试人员提交了一个bug,那么你改...

2016-05-03 14:38:41

阅读数:983

评论数:0

Spring Cacheable标签 内部调用失效问题

如果你只是想使用一个轻量级的缓存方案,那么可以尝试使用Spring cache方案。那么在使用spring @Cacheable注解的时候,要注意,如果类A的方法f()被标注了@Cacheable注解,那么当类A的其他方法,例如:f2(),去直接调用f()的时候,@Cacheable是不起作用的,...

2016-05-03 14:26:33

阅读数:3905

评论数:0

HttpClient工具正确使用方式

虽然现在微服务非常的流行,但是公司内部的蛮多系统仍然对外提供http接口。在调用http接口工具类中,apache httpclient工具用的比较多。下面列举一些正确使用httpclient的一些要点。设置socketTimeout可以在RequestConfig 中设置socketTimeou...

2016-05-03 14:12:56

阅读数:10935

评论数:3

提示
确定要删除当前文章?
取消 删除
关闭
关闭