英文原文:http://www.programcreek.com/2013/08/top-books-for-advanced-level-java-developers/

java语言是当今最受欢迎的编程语言之一。对于初学者来说,有许多有关这样的书籍。但是对于有一些java编程经验的程序员来说,其中有些书过于简单,有些又是过于繁琐。所以这些入门书籍并不会带来新鲜感,激发一些有意思的灵感。然而,java编程的高级书籍并不是很容易写出来的,并不是因为写这些书需要多少技术,多少经验,而是这些是要内功深厚的人才能写出来的。

在这篇文章中,笔者仅仅拿出java高级编程的书籍与大家分享我的看法,这就意味着,像“Thinking in Java” 或是 “Head First Java”并不会出现在这个表单中,即使它们对于初学者来说真的是很好的书。当然,笔者也会尽量避免所列出的书籍仅仅局限于特定的软件或是框架,因为笔者所说的并不是纯java。

1、Java in a Nutshell


  与其说这是一本书籍,倒不如说这是一份参考资料。

2、Effective Java


  这本书是为深入理解java的程序员所准备的。它将78种不可或缺的编程规则玩弄与指尖之中:编程中最佳的运行方案、最佳的解决方案挑战着你每天所见到的认为最佳的。

3、The elements of Java style


  这本书是针对想用java编程的人员来写,它为java程序员提供了一系列规则,标准、约定和参考,并且通过举例子的方式来指导java程序员如何编写出容易理解的、易维护的、可扩张的健壮性的代码。

4、Java Concurrency in Practice


  想把这本弄明白是真的是很困难的一件事情。

5、Design patterns: elements of reusableobject-oriented software


  实际上,这本书中的例子是用c++或是smalltalk编写的,但是那有怎样呢?如果你想成为java开发人员,你就必须得了解设计模式,充分利用别人的经验,还要从那些面临相同的人身上吸取教训。当然,还有许多这样的书籍,不过它们也仅仅做一些补充性的工作。

6、The Pragmatic Programmer: From Journeyman to Master


  再次重申,这并不是只针对java程序员的书籍。这本书最大的用处是能够让代码简练、易阅读。这本书可以帮助你继续提升你的编程能力,

7、Patterns of Enterprise Application Architecture


也许你对设计模式有所了解,但是可能不大知道如何在企业级的框架中运用。这本书会告诉你企业级设计模式的共同特点。

8、Refactoring: Improving the Design of Existing Code


  如果你已有多年的编程经验,那么这一本书真的很适合你读。代码重构会让你所写的代码更易于阅读,更易于维护。

9、OSGi in Action: Creating Modular Applications in Java


或多或少的说,知道面向服务的编程的知识是很有用的。本书的第一部分的几个章节会给你介绍以及给出具体的例子。

10、Clean Code: A Handbook of Agile Software Craftsmanship


  最后一本,但也是很重要的一本。查看你自己编程的特点也是很有用的。开发软件中大约90%的时间都是花在了代码的维护上,所以保持简练的代码是很重要的。

对java高级程序员有益的十本书的更多相关文章

  1. Java高级程序员(5年左右)面试的题目集

    Java高级程序员(5年左右)面试的题目集 https://blog.csdn.net/fangqun663775/article/details/73614850?utm_source=blogxg ...

  2. 成为java高级程序员需要掌握哪些

    section 1 1.Core Java,就是Java基础.JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如 ...

  3. 转 Java高级程序员面试题

    1.你认为项目中最重要的过程是那些? 分析.设计阶段  尽量找出进度的优先级 2.如果给你一个4-6人的team,怎么分配? 挑选一技术过硬的人作为我的替补.其它人平均分配任务,每周进行全面的任务分配 ...

  4. Java高级程序员面试题

    1.你认为项目中最重要的过程是那些? 分析.设计阶段  尽量找出进度的优先级 2.如果给你一个4-6人的team,怎么分配? 挑选一技术过硬的人作为我的替补.其它人平均分配任务,每周进行全面的任务分配 ...

  5. java 面试,java 后端面试,数据库方面对初级和高级程序员的要求

    本内容摘自 java web轻量级开发面试教程 对于合格的程序员,需要有基本的数据库操作技能,具体体现在以下三个方面. l  第一,针对一类数据库(比如MySQL.Oracle.SQL Server等 ...

  6. 【转】成为Java顶尖程序员 ,看这11本书就够了

    成为Java顶尖程序员 ,看这11本书就够了 转自:http://developer.51cto.com/art/201512/503095.htm 以下是我推荐给Java开发者们的一些值得一看的好书 ...

  7. [刘阳Java]_Java程序员的成长路线_第3讲

    按照Java从业人员的职位晋升来说,Java程序成长路线大致如下 Java程序员 JavaEE初级软件工程师 JavaEE中级软件工程师 JavaEE高级软件工程师 Java架构师 按照职业发展方向, ...

  8. 如何成为一个C++高级程序员

    C++这门语言从诞生到今天已经经历了将近30个年头.不可否认,它的学习难度都比其它语言较高.而它的学习难度,主要来自于它的复杂性.现在C++的使用范围比以前已经少了很多,java.C#.python等 ...

  9. 程序员带你十天快速入门Python,玩转电脑软件开发(四)

    本系列文章立志于从一个已经习得一门编程语言的基础之上,全面介绍Python的相关开发过程和相关经验总结.本篇文章主要是基于上一篇的程序员带你十天快速入门Python,玩转电脑软件开发(三)的基础之上, ...

随机推荐

  1. MySql5.5 SQL优化 慢查询日志存储

    一.MySql的慢查询日志的开启和存储 1.查看是否把没有使用索引的SQL记录到慢查询日志中,查看 log_queries_not_using_indexes 变量; show VARIABLES L ...

  2. cent 7 安装VNC

    1. yum install tigervnc-server; 2.cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncs ...

  3. MFC动态按钮的创建及其消息响应(自定义消息)

    动态按钮(多个)的创建: 1.在类中声明并定义按钮控件的ID #define IDC_D_BTN 10000 2.在类的OnInitDialog()函数中动态创建按钮(建立按钮对象时最好建立对象的指针 ...

  4. JSON中的{}与[]的区别

    []:索引数组 {}:关联数组(js中,即对象)

  5. 原生js的dom操作

    父节点parentNode 第一个子节点 只会获取到元素节点 firstElementChild ★★★★★    ​ 第一个子节点 (如果有文本节点将会获取到文本节点) firstChild ​ 最 ...

  6. docker下安装tomcat

    一,查看tomcat镜像 [root@icompany ~]# docker search tomcat INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED ...

  7. spring cloud Feign 使用 @RequestLine 注解遇到的问题

    package com.itmuch.cloud; import org.springframework.cloud.netflix.feign.FeignClient; import com.itm ...

  8. .net利用NPOI生成excel文件

    整理代码,这个是生成excel文件,用的是HSSF的方式,只能生成65535行,256列的数据,如果要看office07之后的生成,之前的随笔里提过.这个是一个完整的过程. 首先是已经查找好的数据,这 ...

  9. Notepad++语言格式设置,自定义扩展名关联文件格式

    简单粗暴--直接上图

  10. mysql中的handler_read_%

    mysql> show status like 'handler_read_%'; +-----------------------+-------+ | Variable_name | Val ...