J2EE
文章平均质量分 77
janty
基于技术,精于架构,立于平台,着眼未来,打造软件精品。
基于体系,行于制度,溶于文化,重在团结,建设优秀团队。
横批——软件CTO
展开
-
EJB3持久化规范(第二章)
1 实体实体是一个可持久化的域对象。程序出来产物就是实体类,实体类可以作为一个辅助类,如可作为一个实体类的助手类或者作为代表实体类的状态的类。1.1 实体类的要求l 实体类必须用entity标识符来声明,或者在配制文件中指明某个类为实体类。l 实体类必须有一个无参数的构造器。它也可以有其他的构造器。这个无参数的构造器必须是publ翻译 2006-12-03 19:07:00 · 2141 阅读 · 0 评论 -
EJB CORE规范(第十三章 事务)
1 支持事务EJB架构的关键特性之一就是对分布式事务的支持。EJB架构允许应用开发者原子地更新分布在不同位置的多个数据库的数据。而且,这些位置上可以使用不同的EJB服务器。1.1 概述本章对事务做了简单的概述,并阐述了大量的EJB中的事务场景。1.1.1 事务事务被证明是简化应用开发的一个技术。事务使得应用开发者脱离了处理复杂的失翻译 2007-09-03 11:38:00 · 3092 阅读 · 0 评论 -
Java 5.0多线程编程
Java 5.0多线程编程http://java.chinaitlab.com/line/39796 Java自1995年面世以来得到了广泛得一个运用,但是对多线程编程的支持Java很长时间一直停留在初级阶段。在Java 5.0之前Java里的多线程编程主要是通过Thread类,Runnable接口,Object对象中的wait()、 notify()、 notifyAll()等方转载 2007-10-19 12:01:00 · 1214 阅读 · 0 评论 -
EJB CORE规范(第十四章 异常)
1 异常处理1.1 概述和概念1.1.1 应用异常应用异常是由Bean提供者定义的作为应用业务逻辑的一部分的异常。在这个规范中,应用异常和系统异常是不同的。企业bean的业务方法使用应用异常来将不正确的应用级条件通知给客户端,例如不能从业务方法的入参中获取值。一般地,客户端可以从应用异常中恢复。应用异常不应当用于报告系统级的问题。翻译 2007-11-03 15:32:00 · 6172 阅读 · 0 评论 -
java.util.concurrent系列文章--(1)JDK1.5 并发集合
Doug Lea 最初编写的 util.concurrent 包变成了 JSR-166 ,然后又变成了 J2SE 平台的 Tiger 版本。这个新库提供的是并发程序中通常需要的一组实用程序。如果对于优化对集合的多线程访问有兴趣,那么您就找对地方了。请在本文对应的讨论论坛上与作者 John Zukowski 及其他读者分享您对本文的想法。(您也可以单击文章顶部或底部的 讨论来访问论坛)。 在 J转载 2007-11-15 13:52:00 · 1769 阅读 · 0 评论 -
java.util.concurrent系列文章--(2)JDK1.5 锁机制
新的锁定类提高了同步性 —— 但还不能现在就抛弃 synchronizedJDK 5.0为开发人员开发高性能的并发应用程序提供了一些很有效的新选择。例如, java.util.concurrent.lock 中的类 ReentrantLock 被作为 Java 语言中 synchronized 功能的替代,它具有相同的内存语义、相同的锁定,但在争用条件下却有更好的性能,此外,它还有 synchro转载 2007-11-15 13:55:00 · 1697 阅读 · 0 评论 -
java.util.concurrent系列文章--(3)基于硬件同步原语的原子类型
在 JDK 5.0 之前,如果不使用本机代码,就不能用 Java 语言编写无等待、无锁定的算法。在 java.util.concurrent 中添加原子变量类之后,这种情况发生了变化。请跟随并行专家 Brian Goetz 一起,了解这些新类如何使用 Java 语言开发高度可伸缩的无阻塞算法。您可以在本文的 论坛中与作者或其他读者共享您对本文的看法。(也可以通过单击文章顶部或者底部的 讨论链接来访转载 2007-11-15 13:57:00 · 1656 阅读 · 1 评论 -
java.util.concurrent系列文章--(4)非阻塞算法简介
Java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 —— 例如比较和交换。非阻塞算法的设计与实现极为困难,但是它们能够提供更好的吞吐率,对生存问题(例如死锁和优先级反转)也能提供更好的防御。在这期的 Java转载 2007-11-15 13:58:00 · 1487 阅读 · 0 评论 -
java.util.concurrent系列文章--(6)网络服务的简单实践
Java5增加了新的类库并发集java.util.concurrent,该类库为并发程序提 供了丰富的API多线程编程在Java 5中更加容易,灵活。本文通过一个网络服务器模型,来实践Java5的多线程编程,该模型中使用了Java5中的线程池,阻塞队列,可重入锁等,还实践了 Callable, Future等接口,并使用了Java 5的另外一个新特性泛型。简介本文将实现一个网络服务器模型,转载 2007-11-15 14:01:00 · 1246 阅读 · 0 评论 -
线程的相关讨论--(4)描绘线程安全性
7月份我们的并发专家 Brian Goetz 将 Hashtable 和 Vector 类描述为“有条件线程安全的”。一个类难道不是线程安全就是线程不安全的吗?不幸的是,线程安全并不是一个非真即假的命题,它的定义出人意料的困难。但是,正如Brian 在本月的 Java 理论与实践中解释的,尽量在 Javadoc 中对类的线程安全性进行归类是非常重要的。请在附带的 讨论论坛中与作者和其他读者分享您关转载 2007-11-15 14:02:00 · 1160 阅读 · 0 评论 -
EJB3持久化规范(第四章)
1 查询语言Java持久化查询语言用于根据实体和他们的字段定义查询。EJB QL使得开发人员能够以跨平台的方式指定查询元语,而不依赖于特定的数据库。Java持久化查询语言是对EJBQL(在《企业JavaBean》中定义)的扩展。Java持久化查询语言增加了操作,包括批更新和批删除,连接操作,GROUP BY,HAVING,投影(projection),以及子查询;并且支持动翻译 2007-05-25 20:34:00 · 1919 阅读 · 0 评论 -
JDK6新特性之二 使用Compiler API
现在我们可以用JDK6 的Compiler API(JSR 199)去动态编译Java源文件,Compiler API结合反射功能就可以实现动态的产生Java代码并编译执行这些代码,有点动态语言的特征。这个特性对于某些需要用到动态编译的应用程序相当有用,比如JSP Web Server,当我们手动修改JSP后,是不希望需要重启Web Server才可以看到效果的,这时候我们就可以用Compiler转载 2007-08-10 10:27:00 · 948 阅读 · 0 评论 -
JDK6新特性之一 Desktop类和SystemTray类
1 Desktop类和SystemTray类 在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray,前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序.下面代码演示了Desktop和SystemT转载 2007-08-10 10:11:00 · 1849 阅读 · 0 评论 -
EJB3持久化规范(第七章)
1 配置和启动时容器和提供者之间的协议本章定义配置和启动时对Java EE容器和持久化提供者的要求。1.1 Java EE配置配置在Java EE容器中的每一个持久化单元有一个persistence.xml文件、任意数量的映射文件和任意数量的类文件组成。1.1.1 容器的责任在配置期间容器负责扫描在5.2章节中指定的位置,找到persistence.xml文翻译 2007-06-21 16:26:00 · 2498 阅读 · 2 评论 -
EJB3持久化规范(第六章)
1.1 打包持久化单元在Java EE环境下,EJB-JAR、WAR、EAR或应用客户端JAR都可以定义持久化单元。在这些包内可以定义任意数量的持久化单元。持久化单元可以打包到包含在WAR或EAR内的一个或多个jar文件中,类似于在EJB-JAR文件中的类或WAR的classes目录内的类,或和以下的组合方式。持久化单元定义在persistence.xml文件中。放置persis翻译 2007-06-23 22:34:00 · 2260 阅读 · 0 评论 -
EJB3持久化规范(第五章)
1 实体管理器和持久化上下文1.1 持久化上下文持久化上下文是一个受管理实体实例的集合,在持久化上下文中的每一个实体实例有一个唯一的标识。在持久化上下文中,实体实例及其生命周期都由实体管理器管理。在java EE环境中,通常会在多个组件中使用一个JTA事务。这些组件经常需要在一个事务内获取同一个持久化上下文。为了在Java EE环境中满足实体管理器的这种用法,当一翻译 2007-06-23 23:21:00 · 2367 阅读 · 0 评论 -
EJB3 CORE规范(第十八章)Timer服务
1 Timer服务本章描述容器管理的Timer服务。这个服务可以让bean提供者注册在特定时间点、在特定时间之后和在一段之后回调的EJB。1.1 概述基于工作流的企业应用为了管理语义状态转换,这些转换通常由偶然发生的临时事件触发。EJB Timer服务是容器管理的服务,它提供允许基于时间事件的调度回调方法。容器为这些时间事件提供可靠和事务性的服务。可以在特定的翻译 2007-07-19 15:14:00 · 3317 阅读 · 0 评论 -
EJB3 CORE规范(第十二章拦截器)
1 拦截器拦截器是一个拦截业务方法调用和生命周期事件的方法。1.1 概述拦截器方法可以定义在企业bean的class上,也可以定义一个拦截器类,并在企业bean中引入。拦截器类(与bean的class不同)的方法用于响应对bean方法的调用和/或者生命周期事件。一个bean上可以定义多个拦截器。对一个单一业务方法的调用,InvocationConte翻译 2007-07-24 11:41:00 · 2904 阅读 · 1 评论 -
EJB3 简化的API规范(第十章注释符)
1 注释符1.1 特定类型bean的注释符1.1.1 无状态会话beanStateless用于标明企业bean是一个无状态会话bean。Stateless注释符用于bean的class。@Target(TYPE) @Retention(RUNTIME)public @interface Stateless {String name()翻译 2007-07-24 14:29:00 · 2817 阅读 · 2 评论 -
EJB3持久化规范(第九章)
1 O/R映射的元数据由应用表达的O/R映射的元数据表是应用域对象协议的一部分。O/R映射元数据是应用域对象协议的一部分。它表达了映射应用域的实体和关系到数据库的需求和期望。和应用域模型一致的基于数据库Schema书写的查询(特殊情况下是SQL查询)依赖于由O/R映射的元数据表达的映射关系。这个规范的实现必须假定应用是依赖于O/R映射元数据,并且确保被这些映射表达的语义和需翻译 2007-04-24 21:26:00 · 2019 阅读 · 0 评论 -
EJB3中企业bean注释符实践
1 Remote和Local在EJB3中Remote和Local两个注释符用于标识企业bean的远程接口和本地接口。企业bean既可以有Remote接口又可以有Local接口,但两个注释符的位置比较灵活,现将它们可以在的位置总结如下:l 如果企业bean实现了多个接口(除了java.io.Serializabel,java.io.Externalizable和javax.ejb原创 2007-07-26 13:59:00 · 1217 阅读 · 0 评论 -
EJB3持久化规范(第三章)
1 实体操作本章介绍如何用EntityManager API来管理实体实例的生命周期和使用Query API来查询和获取实体和它的持久化状态。1.1 EntityManagerEntityManager关联一个持久化上下文。持久化上下文是一个实体实例的集合,在这个集合中任何持久化实体标识只有唯一一个实体实例。在持久化上下文中管理实体实例和它们的生命周期。Entit翻译 2007-04-29 21:21:00 · 5982 阅读 · 0 评论 -
Tiger核心库技术简介
摘要:Java之所以得到很多程序员的亲睐,除了她的严谨的面向对象特性外,还有一个不容轻视的因素,那就是她强大的类库。一门语言如果没有库,功能将会大打折扣,在JDK5.0版本中,其核心库也有了诸多的改进,本文将就其新特性进行简介。1. 访问环境变量和调用子进程1.1 访问环境变量虽然Java从一开始推出的时候,就一再强调她的跨平台特性,“一次编译,到处运行”。所以能转载 2007-11-15 14:54:00 · 1233 阅读 · 0 评论