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