随笔-199  评论-203  文章-11  trackbacks-0
  2009年6月15日
     摘要: Oracle中日期时间的操作比较和加减-入门基础  阅读全文
posted @ 2011-11-11 15:34 Werther 阅读(1267) | 评论 (0)编辑 收藏
     摘要: 我们在浏览网页的时候,常常会看到某些网站的文章标题由于过长而只显示一部分,另一部分用省略号来表示,这是为了防止标题过长而导致页面排版不好看。那么这个文章标题省略号是如何实现的呢?目前常见的方法是通过动态语言程序来控制,判断标题的长度,然后截取部分来显示,其余的用省略号显示,这样往往在英文和中文的长度上难以判断。今天在网上看到可以用CSS来实现,效果还不错,拿来分享。  阅读全文
posted @ 2011-01-17 11:13 Werther 阅读(2303) | 评论 (1)编辑 收藏
     摘要:   init是Linux系统操作中不可缺少的程序之一。
  所谓的init进程,它是一个由内核启动的用户级进程。
  内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。
  内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。   阅读全文
posted @ 2010-12-01 22:39 Werther 阅读(1175) | 评论 (0)编辑 收藏
     摘要: 程序员编写程序的过程中,每个程序都会有很多不同的版本,这就需要程序员很好的管理代码,在需要的时间可以取出需要的版本,并且每个版本都有一个完整的说明。  阅读全文
posted @ 2010-11-08 10:39 Werther 阅读(749) | 评论 (0)编辑 收藏
     摘要: -Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;

-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;

-Xmn Java Heap Young区大小,不熟悉最好保留默认值;

-Xss 每个线程的Stack大小,不熟悉最好保留默认值;
  阅读全文
posted @ 2010-08-17 10:08 Werther 阅读(6853) | 评论 (0)编辑 收藏
     摘要: Java程序中也可能会发生内存泄露的问题,但是Java中引入了垃圾回收机制。这里所说的垃圾就是那些泄露的内存。
在Java语言中,没有引用句柄指向的类对象最容易成为垃圾。  阅读全文
posted @ 2010-07-06 16:27 Werther 阅读(1255) | 评论 (0)编辑 收藏
     摘要: 通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。  阅读全文
posted @ 2010-07-06 16:12 Werther 阅读(2488) | 评论 (4)编辑 收藏
     摘要: JAVA已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握JAVA技术,深入理解底层的技术处理细节必不可少。对核心概念和思想的掌握可以帮助我们举一反三、触类旁通,有助于提升我们对整个Java平台的理解力。这里所介绍的是Java技术平台的几个核心概念,其中所蕴含的思想有助于我们更深刻的理解Java技术。  阅读全文
posted @ 2010-06-30 12:59 Werther 阅读(799) | 评论 (0)编辑 收藏
     摘要: 这是一些分析jQuery框架的文字
针对jQuery 1.3.2版本

面向的读者应具备以下要求

1.非常熟悉HTML
2.非常熟悉javascript语法知识
3.熟悉javascript面向对象方面的知识
4.熟练使用jQuery框架  阅读全文
posted @ 2010-05-05 22:50 Werther 阅读(3227) | 评论 (7)编辑 收藏
     摘要: set --其中的值不允许重复,无序的数据结构
list --其中的值允许重复,因为其为有序的数据结构
map--成对的数据结构,健值必须具有唯一性(键不能同,否则值替换)   阅读全文
posted @ 2010-03-17 11:01 Werther 阅读(768) | 评论 (0)编辑 收藏
     摘要: 由于Struts框架在全球的广泛使用,学习它的人也非常之多,但是大部分人花费了太多不必要的时间和精力在一些不太重要的地方,导致学习代价高昂,成效也不是很好。我这里根据多年学习经验的总结,精心设计了一套学习Struts框架的曲线,让大伙学习Struts框架既快且准,节省大伙宝贵的时间,一定会对各位学习者大有帮助。  阅读全文
posted @ 2010-02-24 14:30 Werther 阅读(2332) | 评论 (2)编辑 收藏
     摘要: 一、Struts2 的简介

1. 虽然 struts2 号称是一个全新的框架,但是这仅仅是相对于 struts1 而言的.

2. Struts2 和 struts1 相比,确实有很多革命性的改进,但是并不是新发布的新框架

