Welcome 微信登录

首页 / 软件开发 / JAVA

使用CMP2和XML处理动态数值对象

使用CMP2和XML处理动态数值对象

使用CMP2和XML处理动态数值对象2010-12-21在EJB 2.0局部引用和容器管理关系出现之前,通常把实体EJB用于模型粗粒度域对象。这主要是由于与远程通信有关系统开销并阻止了细粒度访问企业层的客户层对象。粗粒度设计的性能通过实现数值对象而促进改善,压缩所有的数据也就是说在客户层和企业层之间传递数据。使用有大量域对象的复杂系统,即使这么样能提供一个第一流的和高度执行设计,这个设计导致在系统内出现过多的数值对象。这同样也创建在企业层和客户层之间的紧密...
Java理论与实践: JVM 1.4.1中的垃圾收集

Java理论与实践: JVM 1.4.1中的垃圾收集

Java理论与实践: JVM 1.4.1中的垃圾收集2010-12-21 IBM Brian Goetz上个月,我们分析了引用计数、复制、标记-清除和标记-整理这些经典的垃 圾收集技术。其中每一种方法在特定条件下都有其优点和缺点。例如,当有很多 对象成为垃圾时,复制可以做得很好,但是有许多长寿对象时它就变得很糟(要 反复复制它们)。相反,标记-整理对于长寿对象可以做得很好(只复制一次) ,但是当有许多短寿对象时就没有那么好了。JVM 1.2 及以后版本使用...
Java理论与实践: 变还是不变?

Java理论与实践: 变还是不变?

Java理论与实践: 变还是不变?2010-12-21 IBM Brian Goetz不变对象是指在实例化后其外部可见状态无法更改的对象。Java 类库中的 String 、 Integer 和 BigDecimal 类就是不变对象的示例 ― 它们表示在对象 的生命期内无法更改的单个值。不变性的长处如果正确使用不变类,它们会极大地简化编程。因为它们只能处于一种状态 ,所以只要正确构造了它们,就决不会陷入不一致的状态。您不必复制或克隆不 变对象,就能自由地共...
Java理论与实践: 并发集合类

Java理论与实践: 并发集合类

Java理论与实践: 并发集合类2010-12-21 IBM Brian Goetz在Java类库中出现的第一个关联的集合类是 Hashtable ,它是JDK 1.0的一 部分。 Hashtable 提供了一种易于使用的、线程安全的、关联的map功能,这当 然也是方便的。然而,线程安全性是凭代价换来的―― Hashtable 的所有方法 都是同步的。此时,无竞争的同步会导致可观的性能代价。 Hashtable 的后继 者 HashMap 是作为JDK1....
Java理论与实践: 并发在一定程度上使一切变得简单

Java理论与实践: 并发在一定程度上使一切变得简单

Java理论与实践: 并发在一定程度上使一切变得简单2010-12-21 IBM Brian Goetz当项目中需要 XML 解析器、文本索引程序和搜索引擎、正则表达式编译器、 XSL 处理器或 PDF 生成器时,我们中大多数人从不会考虑自己去编写这些实用 程序。每当需要这些设施时,我们会使用商业实现或开放源码实现来执行这些任 务原因很简单 ― 现有实现工作得很好,而且易于使用,自己编写这些实用程序 会事倍功半,或者甚至得不到结果。作为软件工程师,我们更愿...
Java理论与实践: 动态编译与性能测量

Java理论与实践: 动态编译与性能测量

Java理论与实践: 动态编译与性能测量2010-12-21 IBM Brian Goetz这个月,我着手撰写一篇文章,分析一个写得很糟糕的微评测。毕竟,我们 的程序员一直受性能困扰,我们也都想了解我们编写、使用或批评的代码的性能 特征。当我偶然间写到性能这个主题时,我经常得到这样的电子邮件:“我写的 这个程序显示,动态 frosternation 要比静态 blestification 快,与您上一 篇的观点相反!”许多随这类电子...
Java理论与实践: 关于异常的争论

