阅读更多

15顶
0踩

编程语言

原创新闻 《Effective Java》: Joshua Bloch访谈

2008-05-23 08:28 by 见习编辑 Eastsun 评论(12) 有7059人浏览
  《Effective Java》,这是一本Java开发者视为圣经的书。该书的第一版于2001发布。这几年Java平台发生了巨大的变化,尤其是Java5中引入很多新的语言特性。当前的实际情况与《Effective Java》第一版中所描述的发生了一些变化。譬如该书的第21条“用类来代替enum结构”,由于Java5中enum的引入情形已经不同。以及第九章“线程”,在该书第一版时JVM的内存模型还存在诸多问题,而JDK5中已经采用了新的JMM规范,一些问题已经不复存在;并且Java5中加入了java.util.concurrent包。
  在今年的JavaOne大会上,《Effective Java》的第二版正式发布。该版中增加和修改了一些条目以适应Java平台这几年来发生的变化。而James Sugrue对该书的作者Joshua Bloch进行了一次采访,谈到了这本书新版本中发生的变化以及Joshua Bloch对这些年来业界发生的变化的看法,并且就JDK中将要加入的闭包询问了Joshua Bloch的观点。下面是采访中的一部分对话:

  Sugrue: What changes have been added to bring to book up to date?
  Sugrue: 在该书的新的版中有那些变化?
  Bloch: I added two chapters, one on Generics, and another on Enums and Annotations. Also I added items describing best practices for each of the new language features in Java 5 (for-each loop, autoboxing, varargs, static import). I changed the title of the Threads chapter to Concurrency and rewrote it to reflect programming in the java.util.concurrent era (where the basic abstractions are tasks and executors, rather than threads, wait and notify). There's a table on page 1 that points you to all of this material.

In addition to adding material on features that were added to the platform since the first edition of the book, I added items or modified existing ones to reflect the evolution of best practices. For example, I added an item describing the Builder pattern (Item 2), and one describing the Serialization Proxy pattern (Item 78). I went over every line of every item, and did my best to make sure they were up to date.

  Bloch: 我增加了两章。一章是关于泛型,另一章是关于Enum与Annotation;还增加了一些讲述Java5中新增的语言特性最佳实践的条目。我将Threads一章的标题修改为Concurrency,并且针对java.util.concurrent重写了该章。在该书的第一页有一个列表指出了这些变化。
  除了自该书第一版以来Java平台上新添的特性以外,我还增加或修改了一些条目以反映最佳实践的演化。譬如,我增加了一个讲述Builder模式的条目(条目 2)以及一个讲述Serialization Proxy模式的条目(条目 78)。我仔细检查了书里面的每一条的每一行,尽我最大的努力确保它们反映出当前最新的变化。

  Sugrue: Since the first book in 2001, what key changes have you observed in Java development?
  Sugrue: 自从2001年发布该书的第一版以来,你认为在Java开发领域有那些关键性的变化?
  Bloch: The biggest changes are the rise of modern IDEs, such as Eclipse, IntelliJ, and NetBeans, and static analysis tools, such as FindBugs. Agile techniques, which were just making inroads in 2001, have become mainstream.
  Bloch: 最大的变化是现代IDE的增长,例如Eclipse、IntelliJ以及Netbeans。还有静态分析工具,如FindBugs。敏捷技术在2001年的时候才刚刚起步,而现在已经成为主流。
     。。。
15
0
评论 共 12 条 请登录后发表评论
12 楼 wufan0023 2008-05-28 13:28
期待中,是在java 5 出现后看这本书的,当讲到枚举的时候作者例举了它的坏处,如何避免使用,而java 5 就添加了这个新特性,这次要看看作者有新的说法。
现在的jdk的变化还是蛮大的。
11 楼 a_nuo 2008-05-27 09:31
期待啊,支持!!
10 楼 wlhok 2008-05-25 00:51
期待中文版~
9 楼 Kevin_zqw 2008-05-24 13:27
出了就立马买来看看,虽然现在不做Java开发了。。
8 楼 Eastsun 2008-05-23 20:36
新闻发布后就不能修改
我博客上的字体颜色改过来了
7 楼 comeon 2008-05-23 20:01
这样只有ctrl+a来看.翻译的还行,意思表达出来了.
6 楼 cddcdd 2008-05-23 17:36


这个字体能看得啊?

