03 2019 档案

摘要:一般缓存与数据库的配合使用是这样的。 1.查询缓存中是否有数据。 2.缓存中无数据,查询数据库。 3.把数据库数据插入到缓存中。 其实我们发现 1,3 都是固定的套路,只有2 是真正的业务代码。我们可以把1,3 抽取出来,封装到一个自定义注解@myCache 上,通过给2方法加一个注解,实现代码的解 阅读全文
posted @ 2019-03-31 01:09 北溪 阅读(679) 评论(0) 推荐(0) 编辑
摘要:jdk1.8中新原子操作封装类LongAdder和jdk1.5的AtomicLong和synchronized的性能对比,直接上代码: 看看输出结果: jdk版本,作者及类名: 让我们来膜拜一下大神!2秒破亿次累加。翻倍的性能提升。 阅读全文
posted @ 2019-03-17 00:05 北溪 阅读(1291) 评论(0) 推荐(0) 编辑
摘要:关于java线程状态,网上查资料很混乱,有的说5种状态,有的说6种状态,初学者搞不清楚这个线程状态到底是怎么样的,今天我讲一下如何看源码去解决这个疑惑。 直接上代码: Java中线程的状态分为6种。 1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2. 运行(RUNNAB 阅读全文
posted @ 2019-03-10 16:32 北溪 阅读(828) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示