Java理论与实践: 关于异常的争论

Java理论与实践: 关于异常的争论2010-12-21 IBM Brian Goetz关于在 Java 语言中使用异常的大多数建议都认为,在确信异常可以被捕获 的任何情况下,应该优先使用检查型异常。语言设计(编译器强制您在方法签名 中列出可能被抛出的所有检查型异常)以及早期关于样式和用法的著作都支持该 建议。最近,几位著名的作者已经开始认为非检查型异常在优秀的 Java 类设计 中有着比以前所认为的更为重要的地位。在本文中,Brian Goetz 考察了...
Java理论与实践: 嗨,我的线程到哪里去了?

Java理论与实践: 嗨,我的线程到哪里去了?

Java理论与实践: 嗨,我的线程到哪里去了?2010-12-21 IBM Brian Goetz当单线程应用程序中的主线程抛出一个未捕获的异常时,因为控制台中会打 印堆栈跟踪(也因为程序停止),所以您很可能注意到。但在多线程应用程序中 ,尤其是在作为服务器运行并且不与控制台相连的应用程序中,线程死亡可能成 为不太引人注目的事件,这会导致局部系统失败,从而产生混乱的应用程序行为 。在 Java theory and practice十月份的专栏文章 中,我...
Java与C#实现时间转换

Java与C#实现时间转换

Java与C#实现时间转换2010-12-22这两天做了一个Web Service,要记录操作时间,定义为long型数据,因为 Java中可以把当前时间表示成long类型。Java中可以用 System.currentTimeMillis() 获取当前时间的long形式,它 的标示形式是从1970年1月1日起的到当前的毫秒的数。Web Service 是用Java写 的,把这个long型数据转成timestamp再存入MySQL,所以用调用我们的Web S...
Flash Lite Vs. J2ME

Flash Lite Vs. J2ME

Flash Lite Vs. J2ME2010-12-22JinniBlog随着Macromedia在Flash Lite方面的大力推广,这支Mobile新军看来终于要 展露头角了。不可避免的,众多的开发者会将它与现有的技术放在一起品评比较 一番,而这次被推上擂台的,是已经在移动开发领域有着坚实基础的J2ME。技术的比较有的时候很盲目,大家唇枪舌剑、旁证博引了半天,却发现两种 技术根本就没有可比性。而那些狂热的拥护者则往往要追求一个“A最终会代...
J2ME简单吗?

J2ME简单吗?

J2ME简单吗?2010-12-22有几个想学J2ME的朋友问过我这个问题。我想这个问题可以有两个答案。J2ME是简单的。说其简单,更主要的原因是J2ME开发使用的是Java,离开平台技术范畴(J2SE,J2ME,J2EE),Java语言本身是简单的,或者说“简洁”更为强大。比起C++的程序代码来说,Java Code让人看起来更舒服,也更直观。另一方面,J2ME的SDK十分丰富,配置也非常简单,如果再借助强大的IDE(如JB和Ec...
JDK1.5新特性介绍

JDK1.5新特性介绍

JDK1.5新特性介绍2010-12-22“JDK1.5”(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。下面我们简单介绍一下这些新特性。1.泛型(Generic)C++通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对象,...
Java软件架构设计慨论

Java软件架构设计慨论

Java软件架构设计慨论2010-12-22开始之初的架构设计决定着软件产品的生死存亡。“好的开始相当于成功一半”。开始的架构设计也是最难的,需要调研同类产品的情况以及技术特征,了解当前世界上对这种产品所能提供的理论支持和技术平台支持。再结合自己项目的特点(需要透彻的系统分析),才能逐步形成自己项目的架构蓝图。比如要开发网站引擎系统,就从Yahoo的个人主页生成工具 到虚拟主机商提供的网站自动生成系统,以及IBM Webphere ...
<< 81 82 83 84 85 86 87 88 89 90 >>