java中的动态代理
jdk中动态代理只支持接口的方式 实现方式是: 调用 java.lang.reflect.Proxy中的静态方法 newProxyInstance(ClassLoader loader, Class[...
多线程同步
synchronized语句 同步的代码块尽量少 locks split, 私有的对象锁代替this 2. volatilefor double, long primitive type. 3. ThreadLocal 4. 使用 JDK1.5提供的锁 ...
我眼中的LLD
LLD一般与Functional Specification 和 HLD对应。包括: Purpose, Intended/Target Audience Data Model 必要的UML图 Logging处理 Exception 处理 Security处理 Tr...
use case in Functional Specification
一种可行的描述use case的方法是: 列表显示Normal Flow:如1,2,etc 列表显示Alternative Flow,注意需要对应(借助)与Normal Flow.并且前面加一个前缀A.以区别。比如Normal Flow的Step 2有Alternative Flow...
Java GC 策略
Sun Hotspot JVM的GC策略是分代: Yong Generation: Eden, Survior1, Survivor2 Scavenge GC, Copy算法,GC频繁 Old(Tenured) Generation 会引起Full GC, 尽可能减少Full GC...
4+1架构
为了从不同stake holder的角度来看架构,架构设计文档从多个角度来说明 Logical View关注 FS Process View关注 Non-FS Implementation View关注组件,层次实现及具体关系 Data View关注数据持久化 中心是 Use...
一个金融系统考虑到的
为了安全起见,所有的写操作都要计入Audit表中 考虑效率(reconciliation&settlement),引入影子表(这是一个实表,非虚表). 影子表是对多个业务相关表的数据冗余。 数据库表设计时留了一些字段,并不表示任何业务意义,仅仅是为了以后扩充。虽丑陋但实用,能解决...
事务之CAP/BASE
CAP理论: Consistency Availability Tolerance of network partition一般来说,分区容忍性( partition Tolerance )是网站可伸缩性必需的,因此只能在Consistency和Availability之间做出取舍。 ...
Enterprise Integration Pattern读中感
最近在拜读Martin Fowler的Enterprise Integration Pattern,对于基于消息系统的应用集成了解了不少。虽然以前的工作也涉及IBM MQ但体会总是不是很深。在不同应用,分布式环境中的集成中,消息中间件在可靠性方面是优势。 这跟我的第一印象是刚好相反的,以前总以...
性能调优
堆栈参数调整(基于 Sun Hotspot ) -Xss:设置任何线程的本地方法栈大小 -Xms:设置JVM初始堆大小 -Xmx:设置JVM最大堆大小 -XX:PermSize=:设置JVM Perm generation的初始大小 -XX:MaxPermSize&#...