![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 62
doraeimo
这个作者很懒,什么都没留下…
展开
-
深入了解DCL
深入了解DCL 深入了解DCL11.什么是DCL12.DCL过去不安全的原因22.1 JMM的缺陷22.2reorder导致的constructor escape问题23尝试修复DCL的方法23.1用volatile修饰字段 resource23.2骗过编译器34.为什么现在一部分DCL是安全的34.1从JSR-13原创 2010-07-05 17:49:00 · 2209 阅读 · 1 评论 -
spring AOP 学习笔记
术语理解: cross-cutting concerns:散落在业务中,但又与业务无关的代码片段。 ||识别为Aspect|v Aspect:通过整理cross-cutting concerns,需要从中识别出可重用的、功能单一的切面,例如日志/权限检查切面等。 ||============分割线:上面是业务中的概念,下面是代码中的概念=======原创 2011-05-21 22:51:00 · 748 阅读 · 0 评论 -
浅析闭包在缓存逻辑中的一次应用
摘要场景、背景 缓存逻辑代码大量重复,需要设法精简,以提高编码效率,降低维护成本。问题本质 一段流程控制的代码大部分重复,小部分不同的情况下如何精简代码。典型情况如缓存逻辑,数据库查询逻辑等。解决方案 使用闭包,通过模板模式配合回调,予以解决。优点:代码精简优雅、使开发人员只需关注变化的业务逻辑而无需关注缓存存取实现的细节。关键字闭包,缓存,底层改造,框架优原创 2012-07-13 13:35:12 · 1144 阅读 · 0 评论 -
关于构造方法与对象的创建
今天看到两篇不错的文章:实例构造器是不是静态方法?答复: 不用构造方法也能创建对象其中提到JVM构造对象的4种方式:new构造函数,反射,反序列化,clone转载 2011-01-01 20:20:00 · 681 阅读 · 0 评论 -
初步理解AQS
摘要AQS全称AbstractQueuedSynchronizer,它是concurrent包中最重要的基础设施类之一,负责作为模板类向业务层提供对临界区的管理。本文以FutureTask的实现机制作为引子,介绍了AQS的业务背景和设计思路,最后梳理了AQS的代码实现。目录摘要.................................................原创 2013-12-03 16:16:10 · 6318 阅读 · 0 评论 -
深入理解java内存模型
原文见 http://ifeve.com/java-memory-model-0/文章讲得很细致了,关键几点:1、原来只知道重排序是编译时(编译器行为)和运行时(虚拟机行为)产生的,目的是提高性能;此文交代了运行时重排序是由于cpu写缓冲出于性能考量没有及时刷到内存,导致事实上的重排序。cpu多级缓存之于内存,就像内存之于硬盘。扩展阅读:http://faculty.kfupm.edu转载 2013-11-13 15:46:19 · 858 阅读 · 0 评论 -
spring AOP 笔记
AOP的目的就是要把共通的切面(Aspect)抽出来,允许不同的对象复用。比如打日志,记录方法执行时间等。于是一个Aspect的实例(advisor),需要表达清楚两点:1.pointCut,即准入条件。类名和方法名符合什么样的要求,才可以触发切面执行。如方法签名具有annotation @Monitor。2.advice,即触发的动作。一般会在如下几种时机触发:方法执行before、原创 2015-04-23 10:49:03 · 535 阅读 · 0 评论