快速业务通道

Java EE:迎合Web 2.0 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
框架。它以诸如 Java ME CLDC 1.1 这样的资源受限环境为目标,使用有趣的设计模式减少资源使用量,同时保持接口具有适当的简单性。

该框架表明应用程序在性能和可伸缩性方面会从异步设计中获益 — 甚至在一个资源受限的环境中。

该框架提供的 API 看似非常繁琐,但是框架的受限目标环境充分证明了这些 API 的有效性。

Scala actor

Scala 是另一种面向 Java 平台的编程语言。它提供了一个 Java 特性超集,但是却使用了稍有不同的语法。与普通的 Java 编程语言相比,它提供了一些可用性增强。

其中一个有趣特性就是基于 actor 的并发性支持,这一点模拟了 Erlang 编程语言。它的设计似乎还没有最终确定,但是这种特性基本可用并且得到该语言的语法支持。然而,与 E 的并发性支持相比,Scala 的跟 Erlang 类似的并发性支持的可用性和自主性较低。

Scala 模型还存在一些安全性问题,因为每条消息都传递对调用方的引用。这使得被调用的组件可以调用调用方组件的所有操作,而不仅仅是返回调用值。就这方面来说,E 的 promise 模型更具粒度化。这种机制用来与阻塞进行通信,目前还没有完全开发完毕。

Scala 的优点在于它可以编译为 JVM 字节码。理论上讲,它可以用于 Java SE 和 Java EE 应用程序,并且不会带来性能损失。然而,对于商业开发的适用性则另当别论,因为 Scala 的 IDE 支持有限,并且,与 Java 语言不同的是,它尚不具备供应商支持。因此,只能用于生命周期较短的项目(如原型),但是,如果对生命周期较长的项目使用该语言,则会添加很多风险。

特定于 Servlet 或特定于 I/O 的 API

由于我们讨论的这些问题只要针对 servlet、Web 服务和一般的 I/O 级别,因此使用了一些项目来专门解决这些问题。这些解决方案的最大缺陷就是它们只针对有限类别的应用程序解决问题。如果不能对本地和远程资源进行异步调用,即使能够实现异步 servlet 也毫无用处。它还应该能够编写一个异步模型和业务逻辑代码。另一个常见问题是解决方案的可用性,通常要低于普通的解决方案。

然而,作为为实现异步组件而作出的努力,这些尝试都值得关注。

JSR 203(NIO.2)

JSR 203 是 NIO API 的改进版。在撰写本文时,它仍然处于初期的草案阶段,在开发过程中可能发生了很多重大修改。其目标是将 API 纳入到 Java 7 中。

JSR 203 引入了异步通道(asynchronous channel)概念。目的是解决众多编程问题,但是似乎 API 仍然非常低级。它最终引入了以前版本所不具备的异步 File I/O API,并且 IoFuture 和 CompletionHandler 概念使它可以更轻松地使用其他框架中的类。一般来讲,新的异步 NIO API 要比上一代 API 中基于选择器的 API 更加易用。甚至可以将它直接用于简单的任务,而不需要编写自定义包装器。

然而,这种 JSR 的一大缺点就是,它高度特定于文件和套接字 I/O。它没有提供构建块来创建更高级的异步组件。可能提供了高级的类,但是必须提供自己的方法来执行相同的任务。这看似是一个不错的技术理念,因为在 Java 语言中仍然没有出现标准的异步组件开发方法。

Glassfish Grizzly NIO

Glassfish Grizzly NIO 支持类似于 SEDA 框架,并且继承了大部分 SEDA 问题。然而,它提供了对 I/O 任务的更加具体化的支持。所提供的 API 要比普通 NIO API 更加高级,但是使用起来仍然很枯燥。

Java EE:迎合Web 2.0(10)

时间:2011-01-26 IBM Constantine Plotniko

Jetty 6 continuation

Jetty continuation 是一种与传统方法截然不同的方法。甚至可以将之称为一种快速补丁(quick hack)。servlet 可能会请求一个 continuation 对象并调用具有指定超时的 suspend() 方法。该操作将抛出一个异常。然后再对 continuation 调用一个恢复操作,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号