论坛首页 Java企业应用论坛

一些适合Java编程的书籍总结

浏览 25048 次
精华帖 (0) :: 良好帖 (3) :: 新手帖 (0) :: 隐藏帖 (3)
作者 正文
   发表时间:2011-05-15   最后修改:2011-05-29

看见大家这多大家的踊跃发言,我这里澄清一下,这里给出的书籍主要侧重于软件设计和管理方面,特别是软件设计,说句废话,看完这些书并不代表懂得软件设计,而在于应用,那你将和里面很多观点产生共鸣,理解其中的一些奥妙。这里所选的书籍不敢说是最好的,但是保证这些书籍的书写都是严谨的,理论都是有根有据的,能给读者提供比较广泛视野的书籍,最基本一点,参考书目和推荐书目都是一一在目的

 

 

Java语言相关学习的书籍

  • Bruce Eckel. Thinking in Java, 3rd Edition. Prentice-Hall, December 2002

这本书籍已经出第四版了,新版本书里介绍了Java 5的一些新的语法。它是公认的Java语言学习的权威书籍,不仅讲述了Java语言的语法,还涵盖了许多面向对象的思想,如果你想学习使用Java语言进行面向对象的编程与设计,此书非常值得一读。

  • Ron Hitchens. Java NIO. O'Reilly, 2002

本书讲述了Java NIO的编程技术(特别是网络IO的编程)。

  • James Gosling, Bill Joy, Guy Steele and Gilad Bracha. The Java™ Language Specification Third Edition. ADDISON-WESLEY, 2005.

这是一本介绍Java语言规范的书籍,大多数语法介绍书籍不会全面介绍JVM如何加载和初始化类,线程等一些相关技术和概念,这些都可以在此书中找到,并且它是Java语言的官方书籍,权威性不言而喻。

  • Joshua Bloch. Effective Java, Second Edition. Addison-Wesley, 2008.

如果你已经使用Java开发好几年了,但是你还想知道那些专业的Java开发人员如何编写高效的代码的,这本书绝对值得一读。

  •  David Flanagan and Brett McLaughlin. Java 1.5 Tiger: A Developer's Notebook. O'Reilly, 2004.

如果你不熟悉Java 5的新语法,可以参考本书和《Think in Java》第四版相关章节。


J2EE技术相关书籍

  •  Rod Johnson. Expert One-on-One J2EE Design and Development. Wiley Publishing, Inc, 2003.

这本书籍介绍了一些J2EE的常用技术,深入探讨了J2EE编程中经常出现的问题和风险,帮助读者创建高效的J2EE应用。

  •  Rod Johnson and Juergen Hoeller. Expert One-on-One J2EE Development without EJB. Wiley Publishing, Inc, 2003.

这本书籍可以说是上面书籍的续篇,它颠覆了一些传统的J2EE观点,审视了EJB所带来巨大复杂性。现在阅读本书可能当时那么震撼,因为读者对不使用EJB来创建J2EE应用已经习以为常了,很多Java架构采用SSH(Struts+Spring+Hibernate)等技术创建应用。但它详细讲述了Spring核心框架的实现技术,对正在使用Spring框架或者对其实现技术感兴趣的读者,此书值得一读。

  • Deepak Alur, John Crupi and Dan Malks. Core J2EE Patterns: Best Practices and Design Strategies, Second Edition. Prentice Hall PTR, 2003.

这本书籍主要讲述了一些非常重要的J2EE模式,J2EE架构师和开发人员值得一读。

 

面向对象设计相关书籍

 Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
这是影响最大的设计模式的经典书籍,读者在使用相关模式时,都可以拿来翻一翻。

  •  Andrew Hunt and David Thomas. The Pragmatic Programmer: From Journeyman to Master. Addison-Wesley, 1999.

这本书讲述了如何高效开发出高质量软件的方法,讲述过程中穿插了很多寓言故事,深入浅出,是一本有经验的软件开发人员继续“修炼”的哲学书籍。

  •  Alan Shalloway and James R. Trott. Design Patterns Explained: A New Perspective on Object-Oriented Design, 2nd Edition. Addison-Wesley, 2004.

这本书籍从面向对象的视角分析设计模式,是一本学习模式的好书籍。

  •  Eric T Freeman, Elisabeth Robson, Bert Bates and Kathy Sierra. Head First Design Patterns. O'Reilly Media, October 2004.

这本书籍非常适合初学者学习设计模式,由于使用了Head First的写作风格,通俗易懂。

  •  Martin Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.

这本书籍讲述了如何重构你的代码,重构代码是一个复杂的过程,很容易引起各种各样的问题,这本书籍教你重构的整个过程,书写风格也十分流畅,非常易于阅读。

  •  Martin Fowler. Analysis Patterns: Reusable Object Models. Addison-Wesley, 1997.

