Simple is beautiful.
2007年2月20日
#
摘要: A Private Conversation
Last week I went to the theatre, I had a good seat, the play was very interesting, but I did not enjoy it. A young man and a young woman were sitting behind me, they were talking loudly. I got very angry, I could not hear the actors. I truned round.
I looked at the man and the woman angrily. The did not pay any attention. In the end, I conld not bear it. I turned round again.
'I can't hear a word!' I said angrily.
'It's none of your busine
阅读全文
摘要: 了其然,知其用,研其究,发其思
了其然:对最近新出现的理念技术能够有所了解,简单知道其可以解决什么问题,分析一下是否最近自己所需要应用,或可被更好的利用。
知其用:知道如何应用这门新技术。简单的应用一般花费不少时间,但是想复杂的应用,需要耗费的时间和精力可就多了。如果把握不好,盲目的应用和学习,会浪费不少时间。
研其究:对新技术新理念研究其深层次的原理,框架,结构。
发其思:这是最难的一层,首先需要有研其究的基础,这本身就是一个高难度的事情。而研究之后,能够发散思维,扩充或本土化改造,则更是艰巨的事情。
阅读全文
摘要: My Eclipse 5.5 New and Noteworthy Features
阅读全文
摘要: SQL语句性能调整的目标是:
去掉不必要的大表全表扫描---不必要的大表全表扫描会造成不必要的输入输出,而且还会拖垮整个数据库;
检查优化索引的使用---这对于提高查询速度来说非常重要
检查子查询---考虑SQL子查询是否可以用简单连接的方式进行重新书写;
调整PCTFREE和PCTUSED等存储参数优化插入、更新或者删除等操作;
考虑数据库的优化器;
考虑数据表的全表扫描和在多个CPU的情况下考虑并行查询;
阅读全文
摘要: NetBeans.org is proud to announce the availability of NetBeans IDE 6.0 Preview (Milestone 9). Here are some of the highlights:
Ruby/JRuby/Ruby on Rails Support
A Smarter and Faster Editor
Improved Swing development (Swing Data Binding)
Integrated Profiling
Integrated Visual Design for Web Applications
New, Integrated UI for CLDC/MIDP and CDC development
The final NetBeans IDE 6.0 release is planned for November, 2007. As always, we welcome and encourage yo
阅读全文
摘要: 十年编程经验凝结(廖俊才,CSDN编辑)
阅读全文
摘要: 数据库理论基础(外联接)
假设有两个关系R和S
在关系R和S做自然联接时, 我们选择两个关系在公共属性上值相等的元组构成新关系的元组.此时, 关系R中某些元组有可能在S中不存在公共属性上值相等的元组, 造成R中这些元组的值在操作时被舍弃. 由于同样的原因, S中某些元组也有可能被舍弃. 为了在操作时能保存这些被舍弃的元组, 可以采用外联接操作.
如果R和S做自然联接时, 把原来该舍弃的元组也保留在新关系中, 同时在这些元组新增加的属性上填上空值(null), 这种操作称为"外联接"操作.
如果R和S做自然联接时, 只把R中原来该舍弃的元组放在新关系中, 那么这种操作被称为"左外联接"操作.
select * from t_R left outer join t_S on t_R.B = t_S.B and t_R.C = t_S.C
如
阅读全文
摘要: 通知(Advice):横切操作时具体的操作。
切入点(Pointcut):描述什么时候需要进行横切操作,即在哪些地方需要加入通知,但是切入点不关心具体的通知是什么。
通知者(Advisor):由于通知者是通过切入点来创建的(切入点作为创建一个通知者实例时的参数),切入点可以对目标类和目标方法进行详细的描述,所以通知者告诉代理哪些类的哪些方法需要进行横切操作,从而对需要实现横切的方法进行灵活的定制。我把通知者理解为切入点和通知的绑定(通知作为创建通知者实例时的另一个参数),它描述了哪些类的哪些方法需要进行哪些横切操作(即哪个通知)。
阅读全文
摘要: J2EE应用程序中的业务组件通常使用JDBC API访问和更改关系数据库中的持久数据。这经常导致持久性代码与业务逻辑发生混合,这是一种不好的习惯。数据访问对象(DAO)设计模式通过把持久性逻辑分成若干数据访问类来解决这一问题。
本文是一篇关于DAO设计模式的入门文章,突出讲述了它的优点和不足之处。另外,本文还介绍了Spring 2.0 JDBC/DAO框架并示范了它如何妥善地解决传统DAO设计中的缺陷。
阅读全文
摘要: HSQLDB 是一个用JAVA写的开源数据库,具有标准的SQL语法支持和JDBC接口,由于它的微型和性能从而成为运行测试和演示Demo的最佳选择。
最近在学Hibernate, 由于Hsqldb的轻巧, 正好能满足学习过程中的需要; 它除了为学习Hibernate提供方便以外, 更重要的是它是开源的, 可以通过研究源代码来学习它实现的思想; 下面开始学习Hsqldb, 这将是一个持续的过程。
阅读全文
摘要: 获得列表
在上一步中我们已经把数据保存到了内容仓库中,那我们如何确定数据确实保存进去了呢?getBlogList() 这个方法将返回根节点下所有名为blogEntry.的子节点。
阅读全文
摘要: 开发我们的例子程序
jackrabbit已经配置好了,现在让我们来创建我们的示例程序。这个例子程序将调用JCR-170 API。很显然,我们需要做两件事情:一个是作为后台的对数据进行增删改查(持久层),另一个是开发相对应的UI界面(WEB 层)。首先,让我们定义一个DAO接口。这个接口BlogEntryDAO.java 如下:
阅读全文
摘要: 内容仓库模型
JSR-170 是这样定义内容仓库的,内容仓库由一组 workspace(工作空间)组成,这些workspace通常应该包含相似的内容。一个内容仓库有一个到多个 workspace。每个workspace都是一个树状结构,都有一个唯一的树根节点(root node)。树上的item(元素)或者是个node(节点)或者是个property(属性)。每个node都可以有零个到多个子节点和零个到多个子属性。只有根节点没有父节点,其余所有的节点都有一个父节点。property 也必须有一个父节点,但它没有子节点或是子属性,property 是叶子元素。property是真正存储数据的元素。
阅读全文
摘要: JSR-170把自己定义为一个能与内容仓库互相访问的,独立的,标准的方式。同时它也对内容仓库做出了自己的定义,它认为内容仓库是一个高级的信息管理系统,该系统是是传统的数据仓库的扩展,它提供了诸如版本控制、全文检索,访问控制,内容分类、访问控制、内容事件监视等内容服务。
阅读全文
摘要:
所有的Hibernate应用都会访问Hibernate的五个核心接口:
1)Configuration接口:配置Hibernate,根启动Hibernate,创建SessionFactory对象。
2)SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建Session对象。
3)Session接口:负责保存、更新、删除、加载和查询对象。
4)Transaction:管理事务。
5)Query和Criteria:执行数据库查询。
阅读全文
摘要: Session接口向业务逻辑层提供读、写和删除域对象的方法, 它不公开任何数据访问细节, SessionImpl实现了Session接口, 它通过JDBC API实现了数据的持久化。SessionFactory类负责创建Session实例。Hibernate在初始化阶段把对象-关系映射文件中的映射元数据读入到SessionFactory的缓存中。
阅读全文
摘要: 认识拉出式MVC模式J2EE Web框架-----WebWork
WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成Action(业务层Action类), session(会话)application(应用程序)范围的
阅读全文
摘要: 在软件项目开发过程中, 项目涉及到的文件很多, 比如代码源文件等, 如果没有一个版本管理工具, 那么在项目开发中将会遇到各种问题, 比如版本不统一. 通过一个版本管理服务器, 能很好的管理软件项目过程中的资源, 能有效地提高开发的效率, 减少错误的发生.
SVN(Subversion)是类似于VSS 和 CVS 的版本管理软件,是CVS的作者另起炉灶开发的,继承了CVS的优点,避免了CVS的一些缺点.
以下是在windows环境下搭建svn版本管理服务器
阅读全文
摘要: Exception:According to TLD or attribute directive in tag file, attribute value does not accept any expression
阅读全文
摘要: 目前整个开发社区对AOP(Aspect Oriented Programing)推崇备至,也涌现出大量支持AOP的优秀Framework,--Spring, JAC, Jboss AOP 等等。AOP似乎一时之间成了潮流。Java初学者不禁要发出感慨,OOP还没有学通呢,又来AOP。本文不是要在理论上具体阐述何为AOP, 为何要进行AOP . 要详细了解学习AOP可以到它老家http://aosd.net去瞧瞧。这里只是意图通过一个简单的例子向初学者展示一下如何来进行AOP.
阅读全文