5 楼 runjia1987 2008-05-23 15:08
字体 颜色不好,  调调
4 楼 laiseeme 2008-05-23 14:31
期待 希望有中文版 翻译不要太恶
3 楼 Eastsun 2008-05-23 13:07
呵呵,偶E语水平不咋滴~
如果译文有问题希望高手能指正,不要BS我就是了
2 楼 freej 2008-05-23 11:25
期待,到时一定拜读
1 楼 Eastsun 2008-05-23 09:54
我将在(现在有点忙,只弄了一部分)博客中全部翻译这个访谈。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 测试入门--4软件质量模型

    使用人工或者自动手段,来运行或者测试某个系统的过程。其目的在于检测它是否满足规定的需求或者弄清预期结果与实际结果之间的差别

  • 如何衡量软件质量好坏?

    作为测试人员肯定会被问如何评价一个软件质量的好坏。一般同学都会回答说,上线没 bug。但是一款软件如果没人用,那肯定没 Bug。所以没 bug 绝对不是一个好的评判标准。

  • 什么软件质量/如何评价软件的质量

     1.       软件质量:         软件质量是软件的生命,它直接影响着软件的使用和维护。通常软件的质量有下面几个方面来评价质量的优劣:                  (1)   软件需求是衡量软件质量的基础,不符合需求的软件就不具备质量。设计的软件应在功能、性能等方面都符合要求,并能可靠地运行。                  (2)   软件结构良好,易读、易于

  • 软件质量评估模型

    软件质量评估模型大概分3个主要方向: 1.需求的覆盖度 需求的覆盖度计算方法可以用测试用例覆盖需求来计算,这里的需求是从需求规格说明书里提取的测试需求,每条测试需求要控制好一定的范围,差不多2条用例覆盖一条测试需求(1个正常用例,1个异常用例),一般要求需求覆盖度要达到100%。可以根据工具来计算这个需求覆盖度,比如禅道就可以在需求下关联测试用例。 2.测试用例执行情况 测试用例执行情况大...

  • 3软件质量与评价

    1.质量的定义 质量:反映实体满足明确的和隐含的需求的能力的特性的总和。 质量:实体特性的总和,满足明确的和隐含的需求的能力。 2.测度与度量 测度的运用是建立测量方法的依据,也是解决软件质量的关键。 测度是软件质量中用于测量的一种量化的标度和方法 度量是指测量的结果。 3.软件质量模型 印象软件质量的因素有两大类:直接测量和间接度量,每种类型测度都必须发生。 Boehm质量模型...

  • 评价软件质量的三个模型及其特性介绍

    软件质量是软件满足各种干系人需要并提供价值的程度。软件质量相关的可测量属性通常称为质量特性。一般来说会使用三个质量模型来评估软件,分别是使用质量模型(the quality in use model)、产品质量模式(product quality model)和数据质量模型(data quality model).这些质量模型共同作用形成框架(Framework)来约束软件质量。这些模型会提供一些列与各类干系人相关的质量特征。 使用质量模型(the quality in use model)定义了五个与系

  • 如何进行软件质量评估?

    软件质量评估的重要性体现在以下几个关键方面:确保用户需求满足: 软件质量评估首先是为了确保软件产品能够准确、完整地满足用户的需求。通过评估,可以发现软件在功能、性能、安全性等方面的不足之处,及时进行修正,确保软件产品真正符合用户的业务流程和操作习惯。提升用户满意度: 优质的软件能够带来更好的用户体验,从而提升用户满意度和忠诚度。软件质量评估能够帮助开发者从用户的角度审视软件,提高软件的易用性、兼容性、稳定性等,促使用户对软件产品产生正面评价。降低成本和风险: 在软件生命周期早期发现问题。

  • 软件工程软件产品质量要求与评价_软件工程系列-CMM

    本系列文章为笔记,内容根据北京大学《软件工程》MOOC CMM概念及发展 认识软件质量软件系统的质量取决于用来开发和改进它的过程和质量要进行过程的改进,必须对现有的过程有所了解,特别是已存在问题有客观的认识软件过程改进不是目的,是一个持续的过程 CMM(the Capability Maturity Model for software)软件能力成熟度模型 过程是生产产品的机制。不论是过程改善...

  • 第一章 软件质量 1.2 软件质量模型

    软件的可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。用户在使用软件系统的过程中,系统交互给用户的信息是否准确、清晰、易懂,能帮助用户准确理解系统当期真实的状态,指导其进一步的操作。:软件产品无需采用有别与为考虑该软件的目的而准备的活动或手段就可能适应不同的指定环境的能力。:软件产品使指定的修改可以被实现的能力。:在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力。可靠性的三要素:规定的环境、规定的时间、规定的性能。

  • 软件质量模型

    产品质量模型可以只应用于软件产品,或者包含软件的计算机系统,因为大多数子特性与软件和系统相关。

  • 软件质量模型:全面评估软件产品的六大核心特性

    软件质量是衡量软件产品是否符合用户需求、是否满足预期功能的标准之一;随着软件开发行业的不断进步,软件质量已不再是简单的功能实现,而是一个多维度、多层次的综合评价体系;软件质量模型为我们提供了系统的框架来评估软件的各项性能,其中最为经典和常用的就是ISO 9126软件质量模型,该模型将软件质量分为六大核心特性,每个特性都有其明确的定义、关键点和评价标准;软件质量模型的六大核心特性共同构成了一个全面的评估框架,为我们提供了衡量软件产品质量的标准。

  • 软件质量评价标准

    软件质量评价标准 (本文转载自软件工程专家网www.21cmm.com)  我们把影响软件质量的因素分成三组,分别反映用户在使用软件产品时的三种不同倾向或观点。这三种倾向是:产品运行、产品修改和产品转移。信息系统作为一个产品,也可以参照这三种倾向来定义。 我们可以采取以下步骤实施全面质量控制: 1.实行工程化开发   “信息系统开发方

  • 软件测评师--第三小时 软件质量与评价

    1-质量的定义 实体特性的总和,满足明确或隐含要求的能力 2-测度和度量 测度是把数字和符号分配给现实世界实体的属性,根据明确定义规则来定义 测度是用于测量的一种量化的标度和方法 度量是测量的结果 3-软件质量模型 Macall质量模型: 操作特性、承受可改变能力、新环境适应能力 Boehm模型: 整体,系统交付后涉及不同类型的用户考虑 国际标准化组织1991年颁布了ISO 9126-1991标准《软件产品评价 质量特性及其使用指南》 我国,1996 GB/T 16260-1996 ..

  • 如何评价软件好不好,有哪些评判的指标

    下面是20070621写的一篇文章,题目为《如何评价软件好不好,有哪些评判的指标.doc》,我认为这是我个人在软件知识方面的一次总结。 软件好坏标准 本文描述了我对软件好坏标准的看法,仅仅是我个人的想法,不一定正确。 1. 概述 我认为软件的评判指标有下面这些: 功能 Simply and Clear 有文档对应 模块化 可阅读 容易修改 可重用 模

  • 如何对软件质量进行评估?

    摘要:本文从软件质量的有关概念出发,根据指标选取原则,在分析软件质量特征的基础上提出了相应的软件质量评估指标的选取原则,并进而建立了软件质量评估体系。关键词:软件质量 质量评估指标体系1 软件质量的有关概念软件质量是“软件产品具有满足规定的或隐含要求能力要求有关的特征与特征总和”。根据软件质量国家标准GB-T8566--2001G,软件质量评估通常从对软件质量框架的分析开始。1.1 软件质量框架模

  • 国家标准软件质量评价

    软件测试的国家标准文件,有两个,是前人总结的经验,不错。

  • 最新的软件质量模型ISO 25010

    原来的ISO/IEC 9126早就废止了。新的标准变成ISO/IEC 25010。 相对于过去,最新的标准优化了可用性、可靠性、可维护性的二级纬度,更加实用了。英文原版。

  • 如何评价软件

    为了满足项目、组织需要,主观或客观、直接或间接、面向结构或面向对象地通过对软件进行项目、产品、过程的预测、验收度量,用数据、图表、模型表达,使用度量数据可进行估计、监控项目的进度和执行情况,确定软件产品是否符合质量要求,也可帮助确定整个组织的开发效率和质量的总水平、发展趋势,以便更好地进行产品组合、判断资金/技术投向,策划、管理或验证软件开发活动。 度量思想有:ISO的基于事实的决策方法、CMM

  • 软件质量模型(ISO/IEC 9126和Mc Call)

    软件质量模型 目前已经由多种软件质量模型来描述软件质量特性,例如ISO/IEC 9126软件质量模型和Mc Call软件质量模型。 ISO/IEC 9126软件质量模型 ISO/IEC 9126软件质量模型由3个层次组成:第一层是质量特性,第二层是质量子特性,第三层是度量指标。 该模型的质量特性和质量子特性如图所示。 其中,各质量特性和质量子特性的含义如下: 功能性(Functionality...

Global site tag (gtag.js) - Google Analytics