当前位置: 首页 > 编程日记 > 正文

JavaEE程序员必读图书大推荐 .

下面是我根据多年的阅读和实践经验,给您推荐的一些图书:

第一部分: Java语言篇

1 《Java编程规范》

星级:

适合对象:初级,中级

介绍:作者James Gosling(Java之父),所以这本书我觉得你怎么也得读一下。对基础讲解的很不错。


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

星级:

适合对象:初级,中级

介绍:官方机构图书,你怎么也得有一本,这本书比较全面而且易懂。放在案旁用到的时候查一查,看一看。是学习入门必备书。

注:新手必备


3 《Java编程思想》
  星级:

适合对象:初级,中级

介绍:这本书的作者就是著名的C++编程思想,对OO的理解很好,Java作为一门面向对象的语言,你学习Java最好也同时参考这本书进行入门学习。

注:新手必备


4 《Effective Java》

星级:

适合对象:初级,中级,高级

介绍:作者是Java的第2号人物,目前是Google的Java老大,是James Gosling强力推荐的一本书。


5 《Java与模式》

星级:

适合对象:中级,高级

介绍:是国人写的难得的值得购买的一本书,当然现在也有大话设计模式之类的出现,这本书出现的比较早,是初级到中高级必读的图书之一。

注:没有理解面向对象前,读这本书没有意义。最好是有过项目经验再读比较好。


6 《SCJP学习指南》 星级:

适合对象:初级,中级

介绍:官方考试必备图书,对你检验自己学些Java知识情况很有帮助,这本书最适合学生阅读,这本书理解透了,找工作面试Java题目不会有任何问题,工作多年的拿这里的题目不会做的都很多。


7 《Java数据结构和算法

星级:

适合对象:初级,中级,高级

介绍:这本书使用Java语言描述了我们常用的数据结构,写的非常不错。值得一看,不过目前基本断货(这个就是最有利的说明)。


 8《Junit Recipes中文版:程序员实用测试技巧》

星级:

适合对象:初级,中级,高级

介绍:目前敏捷盛行,这个你是不管怎样也得看一看的。


第二部分:中级进阶篇

1《Spring in action》

星级:

适合对象:初级,中级,高级

介绍:Spring框架,作为Java程序员是怎么都必须学习的。IOC、AOP是你以后见到的软件的基础。另外基本上很多东西都和Spring产生联系。


2《精通Spring 2.x:企业应用开发详解》

星级:

适合对象:初级,中级,高级

介绍:书中提供了Spring中的目前最流行用法的实例和实用情况。


3《iBatis实践》

星级:

适合对象:初级,中级,高级

介绍:iBatis必看参考书,in action从未让人失望过。


4 《精通Hibernate:Java对象持久化技术详解》

星级:

适合对象:初级,中级,高级

介绍:Hibernate必备参考书,也是国人写的,难得的一本好书,而且作者是个MM。


5 《Struts 2.1权威指南》

星级:

适合对象:初级,中级

介绍:学习Struts2的一本国人写的不错的书,不过名称显得大了点。权威指南应该只有作者才可以这么叫。


6 《Maven实践》

星级:

适合对象:初级,中级

介绍:从Ant到Maven现在时大势所趋了,您怎么也得学习一下。


7《expert one-on-one J2EE Development without EJB中文版》

星级:

适合对象:初级,中级

介绍:这个其实是Spring的基础,作者巨牛。强力推荐,可惜是基本买不到这本书了。


8 《Tomcat权威指南》

星级:

适合对象:初级,中级

介绍:做Java Web的一般都必须学习这个,为Apache的开源项目。


9 《Head First Servlets & Jsp》

星级:

适合对象:初级,中级

介绍:Servlet和Jsp作为JavaEE程序员是必须要掌握好的,而且Head First系列从未令人失望。


10 《Head First HTML与CSS.XHTML》

星级:

适合对象:初级

