Java程序员必看的 14 本 Java 书籍!

技术标签: Java  java  书单  

关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书!

毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单。

在下面这 13 本书籍中小编还是要建议大家可以先去关注英文原版,毕竟翻译的书籍中都有一定的语法错误。

 

入门

 

《Head First Java》


作者: Kathy Sierra / Bert Bates

 

简介:《Head First Java》是一本完整地面向对象(object-oriented,OO)程序设计和Java的学习指导用书,根据学习理论所设计,你可以从程序语言的基础开始,到线程、网络与分布式程序等项目。重要的是,你可以学会如何像一个面向对象开发者一样去思考,而且不只是读死书。               

 

作为一本入门书,它是绝对出色的。一个星期就能让你明白怎么用Java写程序了。尤其是你有其它语言基础的情况下,这本书能迅速让你明白java的特质。 缺点是,它真的只是入门书。你必然还需要一本Java大字典,比如《Thinking in Java》,以便查阅Java在细节上的更多东西。关于这一点,书中附录B也说得很清楚了。

 

《Java 核心技术:卷1 基础知识》


作者:Cay S. Horstmann / Gary Cornell 译者: 杜永萍 / 邝劲筠 / 叶乃文

 

简介:《JAVA核心技术(卷1):基础知识(原书第8版)》是《Java核心技术》的最新版,它反遇了Java SE6的新特性。全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Java语言以及Java类型库的相关特性。           

 

作为一本入门参考书,绝对比国内现在的大部分教材要优秀得多。对于Java初学者来说,也是一本值得时常翻阅的技术手册。书中有较多地方进行java与c++的比较,这是很有意义的,因为java与c++其实有很多类似之处,尤其是在面向对象的方面。同时书中也对Java与C++不同的地方做了一些解释,这对于学习过C++的朋友来说是很有助

 

《Java 编程思想》(英文名《Thinking In Java 》)


作者: [美] Bruce Eckel 译者: 陈昊鹏 / 饶若楠

简介:本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。     

 

搞JAVA不多,但是因为很多好书都以JAVA为实例代码,所以也自学的JAVA,这本书我利用十一的假期,完整的看了一遍,虽然都很基础,但是对内力有绝对的提升!

 

《Java开发实战经典》


作者:李兴华 编著

 

简介:本书是一本综合讲解Java核心技术的书籍,在书中使用大量的代码及案例进行知识点的分析与运用,并且给出一些比较成熟的开发步骤,帮助读者更好地进行Java的开发。从作者多年的Java培训经验来看,大部分学生对各种高端开发都没有任何问题,唯一的问题在于Java基础并不牢固,而且在国内也始终没有一本真正可以引领读者入门的好书籍,大部分的书籍都是围绕概念本身进行讲解的,没有讲解清楚为什么要具备这些知识以及该如何去理解这些知识。

             

不知道我应该带着怎样的心情来写这份书评…… 首先java是一门高级语言,不是那么容易吸收和理解的,这就是这本书那么厚的原因吗? 好吧……书中很多都是废话,我一般都是跳着看,只看“注意”和字体加深的部分,以及实例代码。 相比书,光盘里的视频讲解比较实用。

 

进阶

 

《Effective Java》


作者:(美)Joshua Bloch 译者:潘爱民

简介:本书介绍了在Java编程中57条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮的高效的代码。

 

看这本书的朋友就如作者所说,如果你没一定java经验的话先不要看了,因为看了可能没多少的帮助,或者很快就会遗忘千万也不要急功近利。总而言之,经典之作,当然了,有条件的朋友希望直接看英文版好了。

 

《Spring揭秘》


作者:王福强

 

简介:没有教程似的训导,更多的是说故事般的娓娓道来,本书是作者在多年的工作中积累的第一手Spring框架使用经验的总结,深入剖析了Spring框架各个模块的功能、出现的背景、设计理念和设计原理,揭开了Spring框架的神秘面纱,使你“知其然,更知其所以然”。每部分的扩展篇帮助读者活学活用Spring框架的方方面面,同时可以触类旁通,衍生出新的思路和解决方案。本书内容全面,论述深刻入理,必将成为每个Java专业开发人员必备的Spring图书。

 

好书,Spring里实践了大量Java语言优秀的理念,此书通过讲解Spring原理,通俗易懂地向我们展示了这些理念。

 

《分布式 Java 应用:基础与实践》


作者:林昊

 

