读书和书籍选择问题的讨论:Java篇

前言:

    最近因为工作变动的一些因素,好久没有过来更新博客了。学习还是应该坚持,不应该荒废。正好自己也做过几年的Java开发工作,在这里将一些比较好的学习资料列举一下和大家分享一下。也算是给入门的同学一个帮助吧。

 

Java基础

Head First Java

    读书和书籍选择问题的讨论:Java篇

    这本书可以说是秉承了Head First系列的书籍的风格,图文并茂,对java的基础知识介绍很深入浅出。让人看起来很容易理解。书出版的时间是2005年,稍微有点老。对于新的Java特性没有介绍。很不错的入门书,让人看了之后上手很快。再啰嗦一句,Head First系列的书以最早的Head First design patterns成名,整个系列的书都很不错。值得去拿来看看。

 

Absolute Java

读书和书籍选择问题的讨论:Java篇

    这本书自己看了一部分,老实说,主要是实在太厚了,1200多面。作为学生学习的教材来说还是很不错的。以往很多人说要学习某种语言先需要学习什么什么语言,比如说有人说学java之前最好学学C之类。而这本书可以让你不需要去了解其他语言。这里就涵盖了语言基础以及各个细节方面。对于入门学习来说,可以打下很扎实的基础。只是这书实在太厚了,有的时候有点打击自己的成就感和学习积极性。

    市面上也有不少类似的大部头Java入门相关的书籍,比如:Java for programmers, Intorduction to java programming。个人感觉这些书讲的内容大同小异,只要挑一本好好的看看,甚至挑一些重点看看就够了。

 

Java编程深入

Effective Java

读书和书籍选择问题的讨论:Java篇

     多人推荐的好书,对Java编程的要点和细节有一个很好的总结。里面每一条介绍都值得细细的品味。学Java不看这书那是你自己的损失。

 

The Well-Grounded java developer

 读书和书籍选择问题的讨论:Java篇

    比较新一点的书,对很多Java的新特性也有介绍。这里不仅仅是对语言的一些特性做介绍,也对怎么用好一些语言特性有很好的介绍。很多人一提到Java想到的就是Java这个编程语言。实际上Java早就演化成为一个平台,在它上面衍生出来了很多新的编程语言,比如JRuby, Jython, Scala等等。这些语言有更好的表达能力以及语法特性,他们同样可以在JVM的虚拟机上面跑。这本书也对这些多语言的编程开发有做介绍。

 

Thnking in Java

读书和书籍选择问题的讨论:Java篇

     在学校读书的时候就久闻大名的Java编程思想。这本书结合Java的语言特性基础,顺便也揉合进来了OO的思想。书也很厚。作为入门的书来看显得有点沉重。作为学习提高的书来参考还是一个不错的选择。个人感觉里面举的一些例子不够好,显得特别生涩。

 

Java Puzzles: Traps, Pitfalls and Corner cases

读书和书籍选择问题的讨论:Java篇

    如果我们要问一个学java的人:你觉得java简单吗?很多人会说,其实还是挺简单的。我当初学习的时候也是这种感觉...直到我看到这本书。当详细看到里面java语言里面的一些类似于死角或者很容易忽略的地方时,突然大受打击。觉得有好多东西是自己不知道或者没想到的。想不到吧?被打击了吧?那就好好看看这本吧。没准你什么时候碰到一些鬼里鬼气的问题时,能够从这里找到原因。

 

Java并发编程

    Java内部对并发编程有原生的线程支持。对它的深入研究还是很有意义的。

java 7 concurrency cookbook

 读书和书籍选择问题的讨论:Java篇

    Java里面并发编程一直是个比较重要而且比较难的地方。在面试的时候也经常被人拿来作为面试的问题。这本书通过一个个简单的示例来解释Java里面并发编程的概念。每个概念都讲的非常细。最好看的时候针对一个个的问题自己再总结一下。学习并发编程最好从这本开始,比较好懂也有直接的示例可以学习模仿。

 

Java Concurrency in Practice

 读书和书籍选择问题的讨论:Java篇

    Java方面专家大牛写的Java并发包的设计总结。里面有对各种概念的介绍和应用的要点。初次来看的时候会不太容易懂。值得细细的读。当理解通顺之后可以去看看jdk里面并发包实现的源代码。那里都是专家智慧的结晶。很难。

Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors

读书和书籍选择问题的讨论:Java篇

    这本看起来薄薄的书一点都不简单。尤其是后面两节对STM, Actor等的介绍,最好先去了解一些相关的程序设计语言概念知识。否则会学习起来有点吃力。这里的并发编程和应用也牵涉到了JVM平台的其他语言,没有对并发做很全面的介绍。但是这几种并发思想的介绍也值得人去深入研究学习。

 

Java语言参考和其他

    Java语言参考方面最权威的大概算是Core Java(Vol I, II),当年自己刚开始Java入门学习的时候是看的这套书。感觉对每个主要的面都涵盖到了。可惜还是受到篇幅的限制,每个点不能讲的太深入,而且里面的示例比较偏少。作为参考比较好,单纯学习容易陷入条框式的死记硬背。

    当然,Java涵盖的方方面面其实非常广,它非常繁荣的开源生态体系,它非常优秀的虚拟机技术。这里也列举几本不错的材料供大家参考。

 

Java Performance

读书和书籍选择问题的讨论:Java篇

    Java性能调优是一个很特别也很值得深入研究的方向。这本书详细介绍了性能调优的工具,一些策略和方法。主要是基于Oracle的产品和工具。要想深入了解这个方面的,这本书还是很不错的。

 

Inside the Java2 Virtual Machine

读书和书籍选择问题的讨论:Java篇

    关于JVM方面的书非常少,很多研究人员只能通过去看JVM的规范或者研读JVM的源代码。这本书出版于2000年,也非常老了。有中文翻译的。里面对虚拟机的结构介绍,Class Loader、安全机制等等都还是值得学习。

 

深入理解Java虚拟机

 读书和书籍选择问题的讨论:Java篇

    国内难得一见的好书。原来的JVM介绍材料都比较老了。这边相对内容还是比较新,参考的内容涵盖了jdk6,7。可以和前面一本结合起来学习。

 

    另外,我们做Java开发的时候总免不了要使用很多开源的工具。最常见的几个莫过于ant, junit, maven。这方面也有几本很不错的书籍,比如Ant in action, Junit in action等。

后记

    这里只是对一些Java语言基础相关的材料做了一个简单的列举和介绍。很多Java EE相关的材料以及SSH相关的都没有列举。个人在Java EE方面知之甚少,就不列举了。相关的优秀学习材料网上也是可以搜到不少的。

你可能感兴趣的:(java)