3. 是另一个框架 WebWork 基础上发展起来的.

4. Struts2 没有继承 struts1 的血统,而是继承 webWork 的血统.

5. struts2是 WebWork 的升级,而不是一个全新的框架,稳定性和性能等各方面都有很好的保证

6. 而且吸收了 struts1 和 WebWork 两者的优势,因此是一个非常值得期待的框架
  阅读全文
posted @ 2010-02-22 09:20 Werther 阅读(655) | 评论 (0)编辑 收藏
     摘要: 一个软件项目从开始到结束,由于资源、人员、管理、方法学等等各方面的因素,往往不可避免的会存在一些问题,如需求不明确、项目管理失败、沟通问题等等,今天无意中看到老外写的关于这方面的一篇文章,总结的比较全面,翻译过来结合自己的一些经验做了点补充和修改,存档以备时常可以告诫一下自己。  阅读全文
posted @ 2010-02-06 14:01 Werther 阅读(534) | 评论 (0)编辑 收藏
     摘要: 轻松搞定 ExtJS
http://download.csdn.net/source/1801086   阅读全文
posted @ 2010-02-06 13:14 Werther 阅读(760) | 评论 (0)编辑 收藏
     摘要: 键盘上每个键作用
F1帮助
F2改名
F3搜索
F4地址
F5刷新
F6切换
F10菜单   阅读全文
posted @ 2010-02-03 12:52 Werther 阅读(537) | 评论 (0)编辑 收藏
     摘要: 我们需要先到http://www.sysdeo.com/eclipse/tomcatPlugin.html去下载Tomcat插件,tomcatPluginV3.zip解压后将文件夹com.sysdeo.eclipse.tomcat_3.0.0拷贝到Eclipse的plugins目录下。之后再启动Eclipse ,在IDE中选择“Window”菜单的“Customize Perspective…”,展开弹出窗口的Other结点(或Commands结点,eclipse 3.2),可以看到下面有Tomcat选项,打上钩按“OK”关闭窗口。做完了这一步,在IDE的工具栏就会有变化,是不是兴奋地看到了可爱的Tomcat小猫图标呢!不过别急着去按小猫按钮,还需要到“Window”菜单的“preferences”去做些设置,正确选择你所安装的Tomcat版本,指定Tomcat主目录和Tomcat的server.xml配置文件,然后展开Tomcat,选下面的JVM Setting,选择JRE为“Detected VM”(在eclipse 3.2版中可不设置,但要把TOMCAT不以DEBU  阅读全文
posted @ 2010-01-28 20:15 Werther 阅读(9649) | 评论 (1)编辑 收藏
     摘要: 如果我们需要实现一个配置管理的功能,那么为每个配置项目增加一个字段既复杂也不利于扩展,所以我们通常使用一个字符串来保存配置项目信息,这里介绍如何使用json的字符串解析来达到刚才说的目的。引入Json需要的类库:
  阅读全文
posted @ 2010-01-20 17:59 Werther 阅读(3219) | 评论 (0)编辑 收藏
     摘要: 基于prototype库实现,除了常见的各种树功能(展开,收缩,添加/删除/编辑节点)以外,它还提供了很多强大的特性:
1. 支持拖拉 (drag/drop)
2. 支持ajax/json
3. 支持checkbox,并且有3态(全选,不选,部分选择)
4. 支持各种鼠标和键盘事件
  阅读全文
posted @ 2010-01-18 20:13 Werther 阅读(1944) | 评论 (3)编辑 收藏
     摘要: 今天下载了一个新的eclipse-jee-galileo-SR1-win32.zip,解压后发现无法启动,不知道为什么,提示错误: JVM terminated. Exit code=-1....。  阅读全文
posted @ 2010-01-18 09:52 Werther 阅读(431) | 评论 (0)编辑 收藏
     摘要: Google的使用技巧!  阅读全文
posted @ 2010-01-14 09:33 Werther 阅读(673) | 评论 (4)编辑 收藏
     摘要: 在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员。  阅读全文
posted @ 2010-01-13 12:56 Werther 阅读(326) | 评论 (0)编辑 收藏
     摘要: 当我们编写完代码,做完单元测试等各种测试后就提交正式运行,只能由运行的系统来检测我们代码是否有问题了,代码中隐藏的错误在系统运行的过程中被发现后,然后再来进行相应的修改,那么后期修改的代价就相当高了。  阅读全文
posted @ 2010-01-11 08:55 Werther 阅读(2125) | 评论 (0)编辑 收藏
     摘要: 以下操作基于: 进入control panel(控制面板),切换到经典模式,启动Regional and Language Options(区域与语言选项)  阅读全文
posted @ 2010-01-11 08:23 Werther 阅读(524) | 评论 (0)编辑 收藏
     摘要: ntsd 是一条dos命令,功能是用于结束一些常规下结束不了的死进程。
用法为打开cmd 后输入以下命令就可以结束进程:
方法一:利用进程的PID结束进程  阅读全文
posted @ 2010-01-07 17:04 Werther 阅读(659) | 评论 (0)编辑 收藏
     摘要: 最基本的弹出窗口代码   阅读全文
posted @ 2010-01-07 12:53 Werther 阅读(354) | 评论 (0)编辑 收藏
     摘要: JS自带函数  阅读全文
posted @ 2010-01-05 17:26 Werther 阅读(303) | 评论 (0)编辑 收藏
     摘要: 前一段第一次配置DWR,按照一些说明文档配置,结果总是有问题,最后我用这种简单的方法搞定了,同大家分享一下,让第一次配置DWR的朋友再也不会像我这样痛苦。  阅读全文
posted @ 2009-12-30 09:44 Werther 阅读(1490) | 评论 (1)编辑 收藏
     摘要: 今天解决了一个关于排序的很奇怪的问题,在数据里面定义的是varchar类型,实际存放的是Int类型的数据,按一下查询语句进行排序:  阅读全文
posted @ 2009-12-25 10:46 Werther 阅读(2785) | 评论 (1)编辑 收藏
     摘要: Workbook类提供的方法,API提供了两种方式来处理可写入的输出流,一种是直接生成本地文件,如果文件名不带全路径的话,缺省的文件会定位在当前目录,如果文件名带有全路径的话,则生成的Excel文件则会定位在相应的目录;另外一种是将Excel对象直接写入到输出流,例如:用户通过浏览器来访问Web服务器,如果HTTP头设置正确的话,浏览器自动调用客户端的Excel应用程序,来显示动态生成的Excel电子表格。   阅读全文
posted @ 2009-12-17 18:14 Werther 阅读(1657) | 评论 (1)编辑 收藏
     摘要: UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。   阅读全文
posted @ 2009-12-14 17:19 Werther 阅读(3059) | 评论 (3)编辑 收藏
     摘要: instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。  阅读全文
posted @ 2009-11-25 09:47 Werther 阅读(412) | 评论 (0)编辑 收藏
     摘要: 现在流行的Twitter等微博客网站,有一个很好的用户体验,就是在文本框中输入文字的时候,会自动统计输入的字符,并显示用户还能输入的字符,在限制了140个字的微博客中,这样的小提示可以很好的增强用户体验。   阅读全文
posted @ 2009-11-23 16:41 Werther 阅读(305) | 评论 (0)编辑 收藏
     摘要: Map是一种以键值对的形式存在的集合,其中每个键映射到一个值,几乎所有通用 Map 都使用哈希映射。位于java.util包中。其子类有HashMap,TreeMap。HashMap缺省的情况下是线程非安全的;当多线程访问时可能需要提供同步机制,key和value的值允许为null,键值允许重复,没有顺序。

  阅读全文
posted @ 2009-11-23 09:21 Werther 阅读(739) | 评论 (1)编辑 收藏
     摘要: 在mysql中利用select语句的一个特性就可以很方便地实现查询结果的分页  阅读全文
posted @ 2009-11-19 17:47 Werther 阅读(258) | 评论 (0)编辑 收藏
     摘要: 我们在页面显示的时候,都希望页面整整齐齐,不希望相同的显示表单,显示的效果相差大小不统一,如:一个文本框有过多的内容,在页面显示出来的结果就会自动换行,导致显示的结果以两行或更多行进行显示,如果内容较少,怎只要一行即可,所以,为了杜绝页面显示的杂乱,我们需要在action层对要显示的内容进行处理,如果超过多少字符,后面用... ... (省略号)代替.  阅读全文
posted @ 2009-11-19 10:33 Werther 阅读(1385) | 评论 (3)编辑 收藏
     摘要: logic:present 和 logic:empty他们的用法大致相同,唯一的不同点是:两者在对空字符串的处理上存在着不同。  阅读全文
posted @ 2009-11-10 12:45 Werther 阅读(1875) | 评论 (0)编辑 收藏
     摘要: 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……   阅读全文
posted @ 2009-11-06 13:01 Werther 阅读(423) | 评论 (0)编辑 收藏
     摘要: 世上,每一个人一生都会拥有多种财富,这些财富没有贫贱之分,只要好好把握,它将永远伴随你。
  阅读全文
posted @ 2009-11-03 12:26 Werther 阅读(155) | 评论 (0)编辑 收藏
     摘要: mstsc--远程桌面连接
logoff--注销命令
rononce -p --15秒关机   阅读全文
posted @ 2009-10-22 12:59 Werther 阅读(362) | 评论 (0)编辑 收藏
     摘要: 如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提供一些有用的指导(其中大多数也可以用于其它的DBMS)。
在这里,我不打算介绍使用SQL Server的窍门,也不能提供一个包治百病的方案,我所做的是总结一些经验----关于如何形成一个好的设计。这些经验来自我过去几年中经受的教训,一直来,我看到许多同样的设计错误被一次又一次的重复。
  阅读全文
posted @ 2009-10-22 12:53 Werther 阅读(289) | 评论 (0)编辑 收藏
     摘要: 一、概述
正则表达式是Java处理字符串、文本的重要工具。
Java对正则表达式的处理集中在以下两个两个类:
java.util.regex.Matcher 模式类:用来表示一个编译过的正则表达式。
java.util.regex.Pattern 匹配类:用模式匹配一个字符串所表达的抽象结果。  阅读全文
posted @ 2009-10-17 11:16 Werther 阅读(594) | 评论 (0)编辑 收藏
     摘要: 职业化是软件工程师的必然选择。本文根据我在教学和软件开发管理方面的实践,列举几个软件工程师“不职业”的行为或习惯,从另外一个侧面进一步探讨什么是真正的软件工程师职业化。  阅读全文
posted @ 2009-10-09 12:22 Werther 阅读(322) | 评论 (0)编辑 收藏
     摘要: 题计:这里给出java解析xml,以帮助人们理解许多容器是怎么做的。。像spring,struts等.
  阅读全文
posted @ 2009-09-08 12:51 Werther 阅读(336) | 评论 (0)编辑 收藏
     摘要: 1、下载安装下载:http://ant.apache.org
需要设置的环境变量:

ANT_HOME:ant的安装目录

JAVA_HOME:jdk的安装目录

PATH:把%ANT_HOME%\bin目录加到path变量,以便于从命令行下直接运行ant

假定ant解压在c:\ant jdk装d:\j2sdk1.4.0
  阅读全文
posted @ 2009-08-20 22:07 Werther 阅读(1374) | 评论 (0)编辑 收藏
     摘要: 我以前备份都使用mysqldump,导成文本文件便于存放,但是速度很慢的。最快的备份方法当然是直接把数据目录copy一份了。但是一般来说,都要关闭 MySQL的服务才能做,不然在你copy的时候刚好还有人读写表那麻烦就大了。这次朋友介绍我使用mysqlhotcopy。就相当于上面,不过他可以热备份.他备份非常快,我测试一个2.8G的mysql他备份的时间在3分钟内完成.   阅读全文
posted @ 2009-08-19 12:53 Werther 阅读(851) | 评论 (0)编辑 收藏
     摘要: 我们这里说说四种浏览器对 document.body 的 clientHeight、offsetHeight 和 scrollHeight 的解释,这里说的是 document.body,如果是 HTML 控件,则又有不同,点击这里查看。

这四种浏览器分别为IE(Internet Explorer)、NS(Netscape)、Opera、FF(FireFox)。
  阅读全文
posted @ 2009-08-17 14:41 Werther 阅读(423) | 评论 (0)编辑 收藏
     摘要: 在Eclipse同CVS服务器同步之前,要先刷新,否则可能会因为在Eclipse外面编辑的文件,Eclipse中没有刷新而导致同步报错,可以将Eclipse设置为自动刷新,操作方法:Window->Preferences->Workbench,选中Refresh workspace automatically。即使如此,仍然可能出现问题,因为Eclipse刷新可能会有一定延迟,所以在报错时,手动刷新一下,再同步。  阅读全文
