本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在BruceEckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程。自动项目构建。单元测试和调试等),本书能逐步指导你轻松掌握。
本书内容
经典的Java介绍,完全针对Java1.4版本更新,并增加了许多新主题。
350多个可运行的Java程序,15000多行代码。
讲述Java的同时着重阐释面向对象原理。
支持网站包括所有源代码、带注释的解决方案指南、评论以及其他资源。
随书光盘包括可用子Windows、Linux和Mac的完整的Fundafions for Java多媒体研讨教材。
本书的全面性,适用于初学者;本书的深入性,适用于专家。
随书光盘含有15个小时的Bruce Eckel演讲课程。
读者如是说:“最好的Java书籍……绝对令人震惊”;“Java书籍的最明智选择”;“我见过的最棒的编程书籍”。
这一版的主要目的和大量工作都用在了与Java 1.4 版保持同步上。不过,本书的主旨也更加清楚:使大多数读者通过本书牢牢抓住语言的基本概念,以便深入学习更复杂的主题。因为Java还在不断地演化,所以重新定义“基础知识”的涵义就很有必要,再说本书也不应过于面面俱到。这就意味着,比如,完全重写了“并发”这一章(以前称为“多线程”),它能使你对线程的核心概念有一个基本的了解。没有这一点,你就很难理解线程中那些更复杂的概念。
我还认识到了代码测试的重要性。如果没有内置的测试框架及相应测试用例,并在每次构造系统的时候都进行测试,那么你就无法知道代码是否可靠。在本书中,为了做到这一点,专门编写了单元测试框架,用来演示和验证每个程序的输出。这些内容在第 15 章中有介绍,里面还解释了ant(Java构建系统的事实标准,与make类似),JUnit(Java单元测试框架的事实标准),日志和断言机制(是JDK1.4 新引入的),以及对调试和性能分析的介绍。
为了涵盖所有这些概念,我把这一章命名为“发现问题”,里面介绍的内容都是我认为所有的Java程序员都应该具有的基本技能。
此外,我复查了书中所有的示例,并同时问自己:“为什么要用这种方法呢?”。多数情况下我会作出一些修改和润色,这样会使例子更贴切,同时还有助于演示一些我认为比较好的Java编程实践(至少在比较基础的范围内)。此外,我还删除了一些不再有意义的示例,并加入了一些新的示例,许多已有示例也被重新设计和修改过。
全书分为 16 章,涵盖了对Java语言的基本介绍。它可以用作基础课程的教材,但那些更高级的主题又该如何处理呢?
我原计划为本书加入一个新部分,专门介绍“Java 2 企业版”(J2EE)的基础知识。其中许多章节由我的朋友﹑以及一同授课或开发项目的同事编写,他们有:Andrea Provaglio, BillVenners, Chuck Allison, Dave Bartlett,和Jeremy Meyer。当我把这些新章节的进度和出版日期相对照的时候,我就有些担心。并且我注意到,前 16 章的篇幅就已经与本书第二版的全部篇幅一样大了。而即使是这个篇幅,读者也会经常抱怨。
作者简介
BruceEckel是MindView公司(www.MindView.net)的总裁,他在面向对象技术和设计模式方面提供公开的和内部的培训研讨会、咨询。指导和设计评论。除本书外,Bruce Eckel 还是《Thinking in C++》的作者,并与人合著了《Thinking in C#》、《Thinking in C++,Volume 2》。他发表过150多篇文章,有20多年世界各地的研讨会和演讲经验。他是C++标准委员会拥有表决权的成员之一,拥有应用物理学学士和计算机工程学硕士学位。