简介:本书介绍了编写分布式Java应用涉及的众多知识点,分为了基于Java实现网络通信、RPC;基于SOA实现大型分布式Java应用;编写高性能Java应用;构建高可用、可伸缩的系统四个部分,七章内容来进行介绍,在这一本不算厚的书中,一方面结合作者的经验介绍了这些知识点;另一方面提供了进一步学习这些知识点的参考资料,希望能给想掌握编写分布式Java应用知识点的开发人员提供一定的帮助以及指引,同时也希望书中分享的经验对于目前正在从事分布式Java应用编写的开发人员提供帮助。

 

之前刚刚读了《大型网站架构技术》,算是同一个大主题,但前者主要讲网站机构的理论和最佳实践,而这本书则实践性比较强,还涉及了java网络编程,并行编程,jvm性能调优等等,每个方面都值得深入研究。

 

《http权威指南》


作者:David Gourley / Brian Totty 译者:陈涓 / 赵振平

 

简介:超文本传输协议(Hypertext Transfer Protocol,HTTP)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信。HTTP起初是一个简单的协议,因此你可能会认为关于这个协议没有太多好说的。但现在,你手上拿着的是却一本两磅重的书。如果你对我们怎么会写出一本650页 的关于HTTP的书感到奇怪的话,可以去看一下目录。本书不仅仅是一本HTTP首部的参考手册;它是一本名副其实的web结构圣经。               

 

本书对一些常见的误解进行了说明,推荐了“各种使用诀窍”,提供了便捷的参考资料,并且对枯燥且令人费解的标准规范进行了可读性很强的介绍。在这本书里,我们对Web正常工作所必须且互相关联的技术进行了详细的介绍。但是内容比较老,全而浅,不过用来给我镂空纱一样的HTTP知识查漏补缺足够了,大部分章节翻译的还不错。

 

《深入理解 Java 虚拟机》


作者:周志明

 

简介:作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘。本书是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案例和最佳实践也极具现实指导意义。              

 

在国内的图书市场上来看,这是一本很优秀的介绍 Java 虚拟机的书籍。读起来很引人入胜,一口气看几章,不费劲。我对本书最大的感受就是:全面。作为一个刚开始接触 JVM 的人,我感觉本书基本上把 JVM 中所涉及的概念涵盖到。

 

Java四大名著

 

《Java编程思想(第4版)》


原书名:Thinking in Java

 

《JAVA 2核心技术 卷II:高级特性(原书第7版)》


 

本书是java 2技术权威指南,全面覆盖java 2技术的高级主题,包括:多线程、集合框架、网络api、数据库编程、分布式对象等,深入探究了swing、java 2d api、javabean、java安全模式、xml、注释、元数据等主题,同时涉及本地方法、国际化以及jdk 5.0的内容。

 

本书适合软件开发人员、高等院校学生和教师参考。

 

《Java Web开发详解--XML+XSLT+Servlet+JSP深入剖析与实例应用》


 

本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。

本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。

本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前web开发中经常使用的功能,具有相当的实用价值。本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的程序员的参考用书和必备手册。

 

《Effective Java中文版(第2版)》


 

本书介绍了在java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。

本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。本书内容全面,结构清晰,讲解详细。可作为技术人员的参考用书。

 

这 14 本经典书籍,你都看过吗?

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zl1zl2zl3/article/details/83689274

智能推荐

UML统一建模语言(一)概述_小伙子wp的博客-程序员宅基地

UML(统一建模语言,Unified Modeling Language)是一种建模语言,是第三代用来为面向对象系统的产品进行说明、可视化和编制文档的方法。 一个人通常只能说出心中所想的80%,但对方听到的最多只能是60%,听懂的却只有40%,结果执行时,只有20%了。你心中的想法也许很完美,但下属执行起来却差之千里,这是由"沟通的漏斗"造成的,克服这一"漏斗"现象,那么交往的效率

学渣带你刷Leetcode246 中心对称数_爱学习的小鹏友的博客-程序员宅基地_中心对称数c++

题目描述中心对称数是指一个数字在旋转了 180度之后看起来依旧相同的数字(或者上下颠倒地看)。请写一个函数来判断该数字是否是中心对称数,其输入将会以一个字符串的形式来表达数字。示例 1:输入: "69"输出: true示例 2:输入: "88"输出: true示例 3:输入: "962"输出: false白话题目:单个数字翻转就还是原先的69 转转转 还是69 。算法:这个题其实是这样的-------->变成这个样子...

计算系数_头秃程序员_的博客-程序员宅基地