posted @ 2009-08-11 13:03 Werther 阅读(342) | 评论 (0)编辑 收藏
     摘要: CVS - Concurrent Versions System(并发版本管理系统)是一个版本控制管理系统,它是目前最为广泛使用的一个系统。   阅读全文
posted @ 2009-08-11 12:56 Werther 阅读(526) | 评论 (0)编辑 收藏
     摘要: 前几天去到一家公司去面试,遇到了如下三道题,个人觉得挺有意思的,分享给大家看看,过几天在将正确的答案发布在上面,大家可以像想一想能不能做出来:  阅读全文
posted @ 2009-08-09 19:32 Werther 阅读(450) | 评论 (4)编辑 收藏
     摘要: 1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。
2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.
3.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Get是在Http头部传输的。   阅读全文
posted @ 2009-08-06 20:36 Werther 阅读(397) | 评论 (1)编辑 收藏
     摘要: 迭代这个名词对于熟悉Java的人来说绝对不陌生。我们常常使用JDK提供的迭代接口进行java collection的遍历:
Iterator it = list.iterator();
while(it.hasNext()){
 //using “it.next();”do some businesss logic
}
而这就是关于迭代器模式应用很好的例子。
  阅读全文
posted @ 2009-08-05 20:45 Werther 阅读(500) | 评论 (0)编辑 收藏
     摘要: 下载Xdoclet,网址:http://xdoclet.sourceforge.net/
新建包com.test.model,存放实体类Group,User  阅读全文
posted @ 2009-08-04 21:44 Werther 阅读(1354) | 评论 (0)编辑 收藏
     摘要: Java常用工具下载  阅读全文
posted @ 2009-07-29 21:16 Werther 阅读(361) | 评论 (0)编辑 收藏
     摘要: 在很多大型应用中都会对数据进行切分,并且采用多个数据库实例进行管理,这样可以有效提高系统的水平伸缩性。而这样的方案就会不同于常见的单一数据实例的方案,这就要程序在运行时根据当时的请求及系统状态来动态的决定将数据存储在哪个数据库实例中,以及从哪个数据库提取数据。   阅读全文
posted @ 2009-07-27 21:54 Werther 阅读(4800) | 评论 (6)编辑 收藏
     摘要: Struts2入门及基础配置

