 |
 |
 |
 |
 |
 |
使用 Java 构造高可扩展应用 在本文中,我们将介绍使提高 Java 多线程应用性能的一般步骤。 通过运用本文提供的一些简单规则,我们就能获得具有高性能的可扩展的应用程序。 |
|
|
|
2008年10月10日 |
|
| |
精通 Grails: RESTful Grails 我们生活在 mashup 的时代。创建能够给用户提供所需信息的 Web 页面固然是一个好的出发点,但是要是能够提供原始数据源,从而让其他的 Web 开发人员能够轻易将其与他们自己的应用程序相融合的话,这样岂不是更好。在本期的精通 Grails 中,Scott Davis 将介绍用 Grails 生成 XML 而不是通常的 HTML 的各种方法。 |
|
|
|
2008年10月7日 |
|
| |
批处理文件国际化支持解决方案 随着软件应用的迅速推广与发展,应用软件无一例外的面临着支持多国家多语种的国际化问题,基于 Windows 的批处理文件应用广泛,然而作为一种通用脚本语言,批处理脚本没有提供一种体系化的多语言国际化支持。本文首先介绍编程语言和国际标准化对多语言问题作出的努力;其次,给出了通用多语言支持解决方案的灵活架构设计;再次,给出了批处理文件的轻量级、灵活架构的通用多语言支持解决方案,以及基于该解决方案构建支持多语言的批处理软件系统的一般步骤;最后作了一定的总结和展望。 |
|
|
|
2008年9月28日 |
|
| |
处理 XML 解析中的错误 XML 解析是几乎所有企业应用程序的一部分。然而,大部分这些应用程序都缺少任务处理。学习如何使用 Simple API for XML(SAX)处理 XML 解析中出现的错误(即使您的应用程序使用 DOM 、JAXP 或其他 API 处理 XML)。 |
|
|
|
2008年9月25日 |
|
| |
探索 JUnit 4.4 新特性 本文通过理论分析和详细例子向读者阐述 JUnit 4.4 所带来的最新特性,读者通过本文的学习,可以轻松掌握使用 JUnit 4.4 的新特性。 |
|
|
|
2008年9月24日 |
|
| |
面向 Java 开发人员的 Scala 指南: 构建计算器,第 1 部分 特定于领域的语言已经成为一个热门话题;很多函数性语言之所以受欢迎,主要是因为它们可以用于构建特定于领域的语言。鉴于此,在面向 Java 开发人员的 Scala 指南系列的第 8 篇文章中,Ted Neward 着手构建
一个简单的计算器 DSL,以此来展示函数性语言的构建 “外部” DSL 的强大功能。为了达到这个目的,他研究了 Scala 的一个新的特性:case 类,并重新审视一个功能强大的特性:模式匹配。 |
|
|
|
2008年9月23日 |
|
| |
通过零拷贝实现有效数据传输 本文解释了如何通过一种称为零拷贝的方法来提高运行于 Linux 和 UNIX 平台上的 I/O 密集型 Java 应用程序的性能。零拷贝不仅消除了中间缓冲区之间的冗余数据拷贝,还减少了用户空间和内核空间之间的上下文切换次数。 |
|
|
|
2008年9月23日 |
|
| |
基于 Struts 2 拦截器实现细粒度的基于角色的存取控制 本文介绍如何利用 Struts 2 拦截器来为 Java Web 应用添加应用管理的基于角色的存取控制(Role-Based Access Control,RBAC)的设计和实现方法。相对于容器提供的存取控制,它能够更细粒度地控制资源,处理更加复杂的情况。 |
|
|
|
2008年9月19日 |
|
| |
存储过程五种使用场景对比 存储过程(stored procedure)由于其高效、安全、可重用等特点,被频繁用于各种应用中。在不同的场景下,存储过程的使用方式和技术往往不同,达到的效果也差别很大。本文将与存储过程有关的技术串联起来进行比较介绍,以供大家在设计和开发数据库应用时选择相应的技术和工具,从而加速开发过程。 |
|
|
|
2008年9月18日 |
|
| |
使用 Spring 和 Apache CXF 设计和实现 POJO Web 服务,第 1 部分: 使用 CXF 和 Spring 创建 Web 服务 使用开放源代码 Web 服务框架 Apache CXF 可以很容易地创建传统 Java 对象(plain old Java object ,POJO)样式的 Web 服务。本文是本系列的第 1 部分,将向您介绍如何使用 Spring 和 CXF 将 POJO 作为 Web 服务公开。本文还将演示 CXF 与 Spring 框架的集成。 |
|
|
|
2008年9月18日 |
|
| |
面向 Java 开发人员的 Scala 指南: 包和访问修饰符 在现实生活中,代码一定要引用并打包。在本期的面向 Java 开发人员的 Scala 指南系列中,Ted Neward 首先介绍了 Scala 的包和访问修饰符功能,接着通过研究 “apply” 机制探讨了 Scale 中的函数内容。 |
|
|
|
2008年9月16日 |
|
| |
精通 Grails: Grails 事件模型 Grails 中的所有内容,从构建脚本到单个工件(比如域类和控制器),都会在应用程序生命周期的关键点抛出事件。在这篇精通 Grails 文章中,您将学习如何设置监听器来捕获这些事件,并且通过自定义行为做出反应。 |
|
|
|
2008年9月12日 |
|
| |
用高级工具定制 JAX-RPC Web 服务和客户机 本教程带领您进一步了解 JAX-RPC,讲解如何在 Apache Axis 的帮助下定制 JAX-RPC Web 服务和客户机。在客户端,可以自动生成连接新的 JAX-RPC Web 服务所需的许多代码,这样就可以把精力集中在交互本身,而不需要过多关注日常的 Web 服务调用。在服务器端,可以添加更多选项、限制公开的方法和限制接受的参数。只要比较深入地掌握了 Apache Axis 工具集,就可以通过简便的定制完成这些任务。 |
|
|
|
2008年9月11日 |
|
| |
在 Web 应用中增加用户跟踪功能 随着 Web 应用的复杂化,网站用户的操作过程也日益复杂,网站功能的多样化和交互性的提高为用户提供了多种可能的浏览路径。为了改进用户的使用体验,有时也是为了模拟用户的操作过程以帮助用户解决使用中的问题,需要能在日志中识别某个用户在整个 Session 中所经历的操作过程,本文针对基于 Apache Log4J 的 Web 应用,讨论如何利用 NDC 和 MDC 的机制,简单快捷的为 Web 应用日志增加用户跟踪的基础数据。通过本文,读者可以学习到关于 NDC 和 MDC 的工作机制,以及如何利用他们在一个 Web 应用中记录用户在一个网站上的全部行为和操作过程,并可以直接使用文中的代码和思路,提高工作效率。 |
|
|
|
2008年9月3日 |
|
| |
深入 Java 调试体系: 第 1 部分,JPDA 体系概览 JPDA(Java Platform Debugger Architecture)是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。 JPDA 主要由三个部分组成:Java 虚拟机工具接口(JVMTI),Java 调试线协议(JDWP),以及 Java 调试接口(JDI),本系列将会详细介绍这三个模块的内部细节、通过实例为读者揭开 JPDA 的面纱。本文是该系列的第一篇,将会着重从整体上介绍 JPDA 的各个组成,阐述它们彼此之间的内在关联。 |
|
|
|
2008年9月3日 |
|
| |
Java 运行时监控,第 3 部分: 监控应用程序生态系统的性能与可用性 本文为 Java 应用程序运行时监控系列的第三部分,也是最后一部分,主要介绍在监视应用程序支持和依赖服务的性能和可用性时应使用哪些策略与技巧。所谓支持和依赖服务包括底层主机操作系统、运行数据库以及通信基础设施。文章结尾针对性能数据管理问题以及数据的报告和可视化做了论述。 |
|
|
|
2008年9月2日 |
|
| |
让开发自动化: 实现自动化数据库迁移 数据库通常不能够与它们支持的应用程序保持同步,从管理方面来讲,将数据库和数据置于一个已知状态是个很大的挑战。在本期的 “让开发自动化” 中,自动化专家 Paul Duvall 演示了如何使用开源的 LiquiBase 数据库迁移工具轻松地处理数据库和应用程序的频繁变更。 |
|
|
|
2008年9月2日 |
|
| |
JavaFX Script 高级特性 JavaFX 是 Sun 推出的一套基于 Java 技术的产品家族。 JavaFX Script 可以用来高效的创建富媒体和交互性很强的应用。 JavaFX 是 Adobe Flex 和 Microsoft Silverlight 的有力竞争者。本文通过具体的实例介绍了 JavaFX Script 语言本身的一些高级特性并讨论了 JavaFX Script 中的一些高级话题,包括创建复杂的用户界面、实现动画效果、JavaFX Script 应用的部署和在一个独立的 Java 应用程序中嵌入 JavaFX Script 等。 |
|
|
|
2008年8月29日 |
|
| |
Spring Web Flow 2.0 入门 本教程分析了 Spring Web Flow 2.0 的技术要点,并且通过创建一个示例应用程序,展示了 Spring Web Flow 2.0 的基本知识。 |
|
|
|
2008年8月28日 |
|
| |
使用 Equinox 开发 OSGi 应用程序 本教程着重介绍 OSGi 框架知识、环境搭建、服务使用、应用设计、部署。 |
|
|
|
2008年8月28日 |
|
| |
从 Java 平台计算 XPath XPath 使在 XML 文档中选择元素、属性和文本变得很容易。学习如何从 Java 编程评估 XPaths,并使用返回的节点。 |
|
|
|
2008年8月26日 |
|
| |
Java 运行时监控,第 2 部分: 编译后插装和性能监控 本系列包括三部分,介绍有关 Java 应用程序的运行时监控知识,第 1 部分重点介绍了 JVM 的健康状况和插装源代码以捕获性能指标的方法。本篇为第二部分,介绍了在无需改变原始源代码的情况下来插装 Java 类和构造的技巧。 |
|
|
|
2008年8月22日 |
|
| |
Java 运行时监控,第 1 部分: Java 系统运行时性能和可用性监控 运行时性能监控对于实现和维护性能优异的系统至关重要。本文是系列文章的第 1 部分(共 3 部分),dfsaNicholas Whitehead 将阐述如何有效地对 Java 性能执行低级粒度的监控。您生成的数据可以很好的反映系统操作的内在状态,并揭示影响环境稳定性及性能的约束和因素。 |
|
|
|
2008年8月19日 |
|
| |
简化 Ajax 和 Java 开发,第 4 部分: 使用 JSP 标记文件创建 JSF 样式的组件 JavaServer Pages (JSP) 和 JavaServer Faces (JSF) 过去都使用 Expression Language (EL) 的不同变体。它们在 JSP 2.1 中的统一提供了新的机会,允许您在定制 JSP 标记中使用 deferred values 和 deferred method 属性。本文展示了如何开发基于 JSP 标记文件的 Java Web 组件,它的构建比 JSF 组件更加简单和容易。 |
|
|
|
2008年8月19日 |
|
| |
面向 Java 开发人员的 Scala 指南: 集合类型 在 Scala 中,对象占有一席之地,然而,也经常使用到一些函数类型,比如元组、数组和列表。在这一期由 Ted Neward 撰写的流行系列文章中,您将探究 Scala 中的函数部分,并且首先研究 Scala 对函数语言中常见类型的支持。 |
|
|
|
2008年8月15日 |
|
| |
构建 RESTful Web 服务 具象状态传输(Representational state transfer,REST)是设计基于命名资源而非消息的松耦合应用程序的一种风格。构建 RESTful 应用程序的最困难的部分在于确定要公开哪些资源。解决了这个问题之后,再使用开源 Restlet 框架构建 RESTful Web 服务就是小菜一碟了。本教程从 REST 的基本概念开始,逐步指导您使用 Restlet 框架构建应用程序。 |
|
|
|
2008年8月12日 |
|
| |
编写高性能 Java 数据访问应用程序,第 1 部分: pureQuery 带注释的方法风格简介 pureQuery 是一种高性能 Java 数据访问平台,其目标主要是简化数据访问应用程序的开发和管理。它由工具、API 和运行时组成。本文介绍 pureQuery 带注释的方法风格 —— 这是一种简单、灵活的风格,属于命名查询(named-query)范例,可以静态或动态地执行 SQL。本文首先解释为什么开发人员要选择使用带注释的方法风格编写 pureQuery 应用程序,再解释带注释的方法风格与 pureQuery 内联编程风格之间的差异,并简要概述 pureQuery 带注释的方法的强大特性。 |
|
|
|
2008年8月12日 |
|
| |
编写高性能 Java 数据访问应用程序,第 2 部分: pureQuery 内联方法风格简介 IBM pureQuery 是一种高性能 Java 数据访问平台,其目标主要是简化数据访问应用程序的开发和管理。它由工具、API 和运行时组成。pureQuery 引入了两种编程风格,以帮助用户通过简单但是强大的 API 访问数据库。本文介绍其中的一种风格,即内联方法编程风格,并讨论如何使用它有效地查询和更新数据库。本文还探索使用内联方法编程风格的一些优点和关键特性。 |
|
|
|
2008年8月12日 |
|
| |
在 Eclipse 中用 Java 实现百灵报表(BIRT)的事件处理 百灵报表(BIRT)是一个非常实用的开源报表工具,它不仅能满足商业智能领域报表设计的一般需求,还可以通过与 Java 语言相结合,来实现一些更为丰富的个性化报表样式。本文通过一个简单的实例,在 Eclipse 中创建一个单一工程,使用 Java 语言实现百灵报表(BIRT)的事件响应处理程序。引导读者在短时间内对百灵报表(BIRT)有一个初步了解,并掌握使用 Java 语言创建百灵报表(BIRT)事件响应处理程序的基本步骤和调试方法。 |
|
|
|
2008年8月7日 |
|
| |
简化 Ajax 和 Java 开发,第 3 部分: 基于 DOM、JavaScript 和 JSP 标记文件构建 UI 特性 在本系列的第 1 部分,您了解了如何生成用来发送 Ajax 请求和处理 Ajax 响应的 JavaScript 代码。第 2 部分展示了如何使用约定和 JSP 标记文件创建 HTML 表单以最小化设置和配置。在本系列的第 3 部分中,您将了解如何开发基于 JavaScript 的客户端验证器和服务端验证器,后者被实现为支持 JavaScript 客户端验证器的 JSP 标记文件。此外,您还将了解如何使用资源包,它们会在更改后自动重载,而不需要重启应用程序。 |
|
|
|
2008年8月7日 |
|
| |
Java 设计模式 101 设计模式以系统的方式获取一些软件开发专家的经验,提供一些常见的反复出现问题和解决方案以及这些方案的结果。本教程说明了:为什么模式在面向对象设计和开发中是有用的和重要的;如何对模式进行编制文档、分类和编目;何时应该使用模式;以及有哪些 重要的模式和如何实现它们。 |
|
|
|
2008年8月6日 |
|
| |
用 JAX-RPC 构建 RPC 服务和客户机 远程过程调用(RPC)是基于简单对象访问(Simple Object Access Protocol,SOAP)或具象状态传输(Representational State Transfer,REST)的现代 Web 服务的前身。因为所有 Java 平台的 Web 服务 API 都构建在从 RPC 引入的概念之上,所以要想用 Java 语言编写有效且高效的 Web 服务,理解 Java API for XML-Based RPC(JAX-RPC)几乎是必需的。本教程讲解如何获取、安装和配置 JAX-RPC 并构建一个服务器端 RPC 接收器和一个简单的客户端应用程序。 |
|
|
|
2008年8月6日 |
|
| |
通过 Data Web Services 使用面向 pureXML 的 Universal Services 配置、测试和修改 Universal Services 入门。 |
|
|
|
2008年8月4日 |
|
| |
精通 Grails: Grails 与遗留数据库 在本期的精通 Grails 中,Scott Davis 探讨了 Grails 能够使用不符合 Grails 命名标准的数据库表的多种方法。如果您的 Java 类已经映射到了遗留的数据库中,Grails 允许您直接使用它们,无需做任何改变。您将看到将 Hibernate HBM 文件以及 Enterprise JavaBeans 3 注释与遗留 Java 类结合使用的例子。 |
|
|
|
2008年8月4日 |
|
| |
面向 Java 开发人员的 Scala 指南: 实现继承 Scala 对实现继承的支持与 Java 语言一样丰富,但 Scala 的继承带来了一些惊喜。这个月,Ted Neward 介绍了以 Scala 方式完成的多态,还介绍了混合函数与面向对象的语言风格,同时使您依然能够完美地映射到 Java 平台的继承模型。 |
|
|
|
2008年8月4日 |
|
| |
让开发自动化: 持续重构 重构是公认的改进现有代码的好方法。然而,如何通过一种一致且可重复的方式找到需要重构的代码呢?本期的让开发自动化将教您如何使用静态分析工具来识别需要重构的代码味道,并举例说明了如何改进坏味道代码。 |
|
|
|
2008年7月31日 |
|
| |
使用 XPath 定位 XML 文档中特定的部分,第 2 部分 本教程的第 1 部分介绍了 XPath 的基础知识。学习了如何使用斜杠表示法、通配符、并集和简单文本来定位 XML 文档中任何位置的元素和属性。但是,有时候仅仅根据节点名进行匹配是不够的。谓词可以提供精细的高级搜索功能,支持对目标元素的属性值、父节点和子节点进行求值。可以在 XPath 中添加谓词,从而准确地找到所需的节点,而不必先找到一个比较大的节点集,然后再通过程序过滤这个节点集。 |
|
|
|
2008年7月30日 |
|
| |
面向初级 Web 开发人员的 Tomcat Apache Tomcat 应用服务器不再是高级 Web 系统开发人员的专用领域。在本教程中,Sing Li 将向初级 Web 开发人员展示如何利用他们当前的 Java 开发技能,使用 Tomcat 编写服务器端 JSP、servlet 和 Web 服务。 |
|
|
|
2008年7月28日 |
|
| |
使用 WS-BPEL 和 IoC 构建可配置工作流程,第 1 部分: 了解动态业务工作流程 控制反转(Inversion of Control,IoC)与 Web 服务业务流程执行语言(Web Services Business Process Execution Language,WS-BPEL)是实现动态业务工作流程的有效工具。本文是一个包含两部分的系列的第一部分,在这里 Bilal Siddiqui 描述了业务工作流程的动态特性,推荐了一个两层的工作流程模型,该模型让您能够使用 XML 来构建可配置和灵活的解决方案。 |
|
|
|
2008年7月28日 |
|
| |
Java API 参考文档,第 3 部分 本文对 JavaTOC doclet 以及如何使用它和扩展它进行了进一步地讨论。本文所描述的方法是 Javadoc 的标准解决方案,并且使用工具生成 Eclipse 插件程序帮助系统。我将通过 Custom doclet 向导在 Eclipse 中运行 JavaTOC doclet 以及 Ant 编译系统。JavaTOC 工具为 Java API 参考文档生成 TOC XML 导航。 |
|
|
|
2008年7月24日 |
|
| |
Java 理论与实践: 使用通配符简化泛型使用,第 2 部分 在使用 Java 语言的泛型时,通配符非常令人困惑,并且最常见的一个错误就是在使用有界通配符的两种形式之一(“super T” 和 “?
extends T”)时出现错误。别沮丧,您出错了吗?即使是专家也会犯这种错误,本月 Brian Goetz 将展示如何避免这个错误。 |
|
|
|
2008年7月24日 |
|
| |
探索 OSGi 框架的组件运行机制 OSGi 框架为基于 Java 的组件开发提供了一套通用的和标准的解决方案,通过 OSGi 框架可以轻松实现组件信息的隐藏和共享。本文介绍了 OSGi 框架中的组件(Bundle)的运行机制,并结合实际示例加以说明,读者可以进一步深入了解 OSGi 框架的基本原理,并解决实际开发工作中遇到的类似问题。 |
|
|
|
2008年7月24日 |
|
| |
应用设计模式编写易于单元测试的代码 单元测试是软件开发的一个重要组成部分,通过在软件设计、开发的过程中合理地运用设计模式,不但为系统重构、功能扩展及代码维护提供了方便,同时也为单元测试的实施提供了极大的灵活性,可以有效降低单元测试编码的难度,更好地保证软件开发的质量。 |
|
|
|
2008年7月22日 |
|
| |
Java 下实现锁无关数据结构 本文将介绍锁无关数据结构的应用及其相关概念,并在 Java 环境下利用 JDK 1.5 提供的一组类进行锁无关数据结构设计,从而避免基于锁的数据结构可能引发的同步问题,以改善程序的可靠性。 |
|
|
|
2008年7月18日 |
|
| |
使用 XPath 定位 XML 文档中特定的部分,第 1 部分 XML 是一种强调兼容性和灵活性的数据格式。但即便如 XML 这般用途广泛,如果不能快速查找文档中的特定部分或者在文档中筛选和选择性地定位数据,其作用也是有限的。XPath
提供了方便地引用文档中特定文本、元素和属性的能力,而且简便易学。而且 XPath 还是其他很多 XML 词汇表和技术的基础,如 XSL 和 XQuery。本教程从例子入手,手把手地讲解 XPath 的基础知识,包括各种选择器及其语义。 |
|
|
|
2008年7月16日 |
|
| |
精通 Grails: Grails 与移动 Web 全球的手机用户已有 33 亿,并且呈上升趋势,而通过手机上网也越来越走俏。因此有开发移动 Web 的特殊需求。在本期的精通 Grails 系列中,Scott Davis 向您讲述了如何让 Grails 应用程序便于手机浏览。 |
|
|
|
2008年7月15日 |
|
| |
通过一个 Java 应用服务器使用 JRuby on Rails 和 XML 增强 Ajax Ruby on Rails 框架提供了一些非常方便的 XML 特性,这使使用数据库数据进行开发和为 JavaScript 应用程序提供 XML 格式的数据库数据变得更加简单。JavaScript 还具有内置的 XML 解析功能,因此可以非常轻松地接收和解析 XML 格式的数据。但是,如果要在不部署额外服务器的情况下接入 Java 应用程序,该如何做呢?这正是 JRuby 的工作。JRuby on Rails 是 Ruby on Rails 框架的 Java 实现,通过将 Ruby 应用程序部署到 Java 应用服务器中,将 Rails 的优点带入到 Java 编程当中。在本篇教程,您将开发一个可以部署到 Java 应用服务器的 JRuby on Rails 应用程序,它可以为 Ajax 客户机提供 XML 格式的数据库数据。Ajax 客户机专门为电影爱好者构建,方便他们管理在线电影数据库。您还将在同一个 Java 应用服务器上部署几个 Java Server Pages 页面,帮助 Ajax 客户机添加和更新电影。 |
|
|
|
2008年7月10日 |
|
| |
健壮的 Java 基准测试,第 2 部分: 统计和解决方案 程序性能一直是受到关注的问题,即使在现在这样的高性能硬件时代,也是如此。本文是分两部分的文章系列的第二篇,讨论基准测试的统计问题并提供一个框架,可以用这个框架对各种 Java 代码进行基准测试,包括自我包含的微基准测试和调用整个应用程序的代码等等。 |
|
|
|
2008年7月9日 |
|
| |
健壮的 Java 基准测试,第 1 部分: 问题 程序性能一直是受到关注的问题,即使在现在这样的高性能硬件时代,也是如此。本文是分两部分的文章系列的第一篇,讨论与 Java 代码基准测试相关的许多问题。第 2 部分讨论基准测试的统计并提供一个执行 Java 基准测试的框架。因为几乎所有新语言都是基于虚拟机的,所以本文讨论的基本原则适用于许多编程语言。 |
|
|
|
2008年7月9日 |
|
| |
使用 IBM 静态工具优化 Java 代码,第 2 部分: 分析错误报告 通过本系列第 1 部分的介绍,读者应该可以轻松地在 Windows 上运行 BEAM,并能够对自己的 Java 工程进行代码分析了。本文我们将对其输出的报告结果文件进行分析,修改代码中的潜在错误,从而达到最根本的目的:提高代码质量。 |
|
|
|
2008年7月3日 |
|
| |
面向 Java 开发人员的 Scala 指南: 关于特征和行为 Scala 并不仅仅只给 JVM 引入了函数概念,它还为我们提供了一种对于面向对象语言设计的现代视角。在这一期的面向 Java 开发人员的 Scala 指南中,Ted Neward 介绍了 Scala 如何利用特征(trait)使对象更加简单、更易于构建。您将了解到,特征与 Java 接口和 C++ 多重继承提供的传统极性既有相似之处,也有不同之处。 |
|
|
|
2008年7月3日 |
|
| |
使用 IBM 静态工具优化 Java 代码,第 1 部分: 工具入门 IBM Checking Tool for Bugs Errors and Mistakes 是由 IBM 开发的静态代码分析工具,它可用于分析并查找 C、C++ 和 Java 代码中的一些不容易发现的潜在错误,从而提高代码质量。由于这个工具目前多用于 Linux/AIX 平台上对 C 和 C++ 语言的检查分析,而使用其在最常用的 Windows 平台上对 Java 进行静态分析的人不多,因此经验不足,文档匮乏。本文的主要目的是介绍如何在 Windows 上成功运行 BEAM,检查 Java 代码中的潜在错误,从而提高代码的安全性和稳定性。 |
|
|
|
2008年7月3日 |
|
| |
在 Ruby on Rails 应用程序中重用 Java 代码 通过 Ruby Java Bridge (RJB) 可以直接将 Java 类装载到 Ruby on Rails 应用程序,或者从这些应用程序中调用 Java 类。本教程展示如何应用这个工具包,在现代的 Web 开发平台上重用遗留的 Java 应用程序代码。 |
|
|
|
2008年6月30日 |
|
| |
BTT Element Factory -- 配置简洁的依赖注入容器 依赖注入(Dependency Injection)又称控制反转(Inversion of control),是当前面向对象编程领域的一个热点话题。本文简要的介绍了什么是依赖注入,并追溯依赖注入的历史,最后介绍了 IBM WebSphere Multichannel Bank Transformation Toolkit(BTT)所提供的依赖注入容器 Element Factory 的独特之处。 |
|
|
|
2008年6月30日 |
|
| |
面向 Java 开发人员的 Scala 指南: Scala 控制结构内部揭密 Scala 是专为 Java 平台编写的,因此其语法设计会使 Java 代码编码人员感觉很轻松。同时,Scala 为 JVM 提供了函数语言的固有的强大功能,并以这些函数设计概念为出发点。在这一期的 “面向 Java 开发人员的 Scala 指南” 系列文章中,Ted Neward 将介绍两种语言之间的细微差异,从一些控制结构(比如 if、while 和 for)开始介绍。正如您将要学习到的那样,Scala 为这些结构提供了一些在其 Java 等效物中无法获得的功能和复杂性。 |
|
|
|
2008年6月27日 |
|
| |
在 SCA Module 中使用 iBATIS 框架实现数据持久层
本文是继“在 SCA Module 中使用 Hibernate 框架实现数据持久层”一文之后,继续探讨使用 iBATIS 实现 SCA Module 的数据持久层技术。本文将使用和上一篇文章相同的例子,以便与读者比较其中的异同。 |
|
|
|
2008年6月26日 |
|
| |
让开发自动化: 文档化一键通 项目文档化通常都是交付软件产品时不可避免的难题。但是想象一下如果仅需单击一个按钮就能够生成文档呢?在本期的让开发自动化中,自动化专家 Paul Duvall 阐述了如何运用开源工具自动生成统一建模语言(Unified Modeling Language,UML)图、构建图、实体关系图(entity-relationship diagram,ERD)乃至用户文档。 |
|
|
|
2008年6月24日 |
|
| |
COBOL 式死亡 对于最近有关 Java 即将退出历史舞台的传言,您可能想知道在这个时候放弃使用 Java 平台并转而使用更新的技术是否时机成熟?在作出您的判断之前,请先回顾并查看一下 Java 生态系统以及它的竞争者,看看这些传闻是否站得住脚。换而言之,了解整个 Java 世界目前的现状,并客观公正地评判这个平台。 |
|
|
|
2008年6月17日 |
|
| |
在 Eclipse 中嵌入 NASA World Wind Java SDK NASA 开发的开源 World Wind Java (WWJ) SDK 为地理信息系统(Geographic Information Systems,GIS)社区提供了新的可能性。World Wind 是一种使用 Java 语言和 OpenGL 编写的 3D 交互式地球查看工具,使用户可以从外太空观看地球上的任何地方。本文将讲述想要增强基于 Eclipse 的 应用程序的 GIS 开发人员如何将 WWJ SDK 作为插件嵌入到 Eclipse 中。 |
|
|
|
2008年6月17日 |
|
| |
使用 Apache HttpClient 突破 J2EE 站点认证 商业性 Web 站点大都提供站点认证功能以保护某些受限资源,HTTP 协议和 J2EE 规范对 Web 站点的认证过程都已有了详尽的定义,常见浏览器都能根据相应协议提供对应的界面形式帮助用户完成站点的认证过程。但在某些情况下,我们需要编写程序直接获取站点的受保护资源,在这类情况下,就不能利用浏览器给定的界面去完成认证,而需要我们根据不同的协议人工地发送相应请求以完成整个认证过程。本文根据这种需求给出一个基于 Apache HttpClient 应用包的解决方案。 |
|
|
|
2008年6月13日 |
|
| |
高效率创建安全的 Java 应用, 第 2 部分: 使用 Rational AppScan 最大化 Java Web 应用程序的安全性 本文是系列教程的第 2 部分,主要内容是使用 Rational Application Developer、Data Studio 和 Rational AppScan 创建安全的基于 Java 的 Web 应用程序。在第 1 部分中,您已经使用 Rational Application Developer 开发了一个 Java Web 应用程序,然后在 WebSphere Application Server 上部署了这个用 Java Server Pages (JSP)技术开发的应用程序。本文将向您介绍如何使用 Rational AppScan 扫描第 1 部分中所创建的 Wealth 应用程序,以发现和修补所有已知的网络安全漏洞。本文还将展示如何重新扫描您的应用程序,并生成报告。 |
|
|
|
2008年6月12日 |
|
| |
精通 Grails: Grails 服务和 Google 地图 在精通 Grails 系列的这一期中,Scott Davis 向您展示如何使用免费的 API 和 Web 服务将地图添加到 Grails 应用程序。他仍将使用前面几期的 trip-planner 示例应用程序,并通过地理编码、Google Map 和 Grails 服务进行进一步改进。 |
|
|
|
2008年6月12日 |
|
| |
用 Gant 构建软件 Gant 是一个高度通用的构建框架,通过利用 Groovy 和 Apache Ant,它允许您在使用所有 Ant 功能的同时实现编程逻辑。在本教程中,Andy Glover 将一步一步地引导您了解 Gant 的基础知识。您将了解如何利用 Gant 灵活的特定于领域的语言在构建中定义行为,如何重用 Ant 特性,以及如何定义使构建更高效、甚至更具前摄性的函数。 |
|
|
|
2008年6月10日 |
|
| |
让开发自动化: 利用 Ivy 管理依赖项 管理项目和工具之间的源代码依赖项往往非常困难,但并不一定总是如此。在这一期“让开发自动化”专栏中,自动化专家 Parl Duvall 介绍了如何利用 Apache Ant 项目中的 Ivy 依赖项管理器来处理所有重要 Java 项目必须管理的无数依赖项。 |
|
|
|
2008年6月10日 |
|
| |
简化 Ajax 和 Java 开发,第 2 部分: 使用约定最小化设置和配置 为了适应不同的应用程序需求和开发样式,大部分 Web 框架都在尽力变得灵活和可扩展。不幸的是,这有时候会增加复杂性和处理开销,还会产生很大的配置文件。本文将展示如何使用 JSP 标准标记库(JSTL)和 JSP 标记文件实现数据绑定、页面导航和样式约定,从而简化开发和维护。您将了解如何构建带有动态属性的定制 JSP 标记,使快速更改应用程序变得更加容易。此外,本文最后一节包含了一个使用 Ajax 提交 Web 表单的示例。 |
|
|
|
2008年6月10日 |
|
| |
用 JMS 保护 XML 消息,第 2 部分: 使用 XSS4J 实现 XML 安全性 Java 消息服务(Java Message Service,JMS)是一种基于 Java 语言的消息传递 API。XML 提供了一种简单、人类可读的信息交换数据格式,在企业数据格式化中是一种很受欢迎的语法。因此,在 JMS 应用程序中集成 XML 可以为企业应用程序带来很大的优势。本教程演示了使用 XML Security Suite for Java (XSS4J) 在现有 JMS 网络上实现安全的 XML 消息传递。 |
|
|
|
2008年6月5日 |
|
| |
Java 6 RowSet 使用完全剖析 C# 提供了 DataSet,可以将数据源中的数据读取到内存中,进行离线操作,然后再同步到数据源。同样,在 Java 中也提供了类似的实现,即 RowSet。javax.sql.rowset 包下,定义了五个不同的 RowSet 接口,供不同的场合使用。本文将分别对这五个 RowSet 的使用场合以及详尽用法进行介绍,并且描述使用中可能出现的问题,以提醒读者在实际使用时绕开这些问题。 |
|
|
|
2008年6月5日 |
|
| |
联合使用 CSS、JavaScript 和 JSF 精心打造 Ajax 应用程序,第 2 部分: 动态 JSF 表单
|
|
|
|
2008年6月5日 |
|
| |
Jenabean:将 JavaBeans 轻松绑定到 RDF 资源描述框架(Resource Description Framework,RDF)是万维网联盟(World Wide Web Consortium,W3C)提出的有关在 Web 中链接和表示数据的标准。为 Semantic Web 开发应用程序的 Java 开发人员需要实现 RDF 属性与 Java 类型的相互转换。Jenabean 使用 Jena Semantic Web 框架的灵活的 RDF/OWL API 持久化 JavaBeans,这使 Java 开发人员更容易更熟练地完成编写应用程序的任务。 |
|
|
|
2008年6月2日 |
|
| |
使用 Grester 简化 Java 应用程序的 JUnit 测试 您一定编写过大量单元测试。作为一名开发人员,您每天都要运行很多次测试,尤其在持续集成环境中更是如此。但是如果因为修改源代码而打断了这些单元测试,会带来什么影响呢?当 Jester 与 Maven 结合在一起构造 Grester 后,您很快就会找到解决方案。 |
|
|
|
2008年6月2日 |
|
| |
使用泛型和并发改善集合 Java Collections Framework 是 Java 平台的一个重要部分。桌面和企业应用程序通常都使用该框架来聚集集合项。本文将向您展示如何使用集合,同时利用 Java SE 6 中对该框架的增强。通过使用泛型和并发功能使您的应用程序具有更好的维护性和可伸缩性,您可以实现比 HashMap 或 TreeSet 更丰富的功能。 |
|
|
|
2008年6月2日 |
|
| |
让开发自动化: 自动负载测试 负载测试通常在开发周期的后期执行,但是并不一定要这样。在让开发自动化的这一期,自动化专家 Paul Duvall 将向您描述如何创建一个运行 JMeter 测试的预定集成构建,发现和修复开发周期中出现的问题。 |
|
|
|
2008年5月29日 |
|
| |
JSR 286 Portlet 的新特性,第 3 部分: Portlet 过滤器和 Portlet 窗口 在本系列的 第 1 部分 简要回顾了JSR 168 Portlet,并对 JSR 286 Portlet 的新增特性做了详细的介绍,第 2 部分和第 3 部分将通过在 Apache Pluto 2.0 平台上开发和部署 Portlet 应用程序, 向读者介绍 JSR 286 Portlet 新特性的使用方法。本文将介绍 JSR 286 Portlet 的 Portlet 过滤器和 Portlet 窗口应用程序开发。 |
|
|
|
2008年5月29日 |
|
| |
在 Java 环境中使用 XQuery XQuery API 使得查询和搜索 XML 文档非常容易,Sun 的 XQuery API for Java 为 Java 应用程序提供了这样的能力。 |
|
|
|
2008年5月29日 |
|
| |
Java 理论与实践: 使用通配符简化泛型使用 通配符是 Java 语言中最复杂的泛型之一,特别是围绕捕获通配符的处理和令人困惑的错误消息。在这一期的 Java 理论与实践中,资深 Java 开发人员 Brian Goetz 解释了一些由 javac 生成的怪异错误消息并提供了一些简化泛型使用的技巧和解决方法。 |
|
|
|
2008年5月26日 |
|
| |
多种计时器的比较与分析 本文主要比较和分析了 java.util.Timer,Commonj Timer 和 IBM WebSphere Application Server Scheduler 三种计时器的特点和差异,深入剖析了不同计时器的使用场景,给出了使用不同类型计时器的代码片段。 |
|
|
|
2008年5月26日 |
|
| |
持久化模式,第 2 部分: 提高代码重用和改进性能 第 1 部分讨论用现代对象-关系映射(ORM)工具实现一致且紧凑的领域模型和持久化层的基本概念。在第 2 部分中,作者将描述基领域实体、领域模型中的行为以及泛型 DAO 的高级特性,还要提供改进领域模型的数据获取性能的策略。 |
|
|
|
2008年5月22日 |
|
| |
持久化模式,第 1 部分: 现代 ORM 工具的策略和最佳实践 尽管有许多开发人员使用对象-关系映射(ORM)工具构造应用程序的持久化层,但是也有一些开发人员对于如何使用这些工具有误解,常常不必要地重复编写代码。本文作者在构造持久化层方面具有丰富的经验,他们对持久化模式和最佳实践有清晰的认识。本文分为两部分,第 1 部分讨论一致且紧凑的领域模型和持久化层的基本概念。第 2 部分扩展第 1 部分中讨论的概念。 |
|
|
|
2008年5月22日 |
|
| |
JSR 286 Portlet 的新特性,第 2 部分: 资源服务、事件与共享呈现参数 在本系列的第 1 部分简要回顾了 JSR 168 Portlet,并对 JSR 286 Portlet 的新增特性做了详细的介绍, 本文将通过在 Apache Pluto 2.0 平台上开发和部署 Portlet 应用程序, 向读者介绍 JSR 286 Portlet 新特性的使用方法。本文将首先介绍 JSR 286 参考实现 Apache Pluto 2.0 平台的构建过程,然后通过在 Apache Pluto 2.0 平台上开发和部署 JSR 286 Portlet 应用程序, 向读者介绍 JSR 286 Portlet 资源服务和新增的交互功能:事件和共享呈现参数。 |
|
|
|
2008年5月22日 |
|
| |
使用 Google Gears 开发离线应用 本教程介绍了 Google Gears 离线应用的基本知识和离线技术实现的基本思想,并通过实际需求的实现来介绍运用 Web 技术结合 Gears 开发离线应用:首先,基于 Ajax 技术开发了简单的应用,接着依次介绍如何使用 Google Gears 三大核心组件包装传统应用,最后组合成完整的 Gears 离线应用。 |
|
|
|
2008年5月16日 |
|
| |
精通 Grails: 使用 Ajax 实现多对多关系 在 Web 应用程序中,多对多(m:m)关系很难处理。在精通 Grails 系列的这一期文章中,Scott Davis 将向您展示如何在 Grails 中成功实现 m:m 关系。了解如何通过 Grails 对象关系映射(Grails Object Relational Mapping,GORM)API 和后端数据库处理多对多关系。学习如何使用 Ajax(Asynchronous JavaScript + XML)流线化用户界面。 |
|
|
|
2008年5月15日 |
|
| |
Scala 和 XML Scala 是一种在 Java 虚拟机(Java Virtual Machine,JVM)上运行的流行的新型编程语言。Scala 被编译成字节码,因此它可以利用 Java 编程语言。然而它的语法使其在某些场景下成为 Java 的一个强有力的候补。这些场景之一就是 XML 处理。Scala 容许您以多种方式导航和处理解析后的 XML。它还为 XML 构建提供了一流支持,因此无需创建 XML 字符串或以编程方式构建 DOM 树。在本文中,您将了解 Scala 在这些方面的实际效用以及 Scala 如何将 XML 处理转变为一种乐事。
|
|
|
|
2008年5月15日 |
|
| |
Tapestry 和 Wicket 的比较 JSF 和 Struts 是开发人员在进行 Web 开发时使用的传统的组件框架。但还有另外一种选择,Tapestry 和 Wicket,它们是面向组件的 Web 框架,其设计目标专门针对 Web 应用程序创建。本文采用 Tapestry 和 Wicket 技术开发了一个简单的应用程序示例,该程序实现了一个 to-do 列表的工作流。
|
|
|
|
2008年5月15日 |
|
| |
使用 XStream 把 Java 对象序列化为 XML XML 序列化用处很多,包括对象持久化和数据传输。但是一些 XML 序列化技术实现起来可能很复杂。XStream 是一个轻量级的、简单易用的开放源代码 Java 库,用于将 Java 对象序列化为 XML 或者再转换回来。了解如何设置 XStream,如何使用它序列化和逆序列化对象以及从 XML 配置文件读取配置属性。 |
|
|
|
2008年5月8日 |
|
| |
使用 Acegi 保护 Java 应用程序,第 5 部分: 保护 JSF 应用程序中的 JavaBean Bilal Siddiqui 在这篇文章中总结了本系列,演示了如何用 Acegi 在 JSF 应用程序中保护对 JavaBean 的访问。可以使用多种方式配置安全 bean,包括直接在 JSF 标签中使用受 Acegi 保护的反转控制(IOC)bean。 |
|
|
|
2008年5月8日 |
|
| |
使用全新的 IBM pureQuery 工具提高 Java 数据库开发生产力,第 4 部分: 针对 Informix 数据库使用 Data Studio 和 pureQuery 全面了解如何对 Informix 数据库使用 Data Studio 和 pureQuery。了解在 Data Studio 中操作数据库和构建应用程序所需了解的所有内容。 |
|
|
|
2008年5月6日 |
|
| |
使用 Rational Functional Tester 和 AOP 相结合测试 SWT 应用程序 本文介绍了一种解决方法,能够使 Rational Functional Tester(RFT) 捕捉到 SWT 应用程序的对象,并且采用 AOP(Aspect Oriented Programming)后编译时(Post-Complier weave)的方式把它注入到 SWT 应用程序中。该方法无须更改 SWT 应用程序的源代码,减少了开发代码与测试代码的耦合,在基于 SWT 应用程序的测试中有广泛的应用前景。 |
|
|
|
2008年5月6日 |
|
| |
RichFaces 简介 如今,客户希望并且已经开始期望基于浏览器的应用程序提供桌面特性。RichFaces 是用于 Java Server Faces(JSF)的一种新的用户界面组件套件。除了其他优点外,
RichFaces 还提供内置的 JavaScript 和 Ajax 功能,从而满足客户期望。Joe Sam Shirah 根据最近的现场项目经验,将一些新的工具添加到您的工具箱中,包括通过 Facelet 使用 RichFaces 的常见设置,以及一些特定的组件示例。 |
|
|
|
2008年5月6日 |
|
| |
简化 Ajax 和 Java 开发,第 1 部分: 用 JSP 标记文件动态生成 JavaScript 代码 很多 Web 开发人员都经常抱怨说 Java EE 太复杂、构建新的 Web 组件太难、定制现有的组件也没有预想的那样简单,并且即便是很小的更改都需要重新启动应用程序。本系列给出了针对这些问题的解决方案,即采用代码生成器、约定、脚本语言和先进的 JavaServer Pages (JSP) 特性。在本文中,您将了解如何基于 JSP 标记文件构建可重用的 Ajax 和 Java 组件,而这些 JSP 标记文件很容易开发和部署。更改之后,JSP 标记文件会由 Java EE 服务器自动重编译,而无须重启应用程序。此外,您还能完全控制所生成的代码,并能轻松地定制这些轻量级组件,因为它们使用的是 JSP 语法。 |
|
|
|
2008年5月5日 |
|
| |
实现 Castor 数据绑定,第 4 部分: 把 Java 对象绑定到 SQL 数据库 Castor 可以把 Java 对象中的数据直接绑定到数据库表。本文介绍如何从 Java 对象编组到 SQL。 |
|
|
|
2008年4月30日 |
|
| |
JSR 286 Portlet 的新特性,第 1 部分: Portlet 2.0 新特性介绍 本文是系列文章的第 1 部分,对 JSR 168 进行了简单的回顾,并对 JSR 286 最终草案所提供的新特性包括事件、共享呈现参数、资源服务、过滤器以及 portlet 窗口等新概念进行了详细地介绍。 |
|
|
|
2008年4月29日 |
|
| |
使用全新的 IBM pureQuery 工具提高 Java 数据库开发生产力,第 3 部分: pureQuery 快速应用程序开发 通过使用 IBM pureQuery 平台和 Eclipse 工具,用比 JDBC 少得多的代码
快速构建简单的高性能的数据访问层,其生产力比任何其他基于 Eclipse 的工具高得多。 |
|
|
|
2008年4月28日 |
|
| |
在 DB2 Data Warehouse Edition 中使用 Business Intelligence Reporting Tool,第 1 部分: 在 DWE Design Studio 中安装 BIRT 和示例数据 BIRT(Business Intelligence Reporting Tool) 是一种用来生成报告的开放源码工具,对于 DWE 用户非常有用。它能够根据关系数据生成报告并提供交互能力。本教程系列解释如何安装 BIRT,使用它根据关系数据创建报告,然后把报告部署在 Web 服务器上。在本教程中,学习在 Design Studio 中使用 BIRT 的最佳实践。 |
|
|
|
2008年4月28日 |
|
| |
使用 Spring 2 Portlet MVC 框架构建 Portlet 应用 Spring 除了支持传统的基于 Servlet 的 Web 开发之外,也支持 JSR 168 Portlet 的开发。Spring Portlet MVC 框架尽可能多地继承了 Spring Servlet MVC 框架技术,使用了相同的底层表现层抽象和整合技术。同时,由于 JSR 168 Portlet 独特的工作流程,Spring Portlet MVC 框架的使用过程较之 Spring Servlet MVC 框架,存在一些差异。并且,针对 Portlet 应用,同 Spring 1.x 相比,Spring 2.x 在 Bean 的定义方面存在特性的增强。本文的目的就是通过开发和部署一个基于 Spring 2.x 的 Portlet 应用,向读者介绍利用 Spring 2.x 进行 Portlet MVC 应用开发的要点和关键流程。
|
|
|
|
2008年4月28日 |
|
| |
测试 Java 类的非公有成员变量和方法 测试是软件开发过程中的重要环节之一,充分的测试是保证软件可靠性的重要基础。然而,测试人员经常遇到一个尴尬的场景,就是当我们要测试一个类的成员变量或方法时,却发现该类的成员变量或方法是非公有的(私有或保护的),这令很多有经验的测试人员也感到头痛。本文总结了访问类的非公有成员变量或方法的四种途径,并提供它们在测试领域中的常见应用场景。 |
|
|
|
2008年4月25日 |
|
| |
使用全新的 IBM pureQuery 工具提高 Java 数据库开发生产力,第 2 部分: 探测和纠正 Java 程序中的 SQL 问题 使用 IBM pureQuery 技术和工具探测 Java 程序中的各种 SQL 问题。在产品开发和部署期间的各种场景中提升开发数据库应用程序的生产力,定制 SQL 检验来满足您的需要。 |
|
|
|
2008年4月25日 |
|
| |
在 PHP 和 Java 应用程序中使用 XML 数据库 伴随着 XML 的流行,原生 XML 数据库也越来越普及,因为数据以原生的 XML 格式而不是通过关系数据库中的表存储。使用原生 XML 数据库意味着要修改模式只需要对代码略加修改而不需要改变数据库。PHP 和 Java(TM) 开发人员可通过使用原生 XML 数据库获得莫大的好处。本教程引导您迅速熟悉原生 XML 数据库的使用,看看它会为 XML 开发带来什么样的好处。 |
|
|
|
2008年4月24日 |
|
| |
精通 Groovy 本教程适合于不熟悉 Groovy,但想快速轻松地了解其基础知识的 Java 开发人员。了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,您将轻松完成本教程的学习。最重要的是,您将学会如何在日常 Java 应用程序开发中联合使用 Groovy 和 Java 代码。 |
|
|
|
2008年4月21日 |
|
| |
动态编程和基因序列比对 分子生物学越来越多地将计算机科学算法作为研究工具。本文将介绍生物信息学 —— 用计算机解决生物学问题。学习动态编程的基本原理,这是一种高级的计算技术,您将发现它在许多编程项目中都很有用。 |
|
|
|
2008年4月17日 |
|
| |
使用 WebSphere Application Server 构建 EJB 3.0 应用程序 EJB 3.0 是简化企业中应用程序开发的主要发展方向。通过使用 WebSphere Application Server V6.1 Feature Pack for Enterprise JavaBeans 3.0,您可受益于简化的开发体验、新的持久性模型和一些新功能(如拦截器),同时仍可以将其部署到强健的 WebSphere 平台。 (IBM WebSphere Developer Technical Journal) |
|
|
|
2008年4月17日 |
|
| |