@OverWrite BlogJava

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  128 随笔 :: 0 文章 :: 29 评论 :: 0 Trackbacks

#

1月16日,Sun宣布已经与MySQL AB达成协议,以大约10亿美元收购MySQL AB,其中8亿美元现金收购MySQL AB的全部股权,另外的2亿美元作为期权。

MySQL负责开发社区的副总裁 Kaj 在他的blog中分析了这单交易对于MySQL的用户、核心社区以及公司员工会带来哪些影响,还发表了他与MySQL的两位创始人Monty和David关于此事的交谈

MySQL总部位于瑞典,在全球25个国家共有约400名员工。交易完成之后,MySQL首席执行官马顿·尼科斯(Marten Mickos)将加盟Sun管理层。Sun一直是开放源代码软件的坚定支持者,该公司希望通过这一模式从软件业务获得更多营收。在此之前,Sun一直为MySQL的竞争对手PostgreSQL销售支持服务。

对于Sun来说,收购MySQL有助于该公司更好地为开放源代码网络应用平台LAMP提供支持。LAMP是Linux操作系统、Apache网络服务器、MySQL数据库和PHP/Perl编程语言的首字母缩写。这一交易预计将于2008年第三季度或第四季度完成,如何获得足够的现金,对于Sun来说将是第一要务。Sun首席执行官乔纳森·舒瓦茨(Jonathan Schwartz)表示,在交易完成之前,该公司就将开始为MySQL客户提供支持服务。
posted @ 2008-01-21 18:22 vesung 阅读(382) | 评论 (0)编辑 收藏

hibernate2.jar:
        Hibernate的库,没有什么可说的,必须使用的jar包 
cglib-asm.jar: 
  CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包 
dom4j.jar: 
  dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,dom4j无论在那个方面都是非常出色的。我早在将近两年之前就开始使用dom4j,直到现在。如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这是必须使用的jar包,Hibernate用它来读写配置文件。 
odmg.jar:
  ODMG是一个ORM的规范,Hibernate实现了ODMG规范,这是一个核心的库,必须使用的jar包。 
commons-collections.jar: 
        Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大。必须使用的jar包。 
commons-beanutils.jar:
  Apache Commons包中的一个,包含了一些Bean工具类类。必须使用的jar包。 
commons-lang.jar: 
  Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。 
commons-logging.jar: 
  Apache Commons包中的一个,包含了日志功能,必须使用的jar包。这个包本身包含了一个Simple Logger,但是功能很弱。在运行的时候它会先在CLASSPATH找log4j,如果有,就使用log4j,如果没有,就找JDK1.4带的java.util.logging,如果也找不到就用Simple Logger。commons-logging.jar的出现是一个历史的的遗留的遗憾,当初Apache极力游说Sun把log4j加入JDK1.4,然而JDK1.4项目小组已经接近发布JDK1.4产品的时间了,因此拒绝了Apache的要求,使用自己的java.util.logging,这个包的功能比log4j差的很远,性能也一般。
  后来Apache就开发出来了commons-logging.jar用来兼容两个logger。因此用commons-logging.jar写的log程序,底层的Logger是可以切换的,你可以选择log4j,java.util.logging或者它自带的Simple Logger。不过我仍然强烈建议使用log4j,因为log4j性能很高,log输出信息时间几乎等于System.out,而处理一条log平均只需要5us。你可以在Hibernate的src目录下找到Hibernate已经为你准备好了的log4j的配置文件,你只需要到Apache 网站去下载log4j就可以了。commons-logging.jar也是必须的jar包。
  使用Hibernate必须的jar包就是以上的这几个,剩下的都是可选的。 
ant.jar: 
  Ant编译工具的jar包,用来编译Hibernate源代码的。如果你不准备修改和编译Hibernate源代码,那么就没有什么用,可选的jar包 
optional.jar:
  Ant的一个辅助包。 
c3p0.jar: 
  C3PO是一个数据库连接池,Hibernate可以配置为使用C3PO连接池。如果你准备用这个连接池,就需要这个jar包。 
proxool.jar:
  也是一个连接池,同上。 
commons-pool.jar, commons-dbcp.jar: 
  DBCP数据库连接池,Apache的Jakarta组织开发的,Tomcat4的连接池也是DBCP。 

  实际上Hibernate自己也实现了一个非常非常简单的数据库连接池,加上上面3个,你实际上可以在Hibernate上选择4种不同的数据库连接池,选择哪一个看个人的偏好,不过DBCP可能更通用一些。另外强调一点,如果在EJB中使用Hibernate,一定要用App Server的连接池,不要用以上4种连接池,否则容器管理事务不起作用。 

  connector.jar: 

  JCA 规范,如果你在App Server上把Hibernate配置为Connector的话,就需要这个jar。不过实际上一般App Server肯定会带上这个包,所以实际上是多余的包。 

  jaas.jar: 

  JAAS是用来进行权限验证的,已经包含在JDK1.4里面了。所以实际上是多余的包。 

  jcs.jar: 

  如果你准备在Hibernate中使用JCS的话,那么必须包括它,否则就不用。 

  jdbc2_0-stdext.jar: 

  JDBC2.0的扩展包,一般来说数据库连接池会用上它。不过App Server都会带上,所以也是多余的。 

  jta.jar: 

  JTA规范,当Hibernate使用JTA的时候需要,不过App Server都会带上,所以也是多余的。 

  junit.jar: 

  Junit包,当你运行Hibernate自带的测试代码的时候需要,否则就不用。 

  xalan.jar, xerces.jar, xml-apis.jar: 

  Xerces是XML解析器,Xalan是格式化器,xml-apis实际上是JAXP。一般App Server都会带上,JDK1.4也包含了解析器,不过不是Xerces,是Crimson,效率比较差,不过Hibernate用XML只不过是读取配置文件,性能没什么紧要的,所以也是多余的。
posted @ 2008-01-17 09:58 vesung 阅读(324) | 评论 (0)编辑 收藏

Remote Div Tag

wiki上的文档翻译:
Remote DIV 标签和普通的Html的DIV标签工作方式是一样的,但是它可以通过标签内指定的一个网址来装载它的内容.
属性

名称 描述
id (必有): DIV的ID
href (必有): 用来获取内容的网址
delay: 第一次装载内容需要延迟多长时间 (毫秒)
updateFreq: 多长时间重新取一次内容 (毫秒)
loadingText: 装载内容中对用户显示的文字 (特别是取内容的时候要花费很长的时间
errorText: 如果取内容时发生了错误,向用户显示的提示
showErrorTransportText: true/false 当获取内容有问题的时候,是否把错误信息当作内容显示
listenTopics: 监听的Topic名称(多个逗号分割), 将会导致此DIV重新获取内容
afterLoading: 获取内容后要执行的Javascript代码

其他功能
使用javascript代码我们还可以刷新内容,停止或者开始刷新组件.例如一个id是"remotediv1"的div组件:
开始刷新的javascript代码: remotediv1.start();
停止刷新的javascript代码remotediv1.stop();
刷新内容的javascript代码:remotediv1.bind();
Remote DIV标签最值得关注的特性:
可以自己重新装载自己的内容
可以监听Topic,也就是别的动作可以引发更新内容的行为
JavaScript代码可以控制它的行为
来看Remote Div标签的最简单的一个例子example1.jsp:
 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 
 2 <%@ taglib prefix="ww" uri="/webwork" %> 
 3 <html> 
 4 <head> 
 5 <title>Ajax Examples</title> 
 6 <jsp:include page="../commonInclude.jsp"/> 
 7 </head> 
 8 <body> 
 9 <ww:div id="once" theme="ajax" cssStyle="border: 1px solid yellow;" 
10 href="/AjaxTest.action" delay="5000" loadingText="loading">Initial Content</ww:div> 
11 </body></html> 
12 
这个文件,内容非常简单,使用了一个ww:div标签,设置了一个id,使用的是ajax这个模板(如果你想定义自己的模板,请务必参考ajax模板的编写方法),设置读取内容的url为"/AjaxTest.action",设置延迟5000毫秒后读取内容,装载内容时显示的文本设置为"loading...",div显示时的初始内容时"Initial Content".

很简单,在打开网页5秒后,标签会自动去访问"/AjaxTest.action",并把获取的内容设置为Div的内容.

再来看一个定时自动刷新的例子:

<ww:div id="twoseconds" cssStyle="border: 1px solid yellow;" href="/AjaxTest.action" 
theme
="ajax" delay="2000" updateFreq="3000" errorText="There was an error">Initial Content</ww:div> 

这个标签产生的结果每3秒钟刷新一次DIV的内容,和上面的差不多,只是多了一个updateFreq设置.

此标签还有一个afterLoading属性,使用方法如下:
<ww:div ...... afterLoading='alert("done")'>Initial Content</ww:div>
<ww:div ...... afterLoading="alert(\"done\")">Initial Content</ww:div>

posted @ 2008-01-16 08:46 vesung 阅读(299) | 评论 (0)编辑 收藏

在WebWork2.2中,引入了Dojo ( http://dojotoolkit.org ) 和DWR ( http://getahead.ltd.uk/dwr/ ) 两个新的类库来支持AJAX功能.
其中主要增加的特性包括:
1.Remote Div Tag -- 远程区域块标签,通过异步调用获取内容,来动态更新Div.可以循环更新.
2.Remote A Tag --远程链接标签,点击链接时进行一个远程异步调用,可以动态更新Div的内容.
3.Tabbed Panelds --选项卡页面,和普通程序中的选项卡一样,可以有多个选项页面,每个页面的内容都可以设置(本地或者从远程获取),点击一个选项页,切换页面.
4.Remote Form --远程表单,也就是提交但不刷新的表单,点击提交按钮,页面不刷新,通过远程异步调用,更新目标区域的内容.
5.Form Validation --表单校验,在表单中的每个控件输入数据都可以进行即时的校验,主要使用的是DWR.

先了解一下Dojo的工作原理:

清除缓存的代码:
1 response.setHeader("Pragma""no-cache"); 
2 response.setHeader("Cache-Control""no-cache"); 
3 response.setDateHeader("Expires"0); 
或者用html的meta来试试,不过那就包含在内容里了.
为了使用WebWork的AJAX组件,我们需要在页面里面根据Dojo的做法包含一些代码,例如ajax例子里面的commonInclude.jsp文件:
 1 <%@ taglib prefix="ww" uri="/webwork" %> 
 2 <!--// START SNIPPET: common-include--> 
 3 <script language="JavaScript" type="text/javascript"> 
 4 // Dojo configuration 
 5 djConfig = { 
 6 baseRelativePath: "<ww:url includeParams="none" value="/webwork/dojo/"/>"
 7 isDebug: false 
 8 }; 
 9 </script> 
10 
11 <script language="JavaScript" type="text/javascript" 
12 src="<ww:url includeParams="none" value="/webwork/dojo/dojo.js" />"></script> 
13 <script language="JavaScript" type="text/javascript" 
14 src="<ww:url includeParams="none" value="/webwork/CommonFunctions.js" />"></script> 
15 
16 <script language="JavaScript" type="text/javascript"
17 dojo.require("dojo.io.BrowserIO"); 
18 dojo.require("dojo.event.topic"); 
19 dojo.require("webwork.widgets.Bind"); 
20 dojo.require("webwork.widgets.BindDiv"); 
21 dojo.require("webwork.widgets.BindButton"); 
22 dojo.require("webwork.widgets.BindAnchor"); 
23 </script> 
24 <!--// END SNIPPET: common-include--> 
25 
这个文件里面对Dojo进行了设置,包含dojo.js,并且引入了webwork实现的这几个装饰件的代码,在后面的每个例子中,都要包含这个文件,因为后面的介绍中将省略这个文件的介绍,要想了解更多信息,可以参考Dojo的文档.

提示:其实在webwork框架下面引入dojo最容易了只需在页面加入下面一行即可:
<ww:head theme="ajax" debug="true" />

--待续--
posted @ 2008-01-15 18:03 vesung 阅读(545) | 评论 (1)编辑 收藏

        捕获了异常却不作任何处理,可以算得上Java编程中的杀手。从问题出现的频繁程度和祸害程度来看,它也许可以和C/C++程序的一个恶名远播的问题相提并论??不检查缓冲区是否已满。如果你看到了这种丢弃(而不是抛出)异常的情况,可以百分之九十九地肯定代码存在问题。
        错误在于,异常总是意味着某些事情不对劲了,或者说至少发生了某些不寻常的事情,我们不应该对程序发出的求救信号保持沉默和无动于衷。调用一下printStackTrace算不上“处理异常”。不错,调用printStackTrace对调试程序有帮助,但程序调试阶段结束之后,printStackTrace就不应再在异常处理模块中担负主要责任了。 
        那么,应该怎样改正呢?主要有四个选择:

  1、处理异常。针对该异常采取一些行动,例如修正问题、提醒某个人或进行其他一些处理,要根据具体的情形确定应该采取的动作。再次说明,调用printStackTrace算不上已经“处理好了异常”。

  2、重新抛出异常。处理异常的代码在分析异常之后,认为自己不能处理它,重新抛出异常也不失为一种选择。

  3、把该异常转换成另一种异常。大多数情况下,这是指把一个低级的异常转换成应用级的异常(其含义更容易被用户了解的异常)。

  4、不要捕获异常。

  结论一:既然捕获了异常,就要对它进行适当的处理。不要捕获异常之后又把它丢弃,不予理睬。
posted @ 2008-01-09 14:46 vesung 阅读(256) | 评论 (0)编辑 收藏

事出做项目时一个jsp页面修改后一直没有读出来,后来仔细研究了下tomcat才发现
当请求jsp页面时,Tomcat会分派给JspServlet来处理,在jspServlet的方法 service()中有一句
boolean precompile = preCompile(request); 
它会判断你请求jsp页面时有没有带?jsp_precompile查询字符串,如果带了就会重新编译
然后再由serviceJspFile(request, response, jspUri, null, precompile)进一步判断是否要进行编译jsp文件,下面是JspServletWraper service方法
 1 if (options.getDevelopment() || firstTime ) { 
 2 synchronized (this) { 
 3 if (firstTime) { 
 4 firstTime = false
 5 
 6 // The following sets reload to true, if necessary 
 7 ctxt.compile(); 
 8 
 9 
10 
关键就在Compiler的isOutDated(boolean checkClass) 的判断上 。
判断标准是,如果 jsp最后修改时间大于目标文件的最后修改时间要重新编译。还有一种情况就是即使jsp的最后修改时间晚于目标文件的最后修改时间,但只要jsp中用了
include指令包含的某个文件的最后修改时间早于对应目标文件的修改时间的话,也是需要重新编译主jsp文件的
posted @ 2008-01-09 14:22 vesung 阅读(1192) | 评论 (0)编辑 收藏

FreeBSD 的分区很简单:
假设你机器上只在IDE 0 口安装了一块硬盘,跳线为Master。

/dev/ad0------------------------------- 代表此硬盘,如是多块硬盘,根据内核配置和连接接口不同,会有 0,1,2,3 的变化。
/dev/ad0s------------------------------ s为分割(slice)。
/dev/ad0s1---------------------------- 此硬盘下第一个分割slice,可以理解为是个Win/Dos/Linux 使用的扩展分区(也就是种特殊的主分区)
/dev/ad0s1a--------------------------- 第一个分割里的第一个分区label,可以理解为是个(Win/DOS/Linux用的)逻辑分区,默认约定为文件系统/ 使用。
/dev/ad0s1b--------------------------- 第一个分割里的第二个分区label.约定为SWAP 交换分区,此命名不可更改。
/dev/ad0s1c,d ------------------------ 都被系统默认保留,不可使用。
/dev/ad0s1e -------------------------- 可由用户自行可控制用于/挂载哪个文件系统。(除过/ 和 swap 类型).

因为普通的PC的BIOS默认使用MBR型分区表只支持 4个主分区,所以 一块硬盘最多只能有 "分割 s 0-3 " 这4个分割,每个分割最多只能有a - h 这8个分区----lable。


收藏到:Del.icio.us

文章来源:http://vesung.blogbus.com/logs/13513077.html
posted @ 2008-01-08 17:20 vesung 阅读(179) | 评论 (0)编辑 收藏

印度奶茶(Masala Chai)配方原料:鲜牛奶300毫升、红茶12克、焦糖适量、豆蔻一粒、肉桂一小片、丁香二粒、鲜奶油一匙。
  做法:焦糖放进奶锅,加少量的水煮至糖汁呈金黄色并冒出焦香味,到入鲜牛奶,不断搅拌,加红茶入锅煮沸后,加入香料,改用小火煮1分钟,然后放入奶油搅拌几下,­再以小火煮约2分钟,过滤装杯。也可依照各人口味,添加少量的胡椒或巧克力酱。
杏仁奶茶做法原料:杏仁100克、牛奶200毫升、白糖适量。
  制作方法:
  (1)...


收藏到:Del.icio.us

文章来源:http://vesung.blogbus.com/logs/13513242.html
posted @ 2007-12-10 17:30 vesung 阅读(222) | 评论 (0)编辑 收藏

第一次听到青花瓷,砰然一动,心里的某根弦动被触动了。抑制不住心底的涌动,我爱上青花瓷了,她的旋律,她的歌词令我心跳。我想不到我这辈子会这么喜欢一首歌周杰伦-青花瓷
作词:方文山
作曲:周杰伦
编曲:钟兴民

素胚勾勒出青花 笔锋浓转淡
瓶身描绘的牡丹 一如你初妆
冉冉檀香透过窗 心事我了然
宣纸上走笔至此搁一半

釉色渲染仕女图 韵味被私藏
而你嫣然的一笑 如含苞待放
你的美一缕...


收藏到:Del.icio.us

文章来源:http://vesung.blogbus.com/logs/13513302.html
posted @ 2007-12-07 17:31 vesung 阅读(171) | 评论 (0)编辑 收藏

jj你怎么这么狠心心?我的妈妈是一个可悲可怜的被这个复杂的社会遗弃的人!她没有幸福的童年,她因为没有五块钱而没能参加高考!她本有志,是一个伟大男人的承诺让他渐渐磨去了棱角,让她不时感到浮华让她一步步变成今天这个样子!那个伟大的男人就是我爸爸!我妈很脆弱的她从来没有享受过她并不是懒惰的人她也很善良!再我的眼里,她从来就是一个可怜人!命运如此,她何以堪?希望我们不要重蹈历史覆辙!我们家是不会问你们家借钱的!也不要你的任何前!至少,我妈从来没问你们家的条件怎样!她从来都不会给我施加压力!相反,是我一直心疼...


收藏到:Del.icio.us

文章来源:http://vesung.blogbus.com/logs/13513386.html
posted @ 2007-12-06 17:34 vesung 阅读(165) | 评论 (0)编辑 收藏

仅列出标题
共6页: 上一页 1 2 3 4 5 6 下一页