代码改变世界

随笔档案-2012年03月

Tomcat简介(zz)

2012-03-14 09:12 by Batys, 303 阅读, 收藏,
摘要: 一、Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。其次,Tomcat是完全免费. 阅读全文

Tomcat工作原理(小结)

2012-03-14 08:51 by Batys, 451 阅读, 收藏,
摘要: Tomcat是Servlet运行环境(容器),每个servlet执行init(),service(),destory()以下是servlet的作用Servlet的调用Tomcat的工作模式3种:独立Servlet,进程内servlet,进程外servlet。Tomcat是一个基于组件的服务器,他的构建组件都是可以配置的,其中最外层的组件是Catalina Servlet容器,其他组阿金一定要按照一定的格式要求配置在这个顶层的容器中。 Tomcat各个组件是在$CATLINA_HOME/conf/server.xml文件中配置的。<Server> 顶层类元素,可包... 阅读全文

Hibernate主键生成方式(zz)

2012-03-12 15:33 by Batys, 560 阅读, 收藏,
摘要: 1) assigned主键由外部程序负责生成,无需Hibernate参与。2) hilo通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。3) seqhilo与hilo 类似,通过hi/lo 算法实现的主键生成机制,只是主键历史状态保存在Sequence中,适用于支持Sequence的数据库,如Oracle。4) increment主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。这种方式可能产生的问题是:如果当前有多个实例访问同一个数据库,那么由于各个实例各自维护主键状态,不同 阅读全文

Hibernate程序性能优化的考虑要点

2012-03-12 14:24 by Batys, 260 阅读, 收藏,
摘要: 本文依照HIBERNATE帮助文档,一些网络书籍及项目经验整理而成,只提供要点和思路,具体做法可以留言探讨,或是找一些更详细更有针对性的资料。 初用HIBERNATE的人也许都遇到过性能问题,实现同一功能,用HIBERNATE与用JDBC性能相差十几倍很正常,如果不及早调整,很可能影响整个项目的进度。 大体上,对于HIBERNATE性能调优的主要考虑点如下: Ø 数据库设计调整 Ø HQL优化 Ø API的正确使用(如根据不同的业务类型选用不同的集合及查询API) Ø 主配置参数(日志,查询缓存,fetch_size, batch_size等)  阅读全文

Hibernate一对多数据关联(zz)

2012-03-12 09:12 by Batys, 330 阅读, 收藏,
摘要: 一对多数据关联一.单向一对多数据关联一个用户有多个地址,在用户类TUser中包含地址类TAddress集合。1.数据模型2.表定义sqlusesample;DROPTABLET_Address;DROPTABLET_User;CREATETABLET_User(idINTNOTNULLAUTO_INCREMENT,nameVARCHAR(50),ageINT,PRIMARYKEY(id));CREATETABLET_Address(idINTNOTNULLAUTO_INCREMENT,addressVARCHAR(200),zipcodeVARCHAR(10),telVARCHAR(20),t 阅读全文

对面向对象设计的理解—Java接口和Java抽象类(zz)

2012-03-11 19:08 by Batys, 449 阅读, 收藏,
摘要: 在没有好好地研习面向对象设计的设计模式之前,我对Java接口和Java抽象类的认识还是很模糊,很不可理解。刚学Java语言时,就很难理解为什么要有接口这个概念,虽说是可以实现所谓的多继承,可一个只有方法名,没有方法体的东西,我实现它又有什么用呢?我从它那什么也得不到,除了一些方法名,我直接在具体类里加入这些方法不就行了吗?为什么一定要有抽象类这个概念?为什么就不能把这个父类写成一个具体的类,子类再继承它不就可以了吗?何必弄一个抽象类出来,还要弄一些没有方法体的抽象方法,弄得又象接口又象类的,让人捉摸不定。当我开始学习java设计模式,真正走进面向对象设计的大门之后,我才发现,自己对面向对象设计 阅读全文

Java与编码字符集(zz)

2012-03-11 18:24 by Batys, 1043 阅读, 收藏,
摘要: 本文介绍了编码字符集的概念以及Java与编码字符集之间的关系,文章的内容来自于本人工作过程中的经验积累以及网络中的相关文章介绍,如果文章中有任何纰漏欢迎读者指正,让我们共同讨论学习J1.字符字符是抽象的最小文本单位。它没有固定的形状(可能是一个字形),而且没有值。“A”是一个字符,“€”(德国、法国和许多其他欧洲国家通用货币的标志)也是一个字符。“中”“国”这是两个汉字字符。字符仅仅代表一个符号,没有任何实际值的意义。2.字符集字符集是字符的集合。例如,汉字字符是中国人最先发明的字符,在中文、日文、韩文和越南文的书写中使用。这也说明了字符和字符集之间的关系,字符组成字符集。3.编码字符集编码字 阅读全文

hibernate二级缓存攻略(zz)

2012-03-08 10:13 by Batys, 199 阅读, 收藏,
摘要: 转自javaEye很多人对二级缓存都不太了解,或者是有错误的认识,我一直想写一篇文章介绍一下hibernate的二级缓存的,今天终于忍不住了。我的经验主要来自hibernate2.1版本,基本原理和3.0、3.1是一样的,请原谅我的顽固不化。hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了。二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache、oscache等,需要设置hibernate.cache.provider_c 阅读全文

5款最佳编程文本编辑器

2012-03-06 09:05 by Batys, 441 阅读, 收藏,
摘要: 很多场合下我们会用到纯文本编辑器,Windows自带的记事本功能很简陋,因此我们从网友的投票提名中选取了前五个最佳的文本编辑器(实际上有六个)。这些编辑器实际上主要适合程序员使用,他们的清单如下。 Notepad++(Windows) 优于Windows记事本的一个文本编辑器,完全免费且开源,对于不同的编程语言可以实现语法高亮,代码折叠以及宏,起可定制性非常强。 Emacs(所有平台) Emacs文本编辑器深受高级程序员的喜爱,具有内置的宏功能以及强大的键盘命令,这对于编辑代码来说真是一种享受,这个程序几乎被移植到了每一个平台,并有多个发行版,其中最流行的是GNU Emacs和XEma... 阅读全文