介绍:介绍Web前端的不错的入门书。


11 《HTML+CSS网页设计与布局从入门到精通》

星级:

适合对象:初级

介绍:这本书最大的特点是带光盘而且讲解的不错,应用实例也不错。


12 《JavaScript宝典》

星级:

适合对象:初级,中级,高级

介绍:是学习js的必备参考工具书之一,我记得几年前国内都没有中文版,我都把整本书打印出来看了一下。


13 《JavaScript权威指南》

星级:

适合对象:初级,中级,高级

介绍:是学习js的必备参考工具书之一。我看我同事购买了,看起来还不错。


14 《征服Ajax Web2.0开发技术详解》

星级:

适合对象:初级,中级

介绍:这本书当年是CSDN送给我的,感觉还是不错的。对学习AJAX有帮助。


15 《jQuery基础教程》

星级:

适合对象:初级,中级,高级

介绍:从这个开始学习jQuery才是根本。不然以后遇到的很多奇怪问题不知所以然。jQuery个人感觉已经成为目前的javascript标准库了,插件无数,大大简化了前端工作。


16 《XML入门经典》

星级:

适合对象:初级,中级,高级

介绍:很多人觉得没必要买XML书籍,不过我还是觉得推荐一本给你作为工具书,而且看本书可以使得你对XML方方面面有个了解。里面不少东西还是用到的。


17 《敏捷软件开发(原则模式与实践)》

星级:

适合对象:中级,高级

介绍:敏捷大师的著作,您怎么也得看看。这本书包含了UML的讲解,所以我就不推荐UML的书了。


18 《重构:改善既有代码的设计》

星级:

适合对象:中级,高级

介绍:同样是大师的杰作,不可不看。最重要的是让你明白软件也是一步步改进的,不是一蹴而就的。


19 《代码整洁之道》

星级:

适合对象:中级,高级

介绍:软件工程的理想编码是需要无数人编出来的代码像一个人写的。这本书当作规范就不错。


注意:WebService的图书我还真不知道给您推荐什么,都不怎么样。您做个实例就明白,不过怎么做接口才是核心。


第三部分:高级篇

1  《Java消息服务》

星级:

适合对象:初级,中级,高级

介绍:消息机制是以前分布式经常实用到的,与此相关的有Apache Active MQ进行开发,而且这本书的实例也是用的AQ。


2 《Java并非实践》

星级:

适合对象:中级,高级

介绍:这本书也是牛人们强力推荐的,学习并发必备。


3 《Enterprise JavaBeans 3.0中文版》

星级:

适合对象:中级,高级

介绍:EJB技术在大型系统中使用,主要有银行等金融机构。是开发分布式程序的选项之一,不过我不喜欢,其实银行使用的也不怎么的。结合JavaEE容器使用,开源的有JBoss,商用的有IBM和Oracle支持。

注:该类型书也有Head First系列,也很不错。另外《J2EE应用与BEA WebLogic Server》书也很不错。


4 《Hadoop权威指南》

星级:

适合对象:中级,高级

介绍:云计算必备图书。作为分布式计算的工具,Hadoop目前可以说是市场上唯一成熟的产品,而且大家也都向其看齐。而起云计算炙手可热,你搞明白这本书就大概明白了什么是云以及怎么做云。


附: 《Linux 鸟哥的私房菜》

星级:

适合对象:初级,中级,高级

介绍:这本书对使用和学习Linux很有用,大而全,解释的也不错,常用的基本都有了,一本在手,绝无顾忧。

最后,推荐一本贯彻全部软件工程和全文的图书《代码大全》,只是一句话:两届Software Development Magzine Jolt Award震撼大奖得主。


更多内容请访问(包含上面图书的图形)http://www.marulin.com

转载于:https://www.cnblogs.com/javaTest/archive/2011/09/22/2589602.html

相关文章:

10 个深恶痛绝的 Java 异常。。

异常是 Java 程序中经常遇到的问题,我想每一个 Java 程序员都讨厌异常,一 个异常就是一个 BUG,就要花很多时间来定位异常问题。 什么是异常及异常的分类请看这篇文章:一张图搞清楚 Java 异常机制。今天,栈长来列一下 J…

黑盒测试方法之边界值分析法

边界值分析法 概念需求示例1测试用例分析设计1需求示例2测试用例分析设计2总结概念 很多错误发生在输入或输出范围的边界上,因此针对各种边界情况设置测试用例,可以更有效地发现缺陷。 边界值分析法测试用例设计方法:1)确定边界情况(输入或输出等价类的边界);2)选取正…

leetcode381. Insert Delete GetRandom O(1) - Duplicates allowed

题目要求 Design a data structure that supports all following operations in average O(1) time.Note: Duplicate elements are allowed. insert(val): Inserts an item val to the collection. remove(val): Removes an item val from the collection if present. getRando…

js 判断 是否为android

引用:http://www.oschina.net/code/snippet_163910_6094 [代码] JavaScript判断方法 view source print?1if(navigator.userAgent.match(/Android/i)) {2 // Do something!3 // Redirect to Android-site?4 window.location http://android.davidwalsh.nam…

B - Networking - poj 1287

有一些地方需要铺盖电缆&#xff0c;这些地方两点间的路可能不止一条&#xff0c;需要求出来至少需要多少电缆才能让所有的点都连接起来&#xff0c;当然&#xff0c;间接连接也算。/#include<iostream>#include<cstring>#include<cstdio>#include<queue&…

因果图方法中的基本符号

因果图方法中的基本符号 前言基本符号1、恒等2、非3、或4、与5、互斥6、包含7、唯一8、要求9、屏蔽总结前言 经过了春节假期,我们重新回到工作学习中。在学习因果图法前首先要学习因果图方法中的基本符号,今天我们就先解决这些基本符合。 基本符号 1、恒等 恒等:表示原因与…

BZOJ 2190: [SDOI2008]仪仗队( 欧拉函数 )

假设C君为(0, 0), 则右上方为(n - 1, n - 1). 一个点(x, y) 能被看到的前提是gcd(x, y) 1, 所以 answer ∑ phi(i) * 2 2 - 1 ∑phi(i) * 2 1 ( 1 < i < n ). 2是因为(1, 0), (0, 1) 两个点, -1是因为(1, 1)重复计算了--------------------------------------------…

JavaScript数据结构与算法——字典

1.字典数据结构 在字典中&#xff0c;存储的是【键&#xff0c;值】对&#xff0c;其中键名是用来查询特定元素的。字典和集合很相似&#xff0c;集合以【值&#xff0c;值】的形式存储&#xff0c;字典则是用【键&#xff0c;值】对的形式存储。字典也称作映射。 2.创建字典 f…

ArcObjects编程方法(七):.NET中继承ArcGIS COM类

要符合作为基类的要求&#xff0c;coclass必须满足&#xff1a; 定义为元数据可创建聚合然而在ArcGIS中&#xff0c;ArcGIS COM类不能在.NET环境中作为基类。如果要想方便的创建ArcGIS组件&#xff0c;可以使用ESRI.ArcGIS.ADF.Local程序集中提供的类&#xff0c;这些类是托管类…

黑盒测试方法之因果图法

因果图法 因果图法步骤软件需求示例测试用例分析设计总结因果图法步骤 1)赋标识符。分析软件需求规格说明,找出哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符; 2)画因果图。分析软件需求规格说明,找出原因与…

Git指南-基础篇

一&#xff0c;Git简介 对于一个刚接触Git的同学来说&#xff0c;Git是一个新鲜的东西&#xff0c;为了对Git有更深的了解&#xff0c;强烈推荐一篇博文&#xff1a;Git与Repo入门 它介绍了版本控制的历史&#xff0c;从原始的版本控制&#xff08;即原型-备份-复制-修改-备份-…

silverlight与javascript交互操作

C#端代码&#xff1a; String text "lenny";string text2 "dou";HtmlPage.Window.Invoke("calledBySL2", new object[] { text, text2 }); Html端代码&#xff1a; function calledBySL2(obj, obj2) { alert("Hello: " obj …

JS异步编程之callback

为什么 JS 是单线程&#xff1f; 众所周知&#xff0c;Javascript 语言的执行环境是"单线程"&#xff08;single thread&#xff09;。 所谓"单线程"&#xff0c;就是指一次只能完成一件任务。如果有多个任务&#xff0c;就必须排队&#xff0c;前面一个任…

黑盒测试之两两组合方法

两两组合方法 概念需求示例测试用例分析设计总结概念 所有测试数据两两配对,每一对数据至少出现一次,这个是两两组合测试的基本原理,两两组合测试也称结对测试(Pairwise Testing)。大部分缺陷是在进行两个变量取值冲突的测试时被发现的,不仅仅是在所有的组合情况下才会被…

用JavaScript获取一个超链接的绝对URL地址

对于Web程序员来说&#xff0c;处理简单的URL格式也许会成为一场噩梦。试想一下&#xff0c;一个网址里有很多组成部分都会影响你对它的解析方法&#xff1a; 是否以/字符开头是否以//开头是否以?号开头是否以#号开头…等等当你想要这个地址的绝对地址时&#xff0c;如何判断处…

Docker学习笔记_安装ActiveMQ

一、实验环境 1、宿主机OS:Win10 64位 2、虚拟机OS:Ubuntu18.04,虚拟机名称&#xff1a;Ubuntu18VM1&#xff0c;虚拟机IP:192.168.8.25 3、操作账号 &#xff1a;Docker 4、在虚拟机上已安装Docker 二、安装 简要步骤&#xff1a; 1.搜索镜像 sudo …

Ubuntu下配置Nginx HTTPS

HTTPS(全称&#xff1a;Hypertext Transfer Protocol over Secure Socket Layer)&#xff0c;是以安全为目标的HTTP通道&#xff0c;简单讲是HTTP的安全版。即HTTP下加入SSL层&#xff0c;HTTPS的安全基础是SSL。 它是一个URI scheme(抽象标识符体系)&#xff0c;句法类同http:…

因0x764fb11c的错误状态_《最强大脑》国际赛王易木又被质疑作弊,因背反答案露出了马脚?...

《最强大脑之燃烧吧大脑》第二季国际赛最后一场&#xff0c;中国战队和国际战队在3V3的团战当中以绝对优胜的姿态拿下了本场比赛。在观众为郑林楷、宋一骜以及王易木的成功感到高兴之际&#xff0c;有部分吃瓜群众跳出来指出&#xff0c;之前因作弊而饱受质疑的王易木此次又有了…

[PyQt4]项目开发中遇到的错误与解决办法

1假如将ui文件py化以后产生的关于界面的类是继承object的ui_dialog&#xff0c;方法是setupui,则在主程序中应&#xff1a; app QtGui.QApplication(sys.argv)dialogQtGui.QWidget()ud Ui_Dialog()ud.setupUi(dialog)dialog.show()sys.exit(app.exec_()) 2自建槽checklog_slo…

判断出栈顺序是否正确(栈的压入、弹出序列)

输入两个整数序列。其中一个序列表示栈的push顺序&#xff0c;判断另一个序列有没有可能是对应的pop顺序。为了简单起见&#xff0c;我们假设push序列的任意两个整数都是不相等的。 比如输入的push序列是1、2、3、4、5&#xff0c;那么4、5、3、2、1就有可能是一个pop系列。因为…

LeetCode-135-Candy

算法描述&#xff1a; There are N children standing in a line. Each child is assigned a rating value. You are giving candies to these children subjected to the following requirements: Each child must have at least one candy.Children with a higher rating get…

消控中心人员配置_物业公司(项目)各岗位员工配置人数及标准(供参考)

一物业定编的目的1、优化编制结构&#xff0c;加强编制规模的合理化, 满足项目物业系统的人员需求&#xff1b;2、通过编制管理逐步&#xff0c;提升各大区住宅物业服务中心人均管理面积&#xff1b;3、通过编制管理达到物业系统整体扭亏的目标。二物业定编的能效目标1、费用控…

weblogic域,管理服务器,受管服务器,集群和机器的基本知识

1.域&#xff08;Domain&#xff09; •它是什么&#xff1f;–是一个逻辑上管理的WebLogic Server组&#xff0c;这些组从管理上当作一个整体来操作•域里面有什么?–服务器–服务器集群–机器•规则:–同一个域中的所有WebLogic服务器实例必须处于同样的版本。–域中的服务器…

软件版本号讲解

1. 软件版本阶段说明* Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主&#xff0c;通常只在软件开发者内部交流&#xff0c;一般而言&#xff0c;该版本软件的Bug较多&#xff0c;需要继续修改。* Beta版: 该版本相对于α版已有了很大的改进&#xff0c;消除了严重…

vscode用鼠标滚轮_「鼠标」垂直鼠标体验之三 麦塔奇Rockstick2摇杆鼠标

Microtouch麦塔奇是我体验的第三个垂直鼠标品牌了&#xff0c;前两个分别是罗技和多彩。对比来看&#xff0c;这次上手的Rockstick2是我目前体验的垂直鼠标里最迷你的一个。整体外观先上图给大家看一下~到手了才发现这个鼠标其实分了两种大小&#xff0c;一个是small/medium&am…

Go 领军人物谢孟军:智能制造渴望银弹,首先要摒弃偏见

2019 年 1 月 13 日&#xff0c;TGO 鲲鹏会厦门分会正式成立&#xff0c;数百名技术人赶赴现场为庆祝 TGO 鲲鹏会厦门分会的诞生。本篇文章根据谢孟军在活动现场分享的「基于工业大数据下的工厂系统实践」整理&#xff0c;有部分不改变原意的删减。谢孟军现场演讲照片今天&…

Git与Svn的区别—笔记1

1. Git是分布式版本控制系统&#xff0c;不需要联网就可以使用&#xff0c;且速度较快&#xff1b;而Svn是集中式的版本控制系统&#xff0c;必须联网才能使用&#xff0c;且速度较慢 2. Git把内容按元数据方式存储&#xff0c;而Svn是按文件存储&#xff0c;Git的目录是处于你…

电商平台战 运营是关键

9月19日&#xff0c;淘宝商城宣布推出开放的B2C平台战略&#xff0c;与包括一号店、银泰网、库巴网、易讯等在内的38家国内垂直B2C企业联合宣布达成战略合作&#xff0c;38家垂直B2C企业将集体在淘宝商城开设官方旗舰店。 据淘宝商城总裁张勇表示&#xff0c;淘宝商城的战略是要…

三菱fx2n64mr说明书_三菱FX2N可编程控制器使用手册

三菱FX2N可编程控制器使用手册一、可编程控制器的内部编程元件1、输入继电器X&#xff1a;X000&#xff5e;X017共16点2、输出继电器Y&#xff1a;Y000&#xff5e;Y017共16点3、辅助继电器M&#xff1a;1)通用辅助继电器M0&#xff5e;M499共500点2)断电保持继电器M500&#x…

Android开发学习笔记:WebView 一

WebView(网络视图)能加载显示网页&#xff0c;可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页&#xff0c;实现WebView有以下两种不同的方法&#xff1a; 第一种方法的步骤&#xff1a; 1.在要Activity中实例化WebView组件&#xff1a;WebView webView new WebV…