做金融开发的人员都有必要阅读这本书籍,在医药领域,金融领域,测量领域,贸易等领域使用书中所提到的分析模式建模有莫大的帮助,当然这些分析模式不局限于这些领域。在此书,Martin Fowler把自己丰富的对象建模经验与读者分享,如果你想为复杂领域建模,但是没有足够把握,强烈推荐你学习此书。

  •  Eric Evans. Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, August, 2003

解决复杂领域问题的关键是有精炼的模型,这本书籍讲解了如何使用领域驱动设计迅速提炼有用的模型,本人强烈推荐此书。     

 

       它从OO观点来看,与J2EE结合的比较多,参考书籍和论文等超过了40个,适合细细阅读,理解什么是OO。

 


给Agile(敏捷)开发人员推荐的书籍

  •  Kent Beck and Cynthia Andres. Extreme Programming Explained: Embrace Change. Addison-Wesley, 2004.

这是敏捷开发人员必读的一本书籍,它为大家消除了很多开发上的错误观念。

  •  Henrik Kniberg. Scrum and XP from the Trenches (Enterprise Software Development). Lulu.com, 2007.

这本书是一本非常浅显易读的Scrum书籍,作者把一年来实施Scrum过程和经验进行分享,没有高深的理论,只有故事和实践。这本书的电子版本在InfoQ网站上有下载:http://www.infoq.com/minibooks/scrum-xp-from-the-trenches。

 

 

架构方面的书籍

  •  Diomidis Spinellis and Georgios Gousios. Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design. O'Reilly , 2009.
看完了这本书之后,你会觉得现在市面上的一些书籍,特别是中国写的架构方面的书籍,还处于80年代末到90年代初的时期。这本书讲解了很多出色的架构,认真阅读,将受益匪浅。


这里给出的英文书籍都是英文原版,由于有些书籍的中文翻译版本较多,在这里就不会一一列举,读者有需要可以购买相应的中文译本。

 

 

 

   发表时间:2011-05-15  
《Thinking in Java》究竟好在哪里?通俗易懂方面不及java入门书籍,深入方面不及《深入java虚拟机》,不上不下,不伦不类
0 请登录后投票
   发表时间:2011-05-15   最后修改:2011-05-15
freish 写道
《Thinking in Java》究竟好在哪里?通俗易懂方面不及java入门书籍,深入方面不及《深入java虚拟机》,不上不下,不伦不类

首先,《Thinking in Java》是众人长时间推荐的,不敢说它很差,它不能说是一本初级书籍,你说的对,前段时间再度看了看它的,发现对面先对象和设计理解确实非常深入,几年前,也看到它后面几章,特别是16章,都讲解的非常精彩。

《深入java虚拟机》不是讲解如何使用Java语言设计的书籍,OO对它来说,涉及不深,它主要告诉OO如何怎么在JVM中实现的,JVM怎么工作的。

我觉得,主要可能大家对它的偏见在于,还没有完全能够理解和使用OO带来的好处,要像有OO数十年经验的人使用OO来设计,解决领域问题,首先好好学习下OO的设计模式,这样,你才会懂得专业人士是如何使用OO的,到时间,你才能够开始理解OO编程的技巧。

设计模式的推荐书籍:

★★★★★ 《设计模式 可复用面向对象软件的基础》很全面,作为模式的参考书当之无愧,但是比较适合有一定基础的人反复研读;还有些书籍也不错。

★★★★★ 《head first design pattens》,适合初学者理解。

★★★★★ 《设计模式精解(design patterns explained)》,从OO看设计模式,讲出了模式的本质,结合CAD这种单机软件比较多。

★★★★★《漫谈设计模式》,它从OO观点来看,与J2EE结合的比较多,参考书籍和论文等超过了40个,适合细细阅读,理解什么是OO。

★★★★★《重构与模式》,讲解重构比较多,非常适合项目开发,不断迭代改良。
0 请登录后投票
   发表时间:2011-05-15  
freish 写道
《Thinking in Java》究竟好在哪里?通俗易懂方面不及java入门书籍,深入方面不及《深入java虚拟机》,不上不下,不伦不类



TIJ的确很像你所说,不论不类,但是每一个例子读完后都深深的嵌入到头脑中,让我想起来了一位大师的名言:生命中有很多来来去去的东西,但只有很少的一部分能永久的留在你的心中,对你产生潜移默化的影响,而这种影响可能需要1年,2年来觉察到,也可能需要10年,甚至一辈子。。
0 请登录后投票
   发表时间:2011-05-15  
如果想全面了解java门语言,推荐core java,
有广度也有一定的深度
0 请登录后投票
   发表时间:2011-05-15  
"众人长时间推荐",这里面有超过50%的人只是听过没读过


