当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 作为异军突起的新型语言,Java定义了一个标准的运行环境,用户定义的类在其中得到执行。
 

 

 ·深入理解collections api    »显示摘要«
    摘要:一个 list l 可能被做如下排序: collections.sort(l); 如果这个 list 由 string 元素所组成, 那么它将按词典排序法(按字母顺序)进行排序; 如果它是由 date 元素所组成, 那么它将按年代顺序来排序。 java 怎么会知道该怎么做呢? 这一定是个魔术! 其实不然。实际上, string 和 date 均实现了comparable接口。 comparab......
    摘要:使用对称加密系统有一些缺点。由于只有一个秘钥能够解密密文,所以你必须把它随密文一起送出去,这就会引起一些风险:有人可能会截取到密钥。此外,每个接收者都必须有一个不同的密钥,所以你还要解决密钥管理的问题。 通过使用公钥和密钥,非对称加密法圆满地解决了这些问题。使用你的公钥,任何人都可以加密只能由你解开的信息。尽管你还是必须保护好自己的密钥,但是你的公钥可以任意发放或者放在某个中央库供人取用。在本文......


Java数据对象技术JDO(1)

作为异军突起的新型语言,java定义了一个标准的运行环境,用户定义的类在其中得到执行.这些用户自定义类的实例代表了真实环境中的数据,包括储存在数据库.文件或某些大型事务处理系统中的数据,而小型系统通常也需要一种在本地负责控制数据存储的机制. 

【程序编程相关:聚焦IPv6:技术成熟催生应用普及

【推荐阅读:阿尔卡特134亿美元并购朗讯 将裁员88

由于数据访问技术在不同的数据源类型中是不一样的,因此对数据进行访问成了给程序开发人员的一种挑战,程序员需要对每一种类型的数据源使用特定的编程接口(api),即必须至少知道两种语言来基于这些数据源开发业务应用:java语言与由数据源所决定的数据访问语言.这种数据访问语言一般根据数据源的不同而不同,这使得学习使用某种数据源的开发成本相应提升. 【扩展信息:IBM提供2万美元折扣 与微软争企业电邮

在java数据对象技术(jdo)发布之前,通常有三种方式用于存储java数据:串行化(即serialization,也称序列化).jdbc与ejb中的cmp(容控存储)方式.串行化用于将某个对象的状态,以及它所指向的其它对象结构图全部写到一个输出流中(比如文件.网络等等),它保证了被写入的对象之间的关系,这样一来,在另一时刻,这个对象结构图可以完整地重新构造出来.但串行化不支持事务处理.查询或者向不同的用户共享数据.它只允许在最初串行化时的粒度(指访问对象的接口精细程度)基础上进行访问,并且当应用中需要处理多种或多次串行化时很难维护.串行化只适用于最简单的应用,或者在某些无法有效地支持数据库的嵌入式系统中.

jdbc要求你明确地处理数据字段,并且将它们映射到关系数据库的表中.开发人员被迫与两种区别非常大的数据模型.语言与数据访问手段打交道:java,以及sql中的关系数据模型.在开发中实现从关系数据模型到java对象模型的映射是如此的复杂,以致于多数开发人员从不为数据定义对象模型;他们只是简单地编写过程化的java代码来对底层的关系数据库中的数据表进行操纵.最终结果是:他们根本不能从面向对象的开发中得到任何好处.

ejb组件体系是被设计为支持分布式对象计算的.它也包括对容器管理持续性container managed persistence(参见术语表)的支持来实现持续性.主要由于它们的分布式特性,ejb应用比起jdo来复杂得多,对资源的消耗也大得多.不过,jdo被设计成具有一定的灵活性,这样一来,jdo产品都可以用来在底层实现ejb的存储处理,从而与ejb容器结合起来.如果你的应用需要对象存储,但不需要分布式的特性,你可以使用jdo来代替ejb组件.在ejb环境中最典型的jdo使用方案就是让ejb中的对话组件(session bean)直接访问jdo对象,避免使用实体组件(entity bean).ejb组件必须运行在一个受控(managed,参见术语表)的应用服务环境.但jdo应用可以运行在受控环境中,也可以运行在不受控的独立环境中,这些使你可以灵活地选择最合适的应用运行环境.

如果你将精力集中在设计java对象模型上,然后用jdo来进行存储你的数据类的实例,你将大大提高生产力与开发效率.你只需要处理一种信息模型.而jdbc则要求你理解关系模型与sql语言(译者注:jdo并不是要取代jdbc,而是建立在jdbc基础上的一个抽象的中间层,提供更简单的数据存储接口).
...   下一页
    摘要:背景知识 在我的经验中,大多数 java 开发人员都需要解析某种文本。通常,这意味着他们最初要花一些时间使用象 indexof 或 substring 那样的与 java 字符串相关的函数或方法,并且希望输入格式永远不变。但是,如果输入格式改变,那么用于读取新格式的代码维护起来就会变得更复杂、更困难。最后,代码可能需要支持自动换行(word wrapping)、区分大小写等。由于逻辑变得更加复杂......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE