Java编程之路相关书籍(三个维度)_java三个维度八个试图-程序员宅基地

技术标签: 学习  java  Java基础  书籍  

一、关于Java的技术学习,可以按照下面分三个维度进行学习 :


(1)向下发展,也就是底层的方向

建议看《深入Java虚拟机》、《Java虚拟机规范》、《Thinking in Java》等,其实中英文都可以,除非你是专注于底层的开发,那么还是看英文的比较合适些。当然Java底层相关的书籍肯定不仅这几本,更多的书籍待猿友们去挖掘哈。


(2)横向发展,略为向上,从应用的角度

建议看一些主流的应用框架相关的书:struts2、spring、hibernate、ibatis、maven、dubbo等等,这些框架的学习,最好可以看完整的书籍,这样对整个框架的架构有个认识。还有很多相对小一点的框架,可能不足以出书籍,但是网上文章还是有很多的。希望猿友们一起不断的学习探索。


(3)向上发展,就是设计层的书籍了
建议看《Head First设计模式》、《研磨设计模式》、《Gof设计模式》、《重构》、《企业设计模式》等等书籍,当然这些书籍对于刚毕业的小伙伴可以先不必要过多关注。等到有两到三年经验的时候再进行深入学习,这样感触会比较深(听前辈们是这样讲的)。


二、下面介绍某位前辈推荐的书籍,根据难度分为: Java语言篇 、中级进阶篇 、高级篇 :


参考文献:http://blog.sina.com.cn/s/blog_b283b5430102vlzt.html


第一部分: 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从未让人失望过。iBatis为持久层框架。 




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目前可以说是市场上唯一成熟的产品,而且大家也都向其看齐。而起云计算炙手可热,你搞明白这本书就大概明白了什么是云以及怎么做云。 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013142781/article/details/47037457

智能推荐

逻辑回归(混淆矩阵与评估指标)_多变量逻辑回归分析-程序员宅基地

文章浏览阅读3.3k次。跟我一起机器学习系列文章将首发于公众号:月来客栈,欢迎文末扫码关注!1 多变量逻辑回归上一篇文章中笔者对于什么是逻辑回归,以及它能用来干什么做了一个详细的介绍;同时,对于如何通过开源库进行建模训练并预测也给出了详细的示例,并对训练得到的决策边界进行了可视化。因此,本篇文章将主要围绕多变量逻辑回归,多分类问题和分类评价指标这三个方面进行介绍。所为多变量逻辑回归其实就是一个样本点有多个特征属性..._多变量逻辑回归分析

使用EM管理实例-程序员宅基地

文章浏览阅读96次。repository就是存放Database Control在管理数据库所用到的信息的多个表。创建repository:emca -repos create创建Database Control:emc..._#./em_control -l

C++1-C语言和C++的区别_c语言++1-程序员宅基地

文章浏览阅读2.8k次。C语言和C++的区别_c语言++1

无人机项目跟踪记录七十二———降压电路模块详解_怎样看降压模块是几v生成的-程序员宅基地

文章浏览阅读1.5k次,点赞2次,收藏4次。下图为降压电路模块:从左向右介绍,MIC5205_3.3为输出是3.3伏的电压调节器件。VIN接入5伏电压,GND管脚接地,EN使能端接5伏电压代表芯片不受其他信号控制,固定输出3.3V电压。本电路不考虑噪声影响,故而BYP端不接电容。输出端接三个电容起到滤波作用。左侧电路给单片机和系统其他芯片提供3.3伏的电压。右侧和左侧基本相同,不同的是使能管脚EN受单片机控制,以此来启动或者关闭此供电模块,右侧电路是给蓝牙芯片供电电路。..._怎样看降压模块是几v生成的

Qt 生成一个固定长度的随机字符串_qt 获取随机数 固定长度-程序员宅基地

文章浏览阅读5.5k次,点赞4次,收藏20次。概述我们都知道,使用Qt的qrand()可以生成一个随机的数字,比如说,要生成100以内的随机数,可以使用qrand()%100 来实现,那么如果要生成一个固定长度的随机字符串该怎么弄呢,其实原理很简单,就是事先准备好一个字符串数组,然后结合qrand()函数随机从字符串数组中通过循环取出来就可以啦。代码实现原理已经说过了,其实就是一个非常简单的算法,直接看代码:QString getRa..._qt 获取随机数 固定长度

itemchanged相關_powerbuilder itemchanged return-程序员宅基地

文章浏览阅读676次。 第一个疑问: 1、itemchanged: return 1 这里不接受变化数据,不允许移动焦点 2、itemerror: return 3 这里不接受变化数据,允许移动焦点return 1 发现事件触发情况为:itemchanged-->itemerror-->itemchanged-->itemerror. 为什么是两次? 第二个疑问: 1、itemchanged: return_powerbuilder itemchanged return

随便推点

html弹窗是否删除,javascript删除前弹出确认/取消询问窗口confirm-程序员宅基地

文章浏览阅读4.1k次。为了避免误删数据,删除前应该不要嫌麻烦弹出一个确认/取消询问窗口,以前免错删数据后无法恢复。网站的数据删除由用 户在客户端发起,所以弹出确认/取消询问窗口由javascript来完成,它弹出的询问窗口跟Windows系统弹出的一样。javascript删除前弹出一个确认/取消询问窗口有几种方法,我们只介绍一种方便调用的方法,这样既便于在 javascript 代码中调用,又便于在 html 文件中..._html 删除前询问

关于三星S3C44B0X目标板的uClinux Bootloader_uclinux和bootloader区别-程序员宅基地

文章浏览阅读386次。2007-12-25 09:13:59 uClinux是为控制领域设计的嵌入式Linux操作系统,它沿袭了主流Linux的大部分特性,并进行了一定幅度的裁减。其设计主要针对没有内存管理单元(MMU)的微处理器,例如基于ARM7TDMI内核的S3C44B0X。 嵌入式Linux系统通常由三部份组成:Bootloader、Kernel和File System_uclinux和bootloader区别

iOS 防止截屏、录屏技术_ios 禁止录屏-程序员宅基地

文章浏览阅读4.1k次。看图演示,可防止截屏和录屏可以开启或者关闭,是否允许截屏和录屏。_ios 禁止录屏

机器人路径规划之RRT算法-程序员宅基地

文章浏览阅读2.3k次,点赞3次,收藏32次。关注:决策智能与机器学习,深耕AI脱水干货作者:矮脚兽 来源:知乎专栏地址:https://www.zhihu.com/column/c_1278371819016101888如需转载..._六自由度机械臂rrt路径规划原理

CentOS 7.2下KVM虚拟化配置以及常用操作_部署kvm 修改存储路径-程序员宅基地

文章浏览阅读804次。分享CentOS7.2下KVM虚拟化配置以及常用操作的步骤。1.开始安装kvma.检查你的系统是否支持虚拟化grep -Ei 'vmx|svm' /proc/cpuinfo如果有输出内容,则支持,其中intelcpu支持会有vmx,amd cpu支持会有svmb.通过yum安装虚拟化的软件包 1 2 yuminstall-ykvmvirt-* libvirt bridge-utilsqemu-img virt-install..._部署kvm 修改存储路径

维纳滤波原理极其Python实现_python 维纳滤波参数-程序员宅基地

文章浏览阅读4.2k次,点赞2次,收藏16次。从信号与系统的角度出发,有一部分噪声是系统的固有噪声,另一部分,则是对信号的某种响应,换言之,这部分噪声可以理解为一个噪声系统。所以滤除后者,可以理解为去除噪声系统的影响,换言之,就是针对噪声系统做反卷积。考虑到求比证难,不妨把这个问题再简化一下,如果找到了一组值,那么如何确定这组值是对的?如果噪声系统可以测量,那么反卷积自然可以顺利执行,否则那就要对这个噪声系统进行估计,维纳滤波履行的就是这个思路。,然后找到这个误差量的某个统计值的极值,考虑到正负号的问题,这个统计量有可能是方差。为系统的噪声,如果为。_python 维纳滤波参数

推荐文章

热门文章

相关标签