文章列表
MPI(Message Passing Interface)并行计算的先驱和工业标准。
适用场景必然是并行计算,那么它适用于互联网应用吗?或者互联网应用的什么地方?
Xmemcached线程池机制
- 博客分类:
- 缓存技术
1,MemcachedHandler
封装了ExecutorService heartBeatThreadPool,大小是:serverSize == 0 ? Runtime.getRuntime().availableProcessors() : serverSize
2,MemcachedConnector
封装了:1,ReadEventDispatcher:getReadThreadCount
2,WriteEventDispatcher:getWriteThreadCount
3,DispatchMessageDispatcher:getD ...
值得关注的分布式缓存服务器
- 博客分类:
- 缓存技术
1,memcached服务器
2,xixibase服务器
http://code.google.com/p/xixibase/
1,Driver(针对不同数据库管理系统,java客户端的实现,4种实现思想)
2,DriverManager(容器机制,命令模式)
3,Connect(具体的链接)
4,Statement(语句封装,3种形式)
5,ResultSet(结果反馈)
6,Map(java类型与sql类型的映射支持)
HQL使用like关键字实现字符串模式匹配,与SQL查询一样。
广义的通配符:%,任意长度的任意字符串,如果是中文,特殊情况下需要用%%。
狭义的通配符:_,有且仅有一个任意字符,通常用于限定查询长度。
常识一:对于log4j的DailyRollingFileAppender机制,只有当调用它的时候,它才会判断日期,从而决定是否生成每日的日志文件,而不是每天自动刷新日志文件。
1,对象的生命周期
网上的一种见解:创建,应用,不可视,不可达,可回收,终结,回收
2,对象引用的分类
http://blog.csdn.net/sheperd_shu/archive/2011/04/09/6311913.aspx
第二章 映射对象标识符
简单的说,持久化类的对象怎样和关系型数据库中同一表的记录实现一一对应,答案就是OID,对象唯一标识。
观点1:关系型数据库的主键特性:不允许为空;
不允许重复,唯一性;
主键值一旦生成,不能修改,永久性;
观点2:主键划分:有特殊业务含义的主键,自然主键,不推荐,不利于扩展;
无特殊业务含义的主键,代理主键,推荐,利于扩展,性能消耗也 ...
第一章 对象-关系映射的基础
观点1:符合JavaBean风格,使用了可以指定访问级别的set和get方法。
观点2:set和get方法的使用者:java应用层的程序;Hibernate。
前者的访问受限于方法的访问级别,后者无视(思考 why)
tips:这两个角色用set和get方法操作持久化类来干什么?
观点3:映射的类型,提供基本的映射类型,并允许扩展。
观点4:访问方式,默认的是property属性访问,即get和set;永续使用反射机制直接访问。
配置:<property name=“” access=“prop ...
第2章 对于所有对象都通用的方法
尽管Object是一个具体类,但它的存在,更多的是为了扩展,或者说是继承。它的所有非final方法(equeals,hashCode,clone,finalize),都有明确的通用约定(general contract),为override而生。
第7条:在改写equeals的时候请遵守约定
对于JAVA四种访问修饰符:public,protected,default,private的探讨
探讨一(通用规则):
探讨二(越界,特例);
第一章 创建和销毁对象
观点一:考虑静态工厂方法代替构造函数:
好处1:能完整的表述语义,可读性,可操作性方面的改进;
好处2:每次调用时,不一定要创建新的对象,改进性能;
运用了singleton单态模式;
==和equals的使用,前者的性能由于后者,单态的实现使得equals用==替代成为了可能;
好处3:可返回原有类型的子类对象。
实现了面向对象的思想,封装细节。对外提供的只是接口,具体实现实现了封装。
经典案例:properties文件存储key=string格式的结构,管理类负责解析,初始化,静态工厂方法负责映射生成 ...