redhat 写道
freish 写道
《Thinking in Java》究竟好在哪里?通俗易懂方面不及java入门书籍,深入方面不及《深入java虚拟机》,不上不下,不伦不类

首先,《Thinking in Java》是众人长时间推荐的,不敢说它很差,它不能说是一本初级书籍,你说的对,前段时间再度看了看它的,发现对面先对象和设计理解确实非常深入,几年前,也看到它后面几章,特别是16章,都讲解的非常精彩。

《深入java虚拟机》不是讲解如何使用Java语言设计的书籍,OO对它来说,涉及不深,它主要告诉OO如何怎么在JVM中实现的,JVM怎么工作的。

我觉得,主要可能大家对它的偏见在于,还没有完全能够理解和使用OO带来的好处,要像有OO数十年经验的人使用OO来设计,解决领域问题,首先好好学习下OO的设计模式,这样,你才会懂得专业人士是如何使用OO的,到时间,你才能够开始理解OO编程的技巧。

设计模式的推荐书籍:

★★★★★ 《设计模式 可复用面向对象软件的基础》很全面,作为模式的参考书当之无愧,但是比较适合有一定基础的人反复研读;还有些书籍也不错。

★★★★★ 《head first design pattens》,适合初学者理解。

★★★★★ 《设计模式精解(design patterns explained)》,从OO看设计模式,讲出了模式的本质,结合CAD这种单机软件比较多。

★★★★★《漫谈设计模式》,它从OO观点来看,与J2EE结合的比较多,参考书籍和论文等超过了40个,适合细细阅读,理解什么是OO。

★★★★★《重构与模式》,讲解重构比较多,非常适合项目开发,不断迭代改良。

0 请登录后投票
   发表时间:2011-05-15  
freish 写道
"众人长时间推荐",这里面有超过50%的人只是听过没读过


redhat 写道
freish 写道
《Thinking in Java》究竟好在哪里?通俗易懂方面不及java入门书籍,深入方面不及《深入java虚拟机》,不上不下,不伦不类

首先,《Thinking in Java》是众人长时间推荐的,不敢说它很差,它不能说是一本初级书籍,你说的对,前段时间再度看了看它的,发现对面先对象和设计理解确实非常深入,几年前,也看到它后面几章,特别是16章,都讲解的非常精彩。

《深入java虚拟机》不是讲解如何使用Java语言设计的书籍,OO对它来说,涉及不深,它主要告诉OO如何怎么在JVM中实现的,JVM怎么工作的。

我觉得,主要可能大家对它的偏见在于,还没有完全能够理解和使用OO带来的好处,要像有OO数十年经验的人使用OO来设计,解决领域问题,首先好好学习下OO的设计模式,这样,你才会懂得专业人士是如何使用OO的,到时间,你才能够开始理解OO编程的技巧。

设计模式的推荐书籍:

★★★★★ 《设计模式 可复用面向对象软件的基础》很全面,作为模式的参考书当之无愧,但是比较适合有一定基础的人反复研读;还有些书籍也不错。

★★★★★ 《head first design pattens》,适合初学者理解。

★★★★★ 《设计模式精解(design patterns explained)》,从OO看设计模式,讲出了模式的本质,结合CAD这种单机软件比较多。

★★★★★《漫谈设计模式》,它从OO观点来看,与J2EE结合的比较多,参考书籍和论文等超过了40个,适合细细阅读,理解什么是OO。

★★★★★《重构与模式》,讲解重构比较多,非常适合项目开发,不断迭代改良。


这个再讨论下去没有意思,50%的iteye的人读,这个是一个什么概念?我这里还是侧重于一些国外的大牛的书籍推荐总结,我自己阅读完也深有体会拿出来分享。我相信,Bruce是Java协会具有决定权的人之一,不管是我对他那本书的理解,还是别人对他书的理解,至少认为不会太差。

有时候有的书籍只适合一部分人,不是适合所有人,原因是:那人确实水平太高了,或者那人水平还没到读那本书籍。还有有人读了相关书籍,水平高于那本书籍,就不需要再次重读那本书籍了。不过,如果你对OOP说不上一个所以然来,还是需要在OO加强,这只是假设而已。

但至少可以肯定,那本书籍非常严谨,没有太多乱说的内容,有理有据,很多地方,个人感觉,还是非常深入,不是一般初学者看个一遍就能完全理解其中的奥妙的。
0 请登录后投票
   发表时间:2011-05-15  
多谢楼主分享,个人比较喜欢head first系列
0 请登录后投票
   发表时间:2011-05-15  
diwi 写道
多谢楼主分享,个人比较喜欢head first系列

它是一本入门的好书,深入还得靠自己。
0 请登录后投票
   发表时间:2011-05-15  
tks! 谢谢分享。 辛苦了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics