什么叫“经典书籍”呢?
以往我们说,“一流的公司定标准,二流的公司搞技术, 三流的公司做服务,末流的公司卖产品”,其实这话并非全无道理。厌恶M$的人不少,但嘴上骂归骂,底下照样用Windows, 赌咒发誓不用的也未必不想暗地里钻研一下其中的技术,再狠点,干脆只看Linux的字符界面,连X都不用。 然而为啥不见哪位仁兄自己只玩自己弄的OS呢?M$和UNIX家族在OS上显然是具有语言霸权, OS搞到这份上基本上就是“标准”了,你愿意白手起家?呵呵~~~
说了这些废话,我无非想说的是,所谓Java的“经典书籍”,最好的就是Java的标准,也就是SUN的官方资料:
From java.sun.com
JavaTM 2 SDK, Standard Edition Documentation Version 1.4.2 [下载]
JavaTM 2 Platform, Standard Edition, v 1.4.2 API Specification [下载]
JavaTM 2 Platform Enterprise Edition, v 1.4 API Specification [下载]
The Java Language Specification, Second Edition [下载]
The JavaTM Virtual Machine Specification, Second Edition [下载]
Java 2 Platform, Standard Edition, White Papers
Thinking in Java
Java 编程思想
by Bruce Eckel
第一版
京京工作室译本
[下载]
第二版
候捷译本
[下载(部分章节)]
第三版
原版
[本书主页]
书评: (2004-5-28)
说TIJ是“经典”想必不会有什么人反对,然而也许有人说这不是一本“适合新手读的书”。
什么叫做“新手”?经常看到有人说,“我对Java很感兴趣”,“我打算学Java了”,but, 话锋一转——“我是新手”,“推荐本入门的书吧”。千禧年21岁生日的前两天, 在合肥黄山路上一个小书店里我买到了TIJ第一版, 从那以来的3年多时间里,我一直在学习这种技术(我不称其为“语言”),现在我还觉得自己是个新手。现在J2EE搞得这么火爆,我对J2EE还没什么了解, 不是说它不好(Java的分布式应用得到了淋漓尽致的体现,怎么能说不好呢),因为核心部分我还有不少不明白的地方,设计模式上还不能像对古典OO一样理解得那么自然。跟风不是一种应有的学习心态,Java与几k乃至几十k的月薪是否有关系我都不关心,因为仅仅是喜好,如同历史、足球和京剧一样…… :-)
什么叫做“新手”?如果你对OO有一定的了解(最好是“理解”),用过一段时间C++, 甚至只需要用过C(这个还是要比较熟练di),TIJ就不算一个什么深不可测的“武林秘笈”, 甚至可以帮你更好地理解OO;如果没有一些OO的基础,那就有可能是“新手”,只是想要快些熟悉Java环境和写法的话, 它对你来说还只是一门语言,书店任何一本“从入门到精通”之类的, 甚至是google估计都足以满足你的需求了。 说TIJ“不是一本适合新手读的书”,另一个原因是大部分读者都在谴责第一版京京工作室译本的翻译质量,术语的不一致, 总之评语是“基本上毁了原书”。其实我在2000年底买的就是这本,感觉上并没有传说的那么糟糕,很多所谓“不一致”的术语基本上想一下都能知道作者本来的意思,当然,想要精读,而且e文不错的话,原版还是首选。候捷译的第二版我没有仔细看过, 感觉台湾方面的术语和我们还是有一些差别的, 加上候捷有点武文弄墨的爱好, 翻译过程中兴许还夹杂了一些艺术性的表达,呵呵~~~ 第三版在原来的基础上有了较大改变,把关于网络的一些部分删除了,好像是放到Eckel的另一本书里了。
Core Java 2
Java 2 核心技术
by Cay S. Horstmann & Gary Cornell
Vol 1: Fundamentals
第一卷:基础知识
Vol 2: Advanced Features
第二卷:高级特性
[本书主页]
书评: (2004-5-28)
个人感觉Core Java不是那种可以整天捧在手上一遍又一遍直至翻到发旧的那种书,确切地说, 它更适合作为案头可备查阅的工具书。和TIJ不同,Core Java的侧重点放在核心API的使用,当你一时不知道某个类或组件怎么用时,除了查API doc以外,它也是个不错的选择。
当然现成的例子别处还有不少,譬如The Java Tutorial,Almanac等,但有一本译成中文的手册常备在身边不是更好吗?
Java Network Programming
Java 网络编程
by Elliotte Rusty Harold
[本书主页]
书评: (2004-5-28)
如果说Core Java是“大而全”的话,那么JNP就似乎应该称得上是“小而精”——其实也不算“小”了,它的内容真的是很丰富!不要忘记Harold的另一部名著“Java I/O”,这两本书几乎告诉你了有关于线程、I/O、流操作、socket等等一切……
网络是实现分布式环境的基础,Java既然声称是一种“跨平台的”“分布式计算语言”,网络应用与接口 必须足够健壮才行。幸运的是,核心API对包括socket、RMI的支持相当出色而且简单。 有人说Java没有raw socket,因而无法进行IP层的访问,诚然如此,但这个代价却换得了Java所更加注重的安全性, 这是后话了……
要是你不满足于仅仅照例子写一个自己的socket实现,并且希望挖掘更多内幕的话,那么JNP想必不会让你失望。
Graphic Java 2 - Mastering the JFC
Java 2 图形设计
by David M. Geary
Vol 1: AWT
第一卷:AWT
Vol 2: Swing
第二卷:Swing
书评: (2004-5-28)
可能会有不少刚开始学程序设计的人醉心于花哨的GUI,我们不能说这是眼光短浅,图形界面设计并不是“a piece of cake”,现在的IDE还不能达到可视化的尽善尽美,我时常会为了实现界面上的一点小小的trick而花不少时间找代码。Java生来就不适合做桌面系统吗?非也,以下内容可能会让你赞叹不已:
★SUN正在极力打造的Java Desktop System★
★桌面应用程序集中营Swing Slightings★
如果你是一个热衷于GUI设计和图形图像处理的玩家,如果你希望深入了解AWT或Swing图形组件以及窗口事件模型,如果你还不满足这些,希望学习Java 2D这样的高级图形技术,这部书都是不错的选择。
Java Security
Java 安全
by Scott Oaks
[本书主页]
书评: (2004-5-29)
因为自己专业上的原因,对安全性需要作一点研究。Java号称是“一种安全的平台”, 这种安全我想不仅是单单一个sandbox模型就能完全概括的,它还包括了许多成分,从核心级别到优秀的安全服务应用。要知道,安全性是J2EE的一个重要支柱。
本书与Helton所著Java Security Solutions都是研习Java安全性的参考。
J2EE Security
by Pankaj Kumar
[本书主页]
书评: (2004-5-29)
前些天刚从单位图书馆借到了这本书, 今年HP刚出的新书,当然还没有中文版,看看封底, 哇,$49!我半个月的补助!不过看了一段时间,觉得写得还真是不错,作者提供了一些实用的工具程序, 功能比keytool还要丰富。