英文原文: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. Python如何管理内存?

    对于Python来说,内存管理涉及所有包含Python对象和堆. Python内存管理器在内部确保对堆的管理和分配. Python内存管理器具有不同的组件,可处理各种动态存储管理方面,如共享,分段,预 ...

  2. java中的内存模型

    概述 Java平台自动集成了线程以及多处理器技术,这种集成程度比Java以前诞生的计算机语言要厉害很多,该语言针对多种异构平台的平台独立性而使用的多线程技术支持也是具有开拓性的一面,有时候在开发Jav ...

  3. 12. pt-index-usage

    pt-index-usage h=192.168.100.101,P=3306,u=admin,p=admin /data/mysql3306/data/slow.log 根据slow log来判断i ...

  4. P1083龙舟比赛

    题目如下: 现在正在举行龙舟比赛,我们现在获得了最后冲刺时的俯视图像,现在你要输出各条龙舟的名次. 这张图像由r行c列的字符组成,每行的最左边的字符表示起点,所以字符为'S',最右边的字符为'F'.并 ...

  5. python基础之Day5

    一.基本概念 为什么要有数据: 计算机能够像人一样识别现实生活中的状态是因为计算机事先将数据存到了记忆中 为什么要分类型: 满足现实世界不同状态的需要 二.数据类型(研究定义,作用,常见操作) 1.整 ...

  6. UI设计教程:关于版式设计

    版式设计是视觉传达的重要手段之一,版式设计,即把有限的视觉元素在版面页进行有效的视觉组合,最优化地传达信息的同时,去影响受众,使受众产生视觉上的美感. 版式设计基本流程  在进行版式设计时,设计作品的 ...

  7. 当前页面刷新和动态添加控件的jquery事件绑定on

    当前页面刷新(console): location.reload() 给动态添加的控件添加js事件(委托): <ul> <li>菜单一</li> <li> ...

  8. sqli-labs:1-4,基于报错的注入

    sqli1: 脚本 # -*- coding: utf-8 -*- """ Created on Sat Mar 23 09:37:14 2019 @author: ke ...

  9. Https如何确保传输安全的

    1.对称加密算法 加密和解密算法是公开的,那个密钥是保密的, 只有双方才知道, 这样生成的加密消息(密文) 别人就无法得知了. 2.非对称加密算法 RSA算法非常有意思,是有一对儿钥匙, 一个是保密的 ...

  10. Android资源相关语法

    2018-08-29 getResources().getString(Rid)获取配置中的字符串