从Apache官方网站下载Struts2的文件(http://struts.apache.org/2.1.6/index.html)

struts-2.0.14解压后包含了5个文件夹,如下是针对五个文件的说明:
  阅读全文
posted @ 2009-07-23 16:57 Werther 阅读(2420) | 评论 (1)编辑 收藏
     摘要: 在 Java 程序中使用多线程要比在 C 或 C++ 中容易得多,这是因为 Java 编程语言提供了语言级的支持。本文通过简单的编程示例来说明 Java 程序中的多线程是多么直观。读完本文以后,用户应该能够编写简单的多线程程序。   阅读全文
posted @ 2009-07-21 15:30 Werther 阅读(11598) | 评论 (5)编辑 收藏
     摘要: 告诉那些Netbook用户一个天大的好消息哦!有一个相当简单的方法来安装Windows7RC版,就算你没有一个外接的DVD驱动器!
下载过Windows7Beta版或者RC版的朋友,应该都知道微软官方提供的是一个ISO文件,我们需要把它刻录成DVD光盘来安装系统。但是Netbook用户基本都没有DVD驱动,我们以往只能去找一个外接的DVD来安装Windows。
  阅读全文
posted @ 2009-07-17 00:23 Werther 阅读(267) | 评论 (0)编辑 收藏
     摘要: 这是我在JavaIdioms(http://www.c2.com/cgi/wiki?JavaIdioms)上看到一个Java使用技巧。使用Java这么多年了,也还是头一次看到,还很实用。别看这小技巧好像很简单,但保证你不会在任何一书Java教材上看到,因为它不是一个真正的语法规范,而是一个语法的用法变种。小技巧还蕴含着Java的深层知识,就是身经百战的老手也不一定能说出其中奥妙。  阅读全文
posted @ 2009-07-14 16:47 Werther 阅读(1772) | 评论 (4)编辑 收藏
     摘要: 对于软件而言,所选择的模型将在很大程度上影响对领域的看法。如果以数据库开发者的观点建造一个系统,可能会注意实体—联系模型,该模型把行为放入触发器和存储过程中。如果以结构化开发者的观点建造一个系统,可能得到以算法为中心的模型,其中包含从处理到处理的数据流。如果以面向对象开发者的观点建造一个系统,将可能得到这样一个系统:它的体系结构以一组类和交互模式(指出类如何一起工作)为中心。可执行的模型对测试有很大帮助。上述的任何一种方法对于给定的应用系统和开发文化都可能是正确的,经验表明,在构建有弹力的体系结构中面向对象的方法表现得更为出众,即使对使用大型数据库或计算单元的系统也是如此。尽管事实如此,但要强调一点,不同的方法将导致不同种类的系统,并且代价和收益也是不同的。
  阅读全文
posted @ 2009-07-10 23:28 Werther 阅读(265) | 评论 (0)编辑 收藏
     摘要:  如果想搭一个狗窝,备好木料、钉子和一些基本工具(如锤子、锯和卷尺)之后,就可以开始工作了。从制定一点初步计划到完成一个满足适当功能的狗窝,可能不用别人帮助,在几个小时内就能够实现。只要狗窝够大且不太漏水,狗就可以安居。如果未能达到希望的效果,返工总是可以的,无非是让狗受点委屈。  阅读全文
posted @ 2009-07-09 23:17 Werther 阅读(266) | 评论 (0)编辑 收藏
     摘要: 单例模式
定义:
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。   阅读全文
posted @ 2009-07-08 09:03 Werther 阅读(4358) | 评论 (2)编辑 收藏
     摘要: 典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。  阅读全文
posted @ 2009-07-06 20:13 Werther 阅读(634) | 评论 (0)编辑 收藏
     摘要: 垃圾回收是Java语言的一大特性,方便了编程,是以消耗性能为代价的。而垃圾在这里只无用的对象。而C++是需要程序员自己写析构函数来释放内存的,麻烦,也有可能忘记而导致内存泄露。

Java语言对内存的分配管理是通过JVM内部机制决定的。程序员可以不关心其处理。
  阅读全文
posted @ 2009-07-05 21:53 Werther 阅读(2298) | 评论 (4)编辑 收藏
     摘要: 經典的SQL Connection.  阅读全文
posted @ 2009-07-03 14:04 Werther 阅读(309) | 评论 (0)编辑 收藏
     摘要: Mysql日期和时间函数  阅读全文
posted @ 2009-07-03 11:25 Werther 阅读(247) | 评论 (0)编辑 收藏
     摘要:  Spring的哲学是在不影响Java对象的设计的情况下将Java对象加入到框架中。 我们下面来看看Spring的工作原理,看看Spring是如何做到不影响Java对象的。   阅读全文
posted @ 2009-07-02 17:34 Werther 阅读(1813) | 评论 (2)编辑 收藏
     摘要: Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式.  阅读全文
posted @ 2009-06-30 17:22 Werther 阅读(307) | 评论 (0)编辑 收藏
     摘要: 一、事务管理
事务传播
1、required:方法在一个事务中执行,如果调用的方法在一个事务中,则使用该事务,否则将创建一个新的事务。(必须有,有就用,没有就建)
2、mandatory:如果运行于事务中的客户调用了该方法,方法在客户的事务中执行。如果客户没有关联到事务中,容器就会抛出TransactionRequiredException.(必须有,有就用,没有报错)   阅读全文
posted @ 2009-06-29 17:22 Werther 阅读(1930) | 评论 (1)编辑 收藏
     摘要: Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。
我们在使用Spring声明式事务时,有一个非常重要的概念就是事务属性。事务属性通常由事务的传播行为,事务的隔离级别,事务的超时值和事务只读标志组成。我们在进行事务划分时,需要进行事务定义,也就是配置事务的属性。   阅读全文
posted @ 2009-06-26 17:55 Werther 阅读(180) | 评论 (0)编辑 收藏
     摘要: 切面(Aspect): 一个关注点的模块化,这个关注点可能会横切多个对象。事务管理是J2EE应用中一个关于横切关注点的很好的例子。 在Spring AOP中,切面可以使用通用类(基于模式的风格) 或者在普通类中以 @Aspect 注解(@AspectJ风格)来实现。   阅读全文
posted @ 2009-06-25 17:27 Werther 阅读(1309) | 评论 (0)编辑 收藏
     摘要: 针对Oracle数据库而言,Fetch Size 是设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数,一般设置为30、50、100.Oracle数据库的JDBC驱动默认的Fetch Size=15,设置Fetch Size设置为:30、50,性能会有明显提升,如果继续增大,超出100,性能提升不明显,反而会消耗内存。   阅读全文
posted @ 2009-06-24 17:08 Werther 阅读(262) | 评论 (0)编辑 收藏
     摘要: (一)Hibernate的二级缓存策略的一般过程如下:

1) 条件查询的时候,总是发出一条select * from table_name where …. (选择所有字段)这样的SQL语句查询数据库,一次获得所有的数据对象。

2) 把获得的所有数据对象根据ID放入到第二级缓存中。

3) 当Hibernate根据ID访问数据对象的时候,首先从Session一级缓存中查;查不到,如果配置了二级缓存,那么从二级缓存中查;查不到,再查询数据库,把结果按照ID放入到缓存。

4) 删除、更新、增加数据的时候,同时更新缓存。

Hibernate的二级缓存策略,是针对于ID查询的缓存策略,对于条件查询则毫无作用。为此,Hibernate提供了针对条件查询的Query Cache。
  阅读全文
posted @ 2009-06-23 17:32 Werther 阅读(1685) | 评论 (2)编辑 收藏
     摘要: 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的 “锁” ,即给我们选定的目标数据上锁,使其无法被其他程序修改。Hibernate 支持两种锁机制:即通常所说的 “悲观锁( Pessimistic Locking )”和 “乐观锁( Optimistic Locking )”  阅读全文
posted @ 2009-06-22 17:25 Werther 阅读(329) | 评论 (0)编辑 收藏
     摘要: Hibernate在解决性能问题方面做得非常好。有了它的缓存机制,使用第三方缓存和数据库连接池,就较好的解决的性能问题。但这些还不够,hibernate给了开发者足够的自由,让开发者自己去控制性能问题。   阅读全文
posted @ 2009-06-18 17:21 Werther 阅读(5760) | 评论 (15)编辑 收藏
     摘要:  JAVA语言已经慢慢的在成为主流的开发语言之一,或者说现在已经成为了主流的开发语言。在JAVA语言平台上,也出现了多种开发模型。对于刚入门的JAVA程序员来说,也许面对这么多的开发模型,会眼花缭乱,不知道该如何选择。笔者刚开始接触JAVA语言的时候没有多少的开发模型可以选择。而前几年笔者也遇到了这个问题。可选的开发模型比较多,笔者必须选择一个开发模型作为未来自己的主攻方向。因为人的精力是有限的,特别是我们做程序开发的。我们要把有限的精力花在刀口上。笔者在这里向大家推荐EJB开发模型。   阅读全文
posted @ 2009-06-17 22:51 Werther 阅读(281) | 评论 (0)编辑 收藏
     摘要: 以前用session时只知道session是和服务器连接的一个会话,有几个常用的接口。
这两天仔细看了下这方面的资料,在这里和大家一起分享,如果有写的不正确的地方,请指正,谢谢。
下面我们在一个servlet中写测试程序,class名为SeesinInfoServlet,我们一般在程序中取得session是用
request的getSession()来取得容器中的session,该方法当容器中已经存在了该session的时候,返回已经存
在的session,否则创建一个新的session,然后返回创建的session。  阅读全文
posted @ 2009-06-16 22:53 Werther 阅读(341) | 评论 (0)编辑 收藏
     摘要: Struts 1.1引入了对多配置文件的支持。每一个Struts配置文件都必须是一个有效的XML 文件并且必须符合struts-config XML DTD。在可以在web.xml中将这些文件声明为ActionServlet的初始化参数config的值。你可以将这些文件指定为逗号分隔的路径列表。运行时,这些文件会在内存中合并成一个文件。如果出现重复元素,比如具有相同的name属性的两个不同的form bean 声明,则最后一个读入的Struts配置优先。  阅读全文
posted @ 2009-06-15 18:47 Werther 阅读(298) | 评论 (0)编辑 收藏