仓酷云

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

[学习教程] JAVA网站制作之Hibernate 3.3:从头计划、模块化JARS及重构的缓存体系仓酷云

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:33:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
唉!都是钱闹的1.Swing和.net网页编程开发比较------从市场份额看.net网页编程开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具Hibernate是一个基于Java的对象/干系(O/R)映照框架,明天公布了3.3版。InfoQ采访了项目向导者SteveEbersole以懂得该公布的一些情形及它向Hibernate增添的新特征。Hibernate3.3次要的新特征包含:

  • 从头计划、模块化JARs——如今有良多界说优秀的JARs,而不是一个年夜的JAR文件——这使得用户能够轻松懂得依附干系并将其最小化,同时还使得构造能够定制Hibernate,移除不必要的部分
  • 基于Maven的构建——如今Hibernate利用ApacheMaven构建体系举行构建
  • 修补的缓存SPI——依据反应重构了缓存体系以对分歧的缓存地区的特征举行精密把持
  • JBossCache2.x集成——基于新的缓存SPI,如今能够轻松集成JBossCache2.x
Ebersole还具体申明了新的缓存体系和JBossCache集成:
SPI的次要变更环绕着怎样在特定目标下构建缓存地区而睁开。基础上Hibernate必要缓存地区完成四个分歧的目标:实体数据、汇合数据、查询了局实时间戳更新。之前的SPI试图以单一体例处置这些分歧范例数据;实质上它试图以广泛的体例来看待数据缓存而不论所存储数据的特征。可是在理论中我们发明良多时分缓存集成器必要思索到那些分歧特征。比方在集群缓存中,让实体和汇合数据及查询和工夫戳更新地区同时生效也许很成心义。假如不基于地区称号接纳一些手腕的话,之前的SPI是不成能处置这类夹杂婚配的。新的SPI使这些区分变得明晰了然。比方有一个叫做“buildEntityRegion”大概“buildCollectionRegion”的办法,那末缓存集成器就能够断定特定地区的数据范例是能够持有并构建一个得当的设置好的缓存/地区的。JBossCache2.x集成如今是间接利用新的SPI的独一的缓存集成(其他的利用了毗连旧式和新式SPI的桥,如今已不倡议利用了)。一样,它充实使用了我下面提到的那些区分以使得用户能够为分歧地区界说分歧举动。JBossCache2.x相对JBossCache1.x来讲有两个详细的改善有助于Hibernate的利用。第一个是增添了“putForExternalRead”历程。当利用JBossCache1.x,我们在从数据库读取数据并将其放到JBossCache地区中,偶然会碰到功能成绩,乃至还会产生逝世锁。情形是如许的:当我们实验将只读数据放到节点上时,JBossCache必要一个写锁,只管全体操纵的语义必要的是一个读锁。然后该写锁堵塞了其他事件。JBossCache2.x引进了一个针对该用例而出格计划的办法,集成时就利用了该办法。
从利用Hibernate的角度来看JBossCache2.x中其他主要的改善就是它利用悲观锁更好地办理集群中有效的节点。最年夜的改动就是有一个“碑石(tombstone)”来反省有效的实体,如许前面如果实验往缓存中的该实体举行写进操纵时就会晓得有效的版本是甚么而且还会实行一个得当的版本查验。关于Hibernate来讲有效长短常主要的,由于这是最无效的运转集群实体缓存的体例。
会商的另外一个话题就是其他JPA完成怎样影响Hibernate:
当我第一次看到TopLink/OpenJPA时,我恰好在做Hibernate中的BytecodeProvider撑持事情。我真的喜好在类加载时就利用JVM代办署理来静态处置类,而不是在一个独自的构建步骤中举行。Hibernate并没有接纳这类体例,可是我盘算在Hibernate4.0中实验一下,由于当时Hibernate就不再撑持JDK1.4了。
比来跟着OSGi的日渐盛行,曾被说起的一个成绩就是当在OSGi容器中运转Hibernate时,偶然会呈现成绩。Ebersole说他们如今正在反省静态从头界说SessionFactory的功效,同时他们也晓得了一些类加载的成绩。可是Ebersole注重到hibernate-dev邮件列表上并没有人会商这些成绩,并且也只要几个JIRA对这些成绩举行了切磋,同时他还注重到就他所知,在Hibernate开辟团队中还没有人办理了这些成绩。Ebersole激烈地表达了他想与社区合作的希望,以期办理这些成绩和Hibernate中的其他任何成绩,他还说假如有人对OSGi感乐趣大概对其对照懂得而且想提拔Hibernate与OSGi的合作性,大概仅仅提出完成这些兼容性的一些倡议,他很乐意听取人人的定见。当被问到Hibernate的将来企图时,Ebersole说到:
既然3.3.0GA已公布了,我们会有一段工夫来办理JIRA中提出的关于3.3.x的一些成绩。
我们已在制订关于3.4和4.0的企图。一样平常而言,我们还没有真正会商过将来的线路图,可是由于3.4上的事情已入手下手而且其特征集基础上也已断定,我很愿意多说一些。我们将精神会合于功能改善和资本使用和使Hibernate运转在集群的妨碍恢复场景中。别的要说的就是“抓取剖析(fetchprofiles)”的引进,如许你就能够在元数据中创建定名的抓取战略然后在运转时静态使用Session上的那些剖析。关于3.4来讲这些都是年夜问题。
检察英文原文:Hibernate3.3:Redesigned,ModularJARsandaRefactoredCachingSystem
来自:http://www.infoq.com/cn/news/2008/08/hibernate33
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。
莫相离 该用户已被删除
沙发
发表于 2015-1-21 10:10:29 | 只看该作者
是一种为 Internet发展的计算机语言
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-26 16:41:49 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
活着的死人 该用户已被删除
地板
发表于 2015-2-4 20:31:12 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
再见西城 该用户已被删除
5#
发表于 2015-2-10 06:40:40 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
简单生活 该用户已被删除
6#
发表于 2015-2-28 23:44:34 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
小女巫 该用户已被删除
7#
发表于 2015-3-10 10:48:06 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
8#
发表于 2015-3-15 22:55:20 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
老尸 该用户已被删除
9#
发表于 2015-3-21 13:21:46 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
乐观 该用户已被删除
10#
发表于 2015-3-24 13:30:23 | 只看该作者
是一种为 Internet发展的计算机语言
兰色精灵 该用户已被删除
11#
发表于 2015-3-28 17:27:29 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
谁可相欹 该用户已被删除
12#
 楼主| 发表于 2015-4-1 03:09:32 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
山那边是海 该用户已被删除
13#
发表于 2015-4-12 04:42:11 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
只想知道 该用户已被删除
14#
发表于 2015-4-16 08:10:43 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
深爱那片海 该用户已被删除
15#
发表于 2015-4-21 05:57:14 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
灵魂腐蚀 该用户已被删除
16#
发表于 2015-4-26 21:09:36 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
若天明 该用户已被删除
17#
发表于 2015-4-27 01:09:11 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
透明 该用户已被删除
18#
发表于 2015-5-2 11:50:31 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
分手快乐 该用户已被删除
19#
发表于 2015-6-19 17:20:30 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
冷月葬花魂 该用户已被删除
20#
发表于 2015-6-21 07:47:24 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-2 07:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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