仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 548|回复: 11
打印 上一主题 下一主题

[学习教程] JAVA网站制作之优化hibernate功能的几点倡议

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。功能|优化  1、针对oracle数据库而言,FetchSize是设定JDBC的Statement读取数据的时分每次从数据库中掏出的纪录条数,一样平常设置为30、50、100。Oracle数据库的JDBC驱动默许的FetchSize=15,设置FetchSize设置为:30、50,功能会有分明提拔,假如持续增年夜,超越100,功能提拔不分明,反而会损耗内存。

  即在hibernate配制文件中举行配制:

1<propertyname="hibernateProperties">
2<props>
3<propkey="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
4<propkey="hibernate.show_sql">false</prop>
5<!--Create/updatethedatabasetablesautomaticallywhentheJVMstartsup
6<propkey="hibernate.hbm2ddl.auto">update</prop>-->
7<!--TurnbatchingoffforbettererrormessagesunderPostgreSQL
8<propkey="hibernate.jdbc.batch_size">100</prop>-->
9<propkey="hibernate.jdbc.batch_size">50</prop>
10</props>
11</property>FetchSize设的越年夜,读数据库的次数越少,速率越快;FetchSize越小,读数据库的次数越多,速率越慢。

  2、假如是超年夜的体系,倡议天生htm文件。加速页面提拔速率。

  3、不要把一切的义务推在hibernate上,对代码举行重构,削减对数据库的操纵,只管制止在数据库查询时利用in操纵,和制止递回查询操纵,代码质量、体系计划的公道性决意体系功能的上下。

  4、对年夜数据量查询时,慎用list()大概iterator()前往查询了局,

  (1).利用List()前往了局时,Hibernate会一切查询了局初始化为耐久化对象,了局集较年夜时,会占用良多的处置工夫。

  (2).而利用iterator()前往了局时,在每次挪用iterator.next()前往对象并利用对象时,Hibernate才挪用查询将对应的对象初始化,关于年夜数据量时,每挪用一次查询城市消费较多的工夫。当了局集较年夜,可是含有较大批不异的数据,大概了局集不是全体城市利用时,利用iterator()才有上风。

  5、在一对多、多对一的干系中,利用提早加载机制,会使很多的对象在利用时方会初始化,如许可以使得节俭内存空间和削减数据库的负荷,并且若PO中的汇合没有被利用时,便可削减互数据库的交互从而削减处置工夫。

  6、对含有联系关系的PO(耐久化对象)时,若default-cascade="all"大概“save-update”,新增PO时,请注重对PO中的汇合的赋值操纵,由于有大概使很多实行一次update操纵。

  7、关于年夜数据量新增、修正、删除操纵大概是对年夜数据量的查询,与数据库的交互次数是决意处置工夫的最主要要素,削减交互的次数是提拔效力的最好路子,以是在开辟过程当中,请将show_sql设置为true,深切懂得Hibernate的处置历程,实验分歧的体例,可使得效力提拔。尽量对每一个页面的显现,对数据库的操纵削减到100----150条之内。越少越好。

  以上是在举行struts+hibernate+spring举行项目开辟中,对hibernate功能优化的几点心得。
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-20 17:29:55 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
飘灵儿 该用户已被删除
板凳
发表于 2015-1-29 13:39:10 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
小妖女 该用户已被删除
地板
发表于 2015-1-30 14:16:09 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
再现理想 该用户已被删除
5#
发表于 2015-2-4 20:43:21 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
山那边是海 该用户已被删除
6#
发表于 2015-2-9 23:06:18 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
冷月葬花魂 该用户已被删除
7#
发表于 2015-2-28 04:13:34 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
8#
发表于 2015-3-6 19:04:43 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-13 06:09:17 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
小魔女 该用户已被删除
10#
发表于 2015-3-13 06:09:17 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
若天明 该用户已被删除
11#
发表于 2015-3-13 08:08:41 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
分手快乐 该用户已被删除
12#
发表于 2015-3-20 17:13:05 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-27 13:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表