按产品、主题或内容类型过滤

(0 产品)

(130 主题)

(0 行业)

(2 类别)

第 101 - 200 条,共 1897 条 | 上一页 | 下一页
显示内容简介 | 隐藏内容简介
查看结果
题目 down 类别 none 日期 none
透彻的掌握 Spring 中@transactional 的使用
事务管理是应用系统开发中必不可少的一部分。本文首先介绍了基于 @Transactional 注解的事务的实现步骤,然后分析了 Spring 事务管理的实现机制,最后分别列出了注意事项,相信会使您对事务的运用有很大帮助。
技术文章 2019年 05月 05日
适用于 Java 程序员的 CSP,第 1 部分
虽然使用 Java 语言进行多线程应用程序编程并不难掌握,但是许多开发人员都在为了正确地应用它们而挣扎。结果,多线程程序要比我们想像的更容易发生细微的错误,这导致一些开发人员为了避免使用多线程而不惜代价,即使在并发和平行能够很明显地产生最好的设计的时候,他们也不采用多线程。在这篇由三部分组成的系列文章中,developerWorks 的定期投稿者 Abhijit Belapurkar 为您铺设了一条有助于克服对多线程编程恐惧、感受它的好处的道路。文章从多线程编程最常见问题的概述开始,这些问题包括:竞争冒险、死锁、活动锁、资源耗尽,等等。
技术文章 2005年 06月 21日
适用于 Java 程序员的 CSP ,第 3 部分
Abhijit Belapurkar 通过介绍 JCSP 开发高级主题,结束了由三部分组成的介绍适用于 Java 开发人员的 CSP 的系列文章,介绍的内容包括:JCSP 与 AOP 的相似性、JCSP 与 java.util.concurrent 的比较,以及用 JCSP 进行高级同步。
技术文章 2005年 07月 11日
适用于 Java 程序员的 CSP ,第 2 部分
在这篇由三部分组成的面向 Java 程序员的通信顺序进程 (CSP)介绍的第二期中,Abhijit Belapurkar 将介绍如何使用基于 Java 的 JCSP 库来编写能够确保没有并发问题(例如争用风险、 死锁、活动锁、资源耗尽)的 Java 应用程序。
技术文章 2005年 07月 07日
追逐代码质量: 决心采用 FIT
了解集成测试框架如何方便编写需求的业务客户和实现需求的开发人员之间的沟通。
技术文章 2006年 02月 28日
追求代码质量: 驯服复杂的冗长代码
只是从远处看一眼乱七八糟四处蔓延的代码块,开发人员就会感到心惊肉跳 —— 这很正常!冗长的代码常常是复杂性的标志,会导致代码难以测试和维护。本月将学习三种测试代码复杂性的重要方法,它们分别基于方法长度、类长度和内部类耦合。在这一期的 “追求代码质量” 系列文章中,专家 Andrew Glover 将向您展示如何使用诸如 PMD 和 JavaNCSS 之类的工具,在您需要的时候获得更高的精度。
技术文章 2006年 07月 31日
追求代码质量: 通过测试分类实现敏捷构建
人人都认可开发人员测试的重要性,但为什么运行测试还是需要花费太多时间?本月,Andrew Glover 揭示了三种用来确保端到端系统健壮性的测试类型,随后展示了如何按类型来自动排序及运行测试。即使是使用当今大型测试套件,这样做也能显著地减少构建时间。
技术文章 2006年 11月 27日
追求代码质量: 软件架构的代码质量
大多数设计良好的软件架构都趋向于支持系统的可扩展性、可维护性和可靠性。遗憾的是,对质量问题的疏忽极可能使软件架构师的努力白费。在 “追求代码质量” 系列的这一期文章中,质量专家 Andrew Glover 解释如何持续地监视并纠正会影响软件架构的长期生存能力的代码质量方面。
技术文章 2006年 05月 23日
追求代码质量: 监视圈复杂度
如果复杂度与缺陷紧密相关,那么监视代码库的复杂度值不是很有意义吗?Andrew Glover 将展示如何使用简单的代码度量工具和基于 Java 的工具来监视圈复杂度 (cyclomatic complexity)。
技术文章 2006年 04月 25日
追求代码质量: 用代码度量进行重构
在 “追求代码质量” 的前一期中,学习了如何用代码度量客观地度量代码质量。这个月,Andrew Glover 将介绍如何使用相同的度量方法和提取方法模式进行有针对性的重构。
技术文章 2006年 06月 19日
追求代码质量: 用 JUnitPerf 进行性能测试
在应用程序的开发周期中,性能测试常被放到最后考虑,这并不是因为它不重要,而是因为存在这么多未知变量,很难有效地测试。在本月的 “追求代码质量” 系列中,Andrew Glover 使性能测试成为开发周期的一部分,并介绍了两种简单的实现方法。
技术文章 2006年 11月 29日
追求代码质量: 用 AOP 进行防御性编程
虽然防御性编程有效地保证了方法输入的条件,但如果在一系列方法中使用它,不免过于重复。本月,Andrew Glover 将向您展示通过一种更为容易的方式,即使用 AOP、契约式设计和一个便捷的叫做 OVal 的库,来向代码中添加可重用的验证约束条件。
技术文章 2007年 02月 12日
追求代码质量: 探究 XMLUnit
Java 开发人员一般都很善于解决问题,所以由 Java 开发人员提出更容易的方法用以验证 XML 文档是很自然的事。本月,Andrew 将向您介绍 XMLUnit,一个能满足您所有的 XML 验证需求的 JUnit 扩展框架。
技术文章 2007年 01月 11日
追求代码质量: 对 Ajax 应用程序进行单元测试
您可能从编写 Ajax 应用程序中获得了极大乐趣,但是对它们执行单元测试却着实让人头痛。 在本文中,Andrew Glover 着手解决 Ajax 的弱点(其中之一),即应对异步 Web 应用程序执行单元测试的固有挑战。 幸运的是,他发现在 Google Web Toolkit 的帮助下,解决这个特殊的代码质量问题要比预想的容易。
技术文章 2007年 08月 06日
追求代码质量: 可重复的系统测试
在测试加入到 servlet 容器的 Web 应用程序时,编写符合逻辑的可重复的测试尤其需要技巧。在 Andrew Glover 的提高代码质量的这个续篇中,他介绍了 Cargo,这是一个以通用方式自动化容器管理的开源框架,有了这个框架,您可以随时编写符合逻辑的可重复的系统测试。
技术文章 2006年 11月 02日
追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI 测试
TestNG-Abbot 是一种测试框架,它为 GUI 组件的测试带来了新的活力。本月,Andrew Glover 将带领您亲历使用 TestNG-Abbot 测试 GUI 过程中难度最大的部分,即理解用户场景的实现过程。一旦理解了它,您会发现将 GUI 组件隔离并使用框架所含的极其方便的 fixture 对象对其进行验证是多么地简单。
技术文章 2007年 04月 02日
追求代码质量: 使用 Selenium 和 TestNG 进行编程式测试
Selenium 是一种测试框架,它使您可在 Web 应用程序上轻松地运行用户验收测试(user acceptance test)。本月,Andrew Glover 将向您展示如何以编程的方式运行 Selenium 测试,并使用 TestNG 作为测试驱动程序。在将 TestNG 灵活的测试特性(包括参数化 fixture)添加到 Selenium 固有的工具包后,您需要做的就是借助 DbUnit 和 Cargo 的帮助编写完全自动化、逻辑可重复的验收测试。
技术文章 2007年 04月 30日
追求代码质量: 亲身体验行为驱动开发
测试驱动开发(TDD)在实践中是一个很好的思想,但有些开发人员还不能接受 “测试” 这个词所产生的概念上的骤变。在本文中,学习一种更自然的方法,将 TDD 元素整合到编程实践中。开始采用行为驱动开发(BDD)(通过 JBehave),亲身体验将注意力集中在程序行为(而不是输出)时获得的效果。
技术文章 2007年 10月 08日
追求代码质量: 不要被覆盖报告所迷惑
测试覆盖工具对单元测试具有重要的意义,但是经常被误用。这个月,Andrew Glover 会在他的新系列 —— “追求代码质量” 中向您介绍值得参考的专家意见。第一部分深入地介绍覆盖报告中数字的真实含义。然后他会提出您可以尽早并经常地利用覆盖来确保代码质量的三个方法。
技术文章 2006年 02月 06日
追求代码质量: JUnit 4 与 TestNG 的对比
JUnit 4 具有基于注释的新框架,它包含了 TestNG 一些最优异的特性。但这是否意味着 JUnit 4 已经淘汰了 TestNG?Andrew Glover 探讨了这两种框架各自的独特之处,并阐述了 TestNG 独有的三种高级测试特性。
技术文章 2006年 09月 18日
连接池
连接合用是一种用于在请求客户机之间共享服务器资源的技术。本文重点讲述在 J2EE 环境中对数据库资源和非数据库资源连接合用的支持。Siva 分析了 JDBC 2.0、JMS 1.02 和 JNDI 1.2 在连接合用方面的标准扩展 API,并讲述了那些 API 的某些现有供应商实现。然后,他讲述了即将出现的、支持用独立于供应商/可插入的方法来管理资源连接的 J2EE Connector Architecture 1.0。
技术文章 2000年 10月 12日
进入 Harmony 世界,第 5 部分: Harmony 基础设施介绍
本文较详细地介绍了 Harmony 项目中一些重要的基础设施,展示如何搭建配置开发环境,以及如何参与到 Harmony 项目的实际开发中来。
技术文章 2007年 04月 06日
进入 Harmony 世界,第 4 部分: 类库开发最佳实践
本文较详细地介绍了 Apache Harmony 项目类库(API库)开发过程当中的经验,从架构设计和软件工程的角度,介绍了类库开发过程当中积累的类库模块的划分、测试优先的开发模式、结对编程、代码审核等等最佳实践。
技术文章 2006年 12月 14日
进入 Harmony 世界,第 3 部分: Harmony VMI
作为由 5 个部分组成的系列文章的第三部分,这篇文章较详细地介绍了 Harmony 项目中的虚拟机接口(VMI)。
技术文章 2006年 09月 28日
进入 Harmony 世界,第 2 部分: 研究 Port Layer
本文是“进入 Harmony 世界”这个由 5 部分组成的系列文章的第二篇,较详细地介绍了 Harmony 项目中用于实现平台无关性的 Port Layer,了解 Harmony Port Layer 的由来,结构及其在 Harmony 开发中的重要作用。
技术文章 2006年 08月 07日
进入 Harmony 世界,第 1 部分: Apache Harmony 项目简介
Apache Harmony 是 2005 年 5 月宣布的开放源码 Java SE 实现,本文是一个分 5 部分的系列文章的第一篇,这个系列主要介绍 Apache Harmony 项目的内部实现,最新发展现状和开源 Java 开发的模式,并鼓励和欢迎大家参与到 Harmony 的社区中来。本文是 5 个系列的第一篇,概括介绍了 Harmony 项目的背景,技术架构,社区运作和未来的方向。
技术文章 2006年 07月 17日
进一步提升 Struts 2 对 Velocity 的支持力度
本文主要介绍如何解决 Struts 2 和最新版本的 Velocity 结合的问题以及进一步提升 Struts 2 对 Velocity 的支持力度。
技术文章 2007年 07月 30日
运用类反射机制简化 Struts 应用程序的开发
本文讲述了如何利用 Java 的反射的机制来简化 Structs 应用程序的开发。
技术文章 2003年 11月 25日
运用加密技术保护Java源代码
Java程序的源代码很容易被别人偷看。只要有一个反编译器,任何人都可以分析别人的代码。本文讨论如何在不修改原有程序的情况下,通过加密技术保护源代码。
技术文章 2001年 10月 15日
运用 BoxLayout 进行 Swing 控件布局
对于初学 Java Swing 的开发人员来说,控件的布局是比较困难的。相对于 FlowLayout 而言,BoxLayout 比较灵活,有更大的功能,可以完成比较复杂界面的布局,本文将在基于例子的基础上给出如何较好的使用 BoxLayout, 可以给 Java Swing 的初学者一些启发。
技术文章 2012年 12月 03日
轻量级开发的成功秘诀,第 9 部分: 基于 Continuation 的框架
Continuation 允许将 Web 请求视为单独应用程序而不是多个请求,从而使状态管理更为简单,改进了组件彼此适应的方式,并简化了诸如 Back 按钮和线程技术等令人头疼的问题。本文就 Continuation 服务器的有关内容进行了探究。
技术文章 2006年 01月 20日
轻量级开发的成功秘诀,第 7 部分: Java 替代方案
尽管 Java 编程语言功能强大,但对于轻量级开发,它有着严重的局限性。对于某些问题,其他的编程语言(比如 Ruby)也许会改善生产效率。本文向您展示,在一种程序语言中,什么对生产效率来说是重要的。
技术文章 2005年 11月 07日
轻量级开发的成功秘诀,第 6 部分: 持久性策略
在任何 Java 技术应用程序中,持久性框架都是一个极其重要的部分。作出选择是令人头疼的一件事。因此,开发人员常常选择流行的框架,不论是企业级 JavaBeans 还是 Hibernate。通常您不需要完整的对象关系映射层。即使您确实需要,其他的持久方案都有提供。Hibernate 是免费的,而且功能丰富。Kodo JDO 有优秀的管理和映射支持。iBATIS 是一种混合解决方案,它把对象映射到 SQL 查询的结果,而非表格。甚至 JDO 也有它的地位。本文讨论各种方案并给您一个选择最佳方案的方法。
技术文章 2005年 10月 17日
轻量级开发的成功秘诀,第 3 部分: Spring 露出水面
轻量级容器在为应用程序组织胶水代码方面,提供了一种方法。Spring 框架在轻量级容器世界独占鳌头。它内含了轻量级容器、面向方面编程框架和可以轻而易举整合数百种开放源码框架的胶水代码。
技术文章 2005年 07月 14日
轻量级开发的成功秘诀,第 2 部分: 如何减轻容器
业务需要重量级架构(比如 Enterprise JavaBeans (EJB)技术)提供的企业服务,但这种架构对于解决日常问题可能过于复杂。本文介绍轻量级容器,并解释它们如何提供满足您业务需要的服务,而无需将您束缚在一个指定的编程模型之上。
技术文章 2005年 07月 14日
轻量级开发的成功秘诀,第 1 部分: 核心原则及原理
轻量级开发是一个很大的主题,开发人员经常提到这个术语,但却很难讲明它的意思。本文是一系列讲述轻量级开发的文章中的首篇,介绍了该技术背后的核心原则及原理。
技术文章 2005年 05月 30日
轻松迁移至 Java 11
使用 Migration Toolkit for Application Binaries 迁移至 Java 11。
教程 2019年 05月 07日
轻松构建和运行多线程的单元测试
针对 Java 并行程序的单元测试,结合扩展 JUnit 的测试工具,本文介绍了一种在集成开发环境中,轻松创建符合用户要求的多线程单元测试用例和简单运行多线程单元测试的完整过程,使得用户只用关心测试本身的逻辑和结果,而不用去了解测试用例并行执行的琐碎细节,从而大大方便并行程序员开发和运行并行测试用例,提高并行程序的开发效率和质量。
技术文章 2010年 06月 03日
轻松应对 WS-Security 规范互操作性挑战,第 4 部分: 向 J2EE 1.4 Web service 服务添加 J2EE 1.3 提供者端点
本系列的前面几个部分提供了 Web 服务安全性(Web Services Security,WS-Security)规范级别的互操作性问题的解决方法,具体来说,问题就是 WS-Security 的不同版本之间的不兼容性使得在需要使用 WS-Security 的情况下 Java 2 Platform Enterprise Edition (J2EE) 1.3 客户机无法与 J2EE 1.4 Web 服务提供者通信。接下来让我们了解一下如何通过添加新 Web 服务提供者端点来克服这一互操作性问题。
技术文章 2007年 09月 13日
轻松实现坐标转换
很多流行的应用程序可以提供基于位置的服务,但是计算机如何识别真实世界中的位置呢?很多方法都涉及到地理坐标系统,并且在实际应用中存在不同的此类系统。在本文中,应用程序架构师 Sami Salkosuo 演示了使用 Java™ 代码在两种流行的系统之间转换位置数据:人们较为熟悉的经纬度系统和统一横轴墨卡托投影(Universal Transverse Mercator)系统。
技术文章 2007年 09月 07日
轻松使用线程: 同步不是敌人
与许多其它的编程语言不同,Java语言规范包括对线程和并发的明确支持。语言本身支持并发,这使得指定和管理共享数据的约束以及跨线程操作的计时变得更简单,但是这没有使得并发编程的复杂性更易于理解。这个三部分的系列文章的目的在于帮助程序员理解用Java 语言进行多线程编程的一些主要问题,特别是线程安全对 Java程序性能的影响。请点击文章顶部或底部的讨论进入由 Brian Goetz 主持的“Java线程:技巧、窍门和技术”讨论论坛,与本文作者和其他读者交流您对本文或整个多线程的想法。注意该论坛讨论的是使用多线程时遇到的所有问题,而并不限于本文的内容。
技术文章 2001年 07月 04日
轻松使用线程: 减少争用
在本系列的第 1 部分,我们讨论了无争用同步的性能开销。JVM 的每个后继版本在整体性能上的提高和无争用同步代价的降低使得无争用同步开销问题不再显得那么突出。但争用同步的代价仍然非常高昂。本文将探讨能够减少争用的几种技术,以提高您程序的可伸缩性。
技术文章 2001年 09月 01日
轻松使用线程: 不共享有时是最好的
ThreadLocal 类是悄悄地出现在 Java 平台版本 1.2 中的。虽然 ThreadLocal 极少受到关注,但对简化线程安全并发程序的开发来说,它却是很方便的。在轻松使用线程的第 3 部分中,Java 软件顾问 Brian Goetz 研究了 ThreadLocal 并提供了一些使用技巧。
技术文章 2001年 10月 01日
软件体系架构模式在 J2EE 中的应用
本文介绍了软件体系架构模式的层模式 , 分析了它的结构 , 特点 , 实现 , 以及优缺点等 . 然后介绍遵循层模式的 Architectural cube 理论 , 结合 J2EE 的体系架构特点 , 剖析层模式是怎样应用的 . 最后以 PetStore 为例 , 简单阐述怎样应用该模式在实际的 J2EE 系统之中 .
技术文章 2003年 12月 25日
软件体系架构模式在 J2EE 中的应用
本文介绍了软件体系架构产生的背景和架构模式的基本理论 . 重点介绍管道与过滤器体系架构模式的结构 , 实现 , 优缺点等 , 然后以 J2EE 的 Servlet Filter 为例进行剖析它是怎样应用该架构模式的 , 最后简单阐述了在其它 J2ee 应用中 (Jboss 和 Axis) 的实践 .
技术文章 2003年 10月 27日
跨越边界: 闭包
闭包是可以用作函数参数和方法参数的代码块。一直以来,这种编程结构都是一些语言(如 Lisp、Smalltalk 和 Haskell)的重要组成部分。尽管一些颇具竞争力的语言(如 C#)采纳了闭包,但 Java 社区至今仍抵制对它的使用。本文探讨闭包在为编程语言带来一点点便利的同时是否也带来不必要的复杂性、闭包还有无更多的益处。
技术文章 2007年 01月 22日
跨越边界: 用 Haskell 研究函数性编程
结构化编程和面向对象编程都革新了业务应用程序构建的方式。但是还存在其他编程模型,有些梦想家还认为这些范式比面向对象编程的生产力更高。这篇文章探索 Haskell 研究函数性编程的基础。学习函数性编程可以重塑对于 Java 编程的思考方式。
技术文章 2006年 07月 31日
跨越边界: 延迟绑定
静态类型语言(如 Java 语言和 C)可以在编译时把方法调用绑定到其实现中。这项策略让这类语言可以执行更丰富的语法和类型检查。比起不具有此项编译时检查功能的动态类型语言来说,静态类型语言更加稳定且具有更佳的性能。然而静态类型语言存在一个严重的局限性:前期绑定。一些动态类型语言(如 Ruby、Smalltalk 和 Self)允许延迟绑定,它们可以实现另一个层次的编程功能。
技术文章 2006年 12月 18日
跨越边界: 延续、Web 开发和 Java 编程
“跨越边界” 系列讨论非 Java 语言如何解决一些重要问题以及这些解决方案对当今的 Java 开发人员有什么意义。本文讨论延续(continuation),这是 Smalltalk 的 Seaside 这类框架背后的技术。延续服务器(continuation server)提供了一个有状态的编程模型,同时又没有舍弃无状态所固有的可伸缩性,从而使构建 Web 应用程序更加容易。
技术文章 2006年 04月 13日
跨越边界: 动态类型语言中的 Web 开发策略
过去十年的大部分时间里,Java 社区一直在使用 JavaServer Pages (JSP) 技术,但现在已开始显现出衰退的迹象。目前,长期以来的惯例阻止了 Java 程序员在 Web 页面中使用 Java 代码,并且即便扩展简单的组件也很繁琐。超越 JSP 编程的 Java Web 开发框架已经出现,但却缺少动态语言功能。本文将向您展示 Ruby 的 Web 页面开发策略并会提及有关 Seaside 的基本方法。
技术文章 2006年 07月 28日
跨越边界: REST on Rails
“跨越边界” 系列中以前的文章说 Ruby on Rails 是一个突然流行起来的框架,充当着 Ruby 编程语言的催化剂。随着 Ruby 的经验不断成功,开发人员开始寻求把他们的 Ruby 应用程序与用其他语言编写的应用程序集成。Rails 对 Web 服务提供了优秀的支持。本文介绍 Rails 中的 Web 服务,重点放在一个名为 Representational State Transfer (REST) 的策略上。
技术文章 2006年 09月 07日
跨越边界: Rails 迁移
Ruby on Rails 是不断发展的 Web 开发框架,它实现了一些先进的想法,例如通过配置进行约定、大量的元编程、特定于域的语言以及用数据库包装代替对象关系映射。这篇文章研究的 Rails 模式迁移是一种把每个数据库的模式变化与基本对象模型分离的思想。
技术文章 2006年 09月 25日
跨越边界: Lisp 之美
Lisp 长久以来一直被视为伟大的编程语言之一。其漫长的发展过程(接近五十年)中引发的追随狂潮表明:这是一门非同凡响的语言。在 MIT,Lisp 在所有程序员的课程中占了举足轻重的地位。像 Paul Graham 那样的企业家们将 Lisp 卓越的生产力用作他们事业成功起步的推动力。但令其追随者懊恼万分的是,Lisp 从未成为主流编程语言。作为一名 Java 程序员,如果您花一点时间研究 Lisp 这座被人遗忘的黄金之城,就会发现许多能够改进编码方式的技术。
技术文章 2007年 03月 05日
跨越边界: JavaScript 语言特性
JavaScript 常被人们认为是编程语言中无足轻重的一员。这种观点的形成可以“归功”于其开发工具、复杂且不一致的面向 HTML 页面的文档对象模型以及不一致的浏览器实现。但 JavaScript 绝对不仅仅是一个玩具这么简单。在本文中,Bruce Tate 向您介绍了 JavaScript 的语言特性。
技术文章 2007年 01月 18日
超越设计模式
可复用面向对象软件的基础 -- 设计模式,以其可复用的设计初衷、精巧的逻辑思维被广大面向对象程序设计所追捧。但不少程序设计者却经常将思考的问题转换为遇到了什么场景就要用什么模式。这种八股文式的思维在某种程度上严重影响了程序设计的艺术性,并固化了程序设计者的思想,违背了设计模式的初衷。在本文中,作者总结了设计模式背后的核心思想,并提出了几个关键的设计原则,例如面向接口、封装变化、依赖倒置原则、只和朋友交谈等。程序设计者只需在程序设计时遵循这些原则,便会发现原来已经在使用某些设计模式了。
技术文章 2010年 10月 21日
走近 Jazzy
对于包含自然语言文本输入的应用程序,用户期望它具备拼写检查功能。因为从头开始构建一个拼写检查器不是一项简单的任务,所以这篇文章为您提供一个使用 Jazzy 的工作区。Jazzy 是一个开放源代码的 Java 拼写检查器 API。Java 开发人员 Tom White 对基于计算机的拼写检查背后的主要算法进行了深入探讨,然后向您展示 Jazzy API 如何才能帮助您最好地把它们整合到 Java 应用程序中。
技术文章 2004年 09月 22日
走出 JNDI 迷宫
从单机编程转向 EJB 技术和分布式计算这些更复杂领域的 Java 开发人员常常会陷入困境:编写成功地游历 JDNI 迷宫的代码会很困难,多计算机和配置也增加了出错的可能性。在本文中,EJB开发人员 Daniel Would 解释了如何编写可以成功地找到在 JNDI 名称空间中发布的 EJB 组件的客户代码。他向您展示了使处理更容易的各种编程选项,并提供了一些可以在您自己的应用程序中作为实用工具类使用的代码。
技术文章 2003年 12月 01日
调试集成 Java 和 C/C++ 的代码
当在应用程序中无法使用纯 Java 语言的解决方案时,如何有效地调试 Java 和 C 混合的编程?因为还没有可以检查这样一个软件杂交的调试器。本文中,软件工程师 Matthew White 使用命令行工具来说明一些基本技术,并分析了调试多语言应用程序时会遇到的问题。阅读完本文后,您将知道如何启动应用程序以便与调试器连接;可以使用什么样的调试器以及实现有效调试所需的技巧和提示。在论坛上与作者以及其他读者分享您对本文的看法。
技术文章 2001年 11月 21日
调试和测试 Swing 代码
当您需要使用或维护其他/她 Java 开发人员的代码时,调试和测试有助于您了解这些代码的运作方式。不过对于可视化代码,这些强大的实践方法更难运用,除非您有合适的工具。本文介绍的两个开源工具 —— Swing Explorer 和 FEST-Swing —— 能使 Swing UI 调试和测试简单可靠。Alex Ruiz 展示了如何使用这两个工具了解 UI 的结构、测试其功能并排除故障。
技术文章 2010年 03月 15日
读取条形码
本文研究 UPC 符号和条形码,并描述如何使用 Java 来读取 UPC 条形码中的信息。作者说明了如何促进和组织围绕 IBM DB2 数据库的企业运营。本文中描述的样本应用程序包括可下载的代码。
技术文章 2002年 09月 25日
读取、回收和重用:使用 Excel、XML 和 Java 技术轻松搞定报告,第 2 部分
本系列的第 1 部分介绍了使用 Java 技术和 Apache POI 读取 Microsoft Excel 文件。但是读取 Excel 文件只是一个开始。本期文章将介绍 Excel 和 XML 格式之间的相互转换,减轻开发人员在报告格式转换方面的痛苦。
技术文章 2010年 04月 15日
读取、回收和重用:使用 Excel、XML 和 Java 技术轻松搞定报告,第 1 部分
提取业务数据是每个公司都面临的一个挑战。探索使用 Java 技术从 Excel 提取数据以及在 Excel 和 XML 之间转换数据的秘密。
技术文章 2010年 04月 06日
语言设计者的笔记本: 首先,不要造成伤害
尽管一些建议的语言功能可以解决遇到的某个问题,但其中大部分功能的存在都有现实环境中的根源,在这些环境中,现有功能无法使程序员轻松、清晰、简洁或安全地表达他们想要的概念。尽管头脑中有一个用例,“此功能使我能够编写我希望能够编写的代码”,但语言设计师还需要评估语言功能可能带来的糟糕代码。
技术文章 2011年 09月 19日
语言设计者的笔记本: 定量语言设计
对于任何给定编程语言来说,都不缺乏新功能。语言设计者不仅要执行决定许多可能(而且经常不兼容)语言功能接收优先级这一困难任务,而且他们还必须考虑新语言功能与现有功能令人惊讶的交互。语言的进化通常需要在启用新编码模式的优势与破坏现有 “怪异” 代码潜在成本之间进行权衡。在这种情况下,可以使用实际数据量化 “怪异” 代码不寻常的程度,它可以为决策制定方式提供有价值的线索。
技术文章 2011年 07月 18日
语言设计者的笔记本: 一揽子交易
向语言添加某个重要的新功能时,往往会出现以下情况:新功能是必需的,或者至少鼓励添加的,而附加的其他新功能则有好有坏。在这一期的语言设计人员笔记中,Brian Goetz 将讨论在添加语言功能时如何附带添加其相关功能。
技术文章 2011年 12月 12日
诊断Java代码: 软件开发的未来
在诊断Java代码系列最后一部分,Eric Allen讨论软件开发的当前动态并展望未来数年内的发展趋势。
技术文章 2003年 08月 23日
诊断 Java 代码: 轻松掌握 Java 泛型,第 4 部分
Java 开发人员和研究人员 Eric Allen 讨论了通过泛型类型添加对 mixin 支持所带来的影响,并以此文来结束他对 JSR-14 和 Tiger 中泛型类型的由四部分组成的讨论。(您也可以单击本文顶部或底部的“讨论”来访问该论坛。)
技术文章 2003年 07月 21日
诊断 Java 代码: 轻松掌握 Java 泛型,第 3 部分
Java 开发人员和研究员 Eric Allen 继续讨论 JSR-14 和 Tiger 中的泛型类型,并着眼于在泛型类型中添加 naked 类型参数的 new 操作支持这一分支。
技术文章 2003年 06月 09日
诊断 Java 代码: 轻松掌握 Java 泛型类型,第 2 部分
这个月,Eric Allen 继续讨论 JSR-14 和 Tiger 中的泛型类型(generic type)。他概括了在这些 Java 扩展中强制实施的几个限制,并说明这些扩展语言的编译器所使用的实现策略如何使这些限制必然存在。请在与本文一起提供的论坛中与作者和其他读者分享您对本文的心得。(您也可以单击本文顶部或底部的“讨论”来访问论坛。)
技术文章 2003年 05月 21日
诊断 Java 代码: 轻松掌握 Java 泛型
本月的诊断 Java 代码介绍泛型类型(generic type)和支持它们的特性,计划在 2003 年末发布的 Tiger,也就是 Java V1.5 中打算包含这些泛型和特性。Eric Allen 提供了代码样本,这些样本通过重点描述诸如基本类型的限制、受限泛型和多态方法之类的 Tiger 特性来说明泛型类型的优缺点(即将发表的专栏文章将讨论其它特性,比如 Tiger 中泛型类型的特定表现以及可能扩展为 Tiger 之外的泛型类型)。请通过单击文章顶部或底部的讨论进入论坛,与作者和其他读者分享您对本文的心得体会。
技术文章 2003年 05月 14日
诊断 Java 代码: “杀手组合”― mixin、Jam 和单元测试
在 Java 语言中获得单继承编程的安全性需要付出极大的代价:有时必须沿着继承层次结构中的多条路径复制代码。要重新获得单继承 Java 代码中所失去的大多数表示,我们可以将 mixin集成为一个扩展。本月,Eric Allen 解释了 mixin(那些由它们的父类参数化的类)的概念,以及它们如何能协助单元测试。他还描述了基于 mixin 编程的工具,并讨论了将 mixin 添加到您的 Java 代码中的可能方法。在本文的论坛中与作者及其他读者分享您对本文的看法。(也可以单击本文顶部或底部的讨论访问该论坛。)
技术文章 2003年 03月 12日
诊断 DB2 Java 应用程序的性能问题
从应用程序客户机的角度诊断和隔离性能问题。学习如何为在 IBM DB2 for Linux, UNIX, and Windows 数据库上运行的 Java 应用程序排除性能问题。一旦理解了性能问题的根源所在,离找到解决方案也就不远了。
技术文章 2007年 12月 13日
评论专栏:Scott Johnson: 通过 HTTP 加载 Java 资源包
了解如何加载位于不同 Web 应用程序中的 Java 资源包。在 Java Platform Standard Edition(Java SE)6 之前,JDK 并不支持实现这个功能。但在 Java SE 6 中添加 ResourceBundle.Control 类后,通过扩展 Control 类和添加一些定制代码,加载 “远程” 资源包便成为可能。
技术文章 2009年 11月 25日
评论专栏: 真的,为什么要用 Hibernate?
IBM WebSphere Application Server 提供一个基于 Apache OpenJPA 项目的完整 JPA 解决方案。尽管使用其他 JPA 提供者(比如 Hibernate JPA)也是可行的,但问题是:“为什么要选择 Hibernate JPA?”本文解释为何使用 WebSphere JPA 解决方案总是最明智的选择。
技术文章 2010年 10月 21日
评论专栏: 企业级 OSGi 带来的好处
WebSphere Application Server(WAS)从版本 6.1 开始,在其底层实现中引入 OSGi,接下来 WAS 版本 7.0 推出 OSGi 功能包,开始支持 OSGi 编程模型,再到最新的 WAS 版本 8.0,对 OSGi 应用的开发部署提供了更加全面的支持。OSGi,作为实现 JAVA 模块化最重要的方法。越来越多的受到软件架构师、开发人员以及服务器管理者的欢迎。那么 OSGi 究竟给我们带来了什么好处? WAS 版本 8.0 又是如何去实现这些好处,并让软件从业人员轻松的享用到这些好处呢?我们将在本文中一一向大家介绍。
技术文章 2011年 12月 22日
设计移动 Web 服务
从何时选择移动 Web 服务到总体设计指导原则再到用于移动 Web 服务的值类型,本文提出了在设计用于移动设备的 Web 服务时需要考虑的许多设计事项。文中还介绍了许多设计移动 Web 服务方面的最佳实践。从本文中,您可以了解如何决定何时使用 Web 服务、在设计 Web 服务时需要考虑什么事项,以及在规划移动 Web 服务时必须谨记哪些问题。
技术文章 2006年 05月 25日
设计与开发 JAX-WS 2.0 Web 服务
通过使用 Java API for XML Web Services (JAX-WS) 技术设计和开发 Web 服务,可以带来很多好处,能简化 Web 服务的开发和部署,并能加速 Web 服务的开发。通过此教程,可以了解如何开发将其功能作为 Web 服务公开的示例订单处理程序,从而进行所有这些工作以及其他任务。完成了此教程后,您将能够应用这些概念和新获得的知识,来使用 JAX-WS 技术为应用程序开发 Web 服务。
教程 2007年 11月 29日
设计 REST 风格的 MVC 框架
传统的 JavaEE MVC 框架如 Struts 等都是基于 Action 设计的后缀式映射,然而,流行的 Web 趋势是 REST 风格的架构。尽管使用 Filter 或者 Apache mod_rewrite 能够通过 URL 重写实现 REST 风格的 URL,为什么不直接设计一个全新的 REST 风格的 MVC 框架呢? 本文将讲述如何从头设计一个基于 REST 风格的 Java MVC 框架,配合 Annotation,最大限度地简化 Web 应用的开发,您甚至编写一行代码就可以实现“Hello, world”。
技术文章 2010年 01月 04日
让编译和测试过程自动化
逐步递增测试和持续编译是极端编程方法基础的两种。 把两者合并成为一个单独的、自动进行的过程 ― 加上自动生成电子邮件报告 ― 您就将在向 XP 梦想前进的道路上迈出坚实的步子。请跟随 Erik Hatcher,他向您展示了他是如何修改流行的 Ant 1.3 和 JUnit 测试框架,以达到让编译和测试过程完全的、用户化的自动化。
技术文章 2001年 08月 04日
让开发自动化: 除掉构建脚本中的气味
您把多少时间花在维护项目构建脚本上?也许远远超出您预期的或者可以忍受的时间。其实大可不必遭受如此痛苦的经历。在这一期的让开发自动化中,开发自动化专家 Paul Duvall 将演示如何改进很多常见的妨碍团队创建一致的、可重复的、可维护的构建的实践。
技术文章 2006年 11月 13日
让开发自动化: 针对广大开发人员的并行开发
虽然很多开发团队都使用版本控制系统管理代码变更,但当多个开发人员并行地使用不同的代码库进行编码时,还是会出现问题的。在本期的 “让开发自动化” 中,自动化专家 Paul Duvall 展示了如何运用开源的、免费的 Subversion 版本控制系统来有效地进行标记、分支和合并。
技术文章 2008年 11月 11日
让开发自动化: 部署自动化模式,第 2 部分
Java 部署常常很混乱,容易出现错误,需要许多手工操作,这会延误向用户交付软件的时间。本文是分两部分的让开发自动化系列文章的第 2 部分。在本文中,自动化专家 Paul Duvall 进一步补充用于开发可靠、可重复且一致的部署流程的一些关键模式,帮助读者为 Java 应用程序生成简便的部署。
技术文章 2009年 03月 20日
让开发自动化: 部署自动化模式,第 1 部分
Java 部署常常很混乱,容易出现错误,需要许多手工操作,这会延误向用户交付软件的时间。本文是分两部分的 “让开发自动化” 系列文章的第 1 部分。在本文中,自动化专家 Paul Duvall 将介绍用于开发可靠、可重复且一致的部署流程的一些关键模式,帮助读者为 Java 应用程序生成简便的部署。
技术文章 2009年 02月 10日
让开发自动化: 选择持续集成服务器
由于有许多持续集成服务(CI)服务器可以选择,所以很难决定哪个适应自己。在 “让开发自动化” 系列的第二篇文章中,开发自动化专家 Duvall 采用一致的评估标准和很多说明性示例,介绍了一些开源 CI 服务器,包括 Continuum、CruiseControl 和 Luntbuild。
技术文章 2006年 10月 23日
让开发自动化: 自动负载测试
负载测试通常在开发周期的后期执行,但是并不一定要这样。在让开发自动化的这一期,自动化专家 Paul Duvall 将向您描述如何创建一个运行 JMeter 测试的预定集成构建,发现和修复开发周期中出现的问题。
技术文章 2008年 05月 29日
让开发自动化: 用 Eclipse 插件提高代码质量
如果能在构建代码前发现代码中潜在的问题会怎么样呢?很有趣的是,Eclipse 插件中就有这样的工具,比如 JDepend 和 CheckStyle,它们能帮您在软件问题暴露之前发现这些问题。在让开发自动化的本期文章中,自动化专家 Paul Duvall 将带来一些关于 Eclipse 插件的例子,您可以安装、配置和使用这些静态分析插件,以便在开发生命周期的早期预防问题。
技术文章 2007年 01月 29日
让开发自动化: 断言架构可靠性
您的软件架构和您所期望的一样吗?当架构落实到代码时,它并不总是 我们曾经互相讨论并预想的那个。在本期的让开发自动化中,Paul Duvall 将演示如何通过使用 JUnit、JDepend 和 Ant 编写 有关测试来发现架构偏差,从而做到在发生问题之前主动发现问题。
技术文章 2007年 07月 20日
让开发自动化: 文档化一键通
项目文档化通常都是交付软件产品时不可避免的难题。但是想象一下如果仅需单击一个按钮就能够生成文档呢?在本期的让开发自动化中,自动化专家 Paul Duvall 阐述了如何运用开源工具自动生成统一建模语言(Unified Modeling Language,UML)图、构建图、实体关系图(entity-relationship diagram,ERD)乃至用户文档。
技术文章 2008年 06月 24日
让开发自动化: 持续集成反模式
尽管持续集成(Continuous Integration,CI)可以非常有效地减少项目的风险,但是它对与编程相关的日常活动提出了很高的要求。在这一期 “让开发自动化” 中,自动化专家和 “Continuous Integration: Improving Software Quality and Reducing Risk” 的作者之一 Paul Duvall 列举了一系列 CI 反模式并解释了如何避免它们。
技术文章 2007年 12月 28日
让开发自动化: 持续重构
重构是公认的改进现有代码的好方法。然而,如何通过一种一致且可重复的方式找到需要重构的代码呢?本期的让开发自动化将教您如何使用静态分析工具来识别需要重构的代码味道,并举例说明了如何改进坏味道代码。
技术文章 2008年 07月 31日
让开发自动化: 持续测试
准备好开始在您的开发人员测试活动中大获全胜吗?在本期的让开发自动化中,开发自动化专家 Paul Duvall 介绍了几种自动化的开发人员测试,每一次改变源代码都能够运行这些测试。Paul 提供了 Selenium、DbUnit 和 JUnitPerf 测试的例子,即,如果经常运行这些测试可以帮助您尽早发现应用程序的问题。
技术文章 2007年 03月 26日
让开发自动化: 持续检查
利用源代码分析工具,自动获得关于代码复杂性、重复程度、符合编码标准的程度,从而改进软件开发过程。
技术文章 2006年 08月 21日
让开发自动化: 实现自动化数据库迁移
数据库通常不能够与它们支持的应用程序保持同步,从管理方面来讲,将数据库和数据置于一个已知状态是个很大的挑战。在本期的 “让开发自动化” 中,自动化专家 Paul Duvall 演示了如何使用开源的 LiquiBase 数据库迁移工具轻松地处理数据库和应用程序的频繁变更。
技术文章 2008年 09月 02日
让开发自动化: 利用 Ivy 管理依赖项
管理项目和工具之间的源代码依赖项往往非常困难,但并不一定总是如此。在这一期“让开发自动化”专栏中,自动化专家 Parl Duvall 介绍了如何利用 Apache Ant 项目中的 Ivy 依赖项管理器来处理所有重要 Java 项目必须管理的无数依赖项。
技术文章 2008年 06月 10日
让开发自动化: 使用自动化加速部署
自动化构建不仅仅适用于开发团队 —— 在将软件从开发迁移到生产这一过程中也大有作为。在这一期让开发自动化中,自动化专家 Paul Duvall 将介绍如何结合使用 Ant 和 Java Secure Channel 将软件远程部署到多个目标环境中。
技术文章 2008年 01月 31日
让开发自动化: 使用基于向导的安装程序
对于大多数用户来说,安装软件常常是一件痛苦的事情。生成安装包是软件开发的 “最后一步”,但它可能导致不同的结果:要么用户采用软件,要么它就成为无人问津的垃圾品。在本期的让开发自动化中,自动化专家 Paul Duvall 演示了如何使用免费、开源的工具 IzPack 来编写为您的用户安装软件的基于向导的安装程序。
技术文章 2008年 12月 16日
认识 p-unit : 一款开源的性能测试工具
p-unit 是一款开放源码的性能测试框架,和 JUnit 不同,JUnit 关注的是测试案例的正确性,而 p-unit 不仅关注测试案例的正确性,还收集测试案例的性能参数,默认情况下,p-unit 收集测试案例的时间和内存消耗情况,可以产生文件,图片,和 PDF 格式的报表。此外,p-unit 还支持参数化测试,多线程测试以及不同 Java 虚拟机性能之间的比较。
技术文章 2007年 05月 31日
认识 Atom 发布协议,第 3 部分: Apache Abdera 项目简介
本系列的前几期介绍了 Atom 发布协议(Publishing Protocol),描述了在实际应用程序中使用的各种方式。本文将举例说明如何使用一个新的开放源代码项目 Abdera 实现支持 Atom 的应用程序,该项目目前处于 Apache Software Foundation 孵化阶段。
技术文章 2007年 01月 26日
解读阿里巴巴 Java 代码规范,第 2 部分: 从代码处理等方面解读阿里巴巴 Java 代码规范
本文是针对阿里巴巴的 Java 代码规范深度解读的下篇,主要异常日志、安全规约、单元测试、MySQL 数据库、工程结构等五部分内容进行解读。通过这一篇的介绍,希望能够让读者初步理解阿里巴巴为什么需要设立这样的代码规范,并打造解读一份报告的方法论基础。
技术文章 2018年 01月 17日
解读阿里巴巴 Java 代码规范,第 1 部分: 从命名风格等方面解读阿里巴巴 Java 代码规范
本文是针对阿里巴巴的 Java 代码规范深度解读的上篇,主要对代码规范中权重最大的编码规约部分挑选了部分内容进行解读,包括命名风格、常量定义、代码格式、OOP 规约、并发处理等各个子章节均有内容包含。通过这一篇的介绍,希望能够让读者初步理解阿里巴巴为什么需要设立这样的代码规范,并打造解读一份报告的方法论基础。
技术文章 2018年 01月 10日
第 101 - 200 条,共 1897 条 | 上一页 | 下一页
显示内容简介 | 隐藏内容简介