给定一个多项式(ax + by)k,请求出多项式展开后xnym项的系数。Input 共一行,包含 5 个整数,分别为 a,b,k,n,m,每两个整数之间用一个空格隔开。 Output 输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对 10007 取模后的结果。 Sample Input 1 1 3 1 2 Sample Output 3 Hint 对...

小项目中怎么防止Vue的闪现画面_不重名的彩笔的博客-程序员宅基地

一句话总结HTML: 元素加上v-cloakCSS: [v-cloak]{display: none}过程页面刚加载的时候胡子语法会显示出来。v-cloak是VueJS小型项目中提升用户体验简单且重要的方法。用法HTML中在你需要组织闪现的标签上加上v-cloak<div id="app"> <nav>blabla</nav> &...

vtkObject & vtkAlgorithm_凭谁问的博客-程序员宅基地

vtkObjectvtk类支持通过macro.newInstance实现,一个vtk类实例一般包括两部分model对象和publicAPI对象,其中类的属性定义在model中,暴露的方法定义在publicAPI中macro.newInstanceexport function newInstance(extend, className) {const constructor = (initialValues = {}) => {const model = ...

php 直方图,使用直方图(Histograms)_滴哩滴哩的博客-程序员宅基地

1.何谓直方图在分析表或索引时,直方图用于记录数据的分布。通过获得该信息,基于成本的优化器就可以决定使用将返回少量行的索引,而避免使用基于限制条件返回许多行的索引。直方图的使用不受索引的限制,可以在表的任何列上构建直方图。构造直方图最主要的原因就是帮助优化器在表中数据严重偏斜时做出更好的规划:例如,如果一到两个值构成了表中的大部分数据(数据偏斜),相关的索引就可能无法帮助减少满足查询所需的I/O数...

随便推点

绑定机制(转自天运科技)_bitwanglu的博客-程序员宅基地

一、绑定(Binding)绑定是一种控制两个或者多个设备应用层之间信息流传递的机制。在ZigBee2006发布版本中,它被称为源绑定,所有的设备都可以执行绑定机制。绑定允许应用程序发送一个数据包而不需要知道目标设备的短地址(此时将目标设备的短地址设置为无效地址0xFFFE)。应用支持子层(APS)从它的绑定表中确定目标设备的短地址,然后将数据发送给目标应用或者目标组。如果在绑定表中

StringRedisTemplate 和 RedisTemplate的区别及使用方法_JavaClimber的博客-程序员宅基地_redistemplate stringredistemplate

最近写网关鉴权,将jwt令牌信息存入redis中。结果在鉴权的时候,从cookie中获取到正确的redis的键之后,获取jwt信息一直未null.多次纠结排错,现将坑填于此。排错如上述,存入redis中后,一直获取为null。 查看数据库后,发现具体的jwt信息已经完整的存储了。多次debug,发现所有流程正确,就是从redis拿值为null. 忽然就反应过来,这存储的键 跟我设...

图灵机实现由相同个数的0和1的团组成的串_贪心的葡萄的博客-程序员宅基地

图灵机实现由相同个数的0和1的团组成的串用图灵机设计实现由相同个数的0和1的团组成的串。例如:00001111符合条件,00110011或00011111不符合条件。该图灵机由5个状态{q0,q1,q2,q3,q4}组成,状态转换过程如下:(q0,0)=(q1,X,R)(q0,Y)=(q3,Y,R)(q1,0)=(q1,0,R)(q1,1)=(q2,Y,L)(q1,Y)=(q1,Y,R)(q2,0)=(q2,0,L)(q2,X)=(q0,X,R)(q2,Y)=(q2,Y,L)(q3,Y

【Ionic】构造器constructor和生命周期钩子的区别_weixin_30817749的博客-程序员宅基地

曾经的一道面试题,没有答上来一、构造器constructor是类的本身属性,跟angular没有关系;生命周期钩子是由angular定义的;二、构造器constructor会在类生成实例时调用;生命周期钩子贯穿angular生命周期,如下生命周期的顺序ngOnChanges:当被绑定的输入属性的值发生变化时调用,首次调用一定会发生在ngOnInit之前。ngOnInit...

Centos 6.5开启rsync同步_weixin_33869377的博客-程序员宅基地

一、测试环境操作系统:Centos6.5Server1:172.18.11.100 源服务器Server2:172.18.11.110 目标服务器二、操作步骤:  1、先看是否安装了rsync  rpm -qa|grep rsync    [[email protected] ~]# rpm -qa|grep rsync    [[email protected] ~...

【C++】STL String_onlyongwang的博客-程序员宅基地

C++提供String 的模板类,可以很方便的处理字符串。

推荐文章

热门文章

相关标签