1. java入门书籍推荐
开发规范:
《阿里巴巴Java开发手册(正式版)》(V1.2.0版)更新(V1.2.0版)《阿里巴巴Java开发手册(正式版)》 – 知乎专栏
这篇最新版本不只是规范汇聚了阿里,更有广大知乎程序猿、工程师、研发网友的智慧结晶。
有关书籍方面推荐一篇博文:
本书架主要针对Java后端开发与架构。
更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不录。
操作系统与网络的书
《Linux内核设计与实现 第3版》Robert Love用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚了,《深入理解Linux内核》,《深入Linux内核架构》之类厚厚的全是代码,不是专门的内核程序员看这本足够了。
《Linux系统编程 第2版》继续是Robert Love,比起APUE也是以薄见长,专门针对重要的系统调用讲解。
《性能之巅》操作系统的性能调优、监控、工具和方法论,看这本就够了,已经足够厚,可能是书单里最厚的一本。
《TCP/IP详解 卷1:协议》这么多年过去了,TCP的书好像主要还是只有这一本,有点旧了,看了也还是半懂不懂的。后人在2011年写了第二版。
《WireShark网络分析就这么简单》和 《WireShark网络分析的艺术》多少人,是看了这两本轻松又实战的书,才真正理解TCP的细节。
https://yqfile.alicdn.com/6b94fffc8723fd5ac7e7d5ebdfd6bb542c53bafb.png
PS:《UNIX环境高级编程》和《UNIX网络编程》,APUE和UNP更多作为一本超厚工具书存在。《Unix 编程艺术》,扯的都是闲篇,厚厚的一本其实略读一下就行。 《现代操作系统 第3版》如果看LKD未尽兴,可以回头看看这本基础概念,感觉比那本枯燥的《操作系统概念》(恐龙书)读起来舒服。
《TCP/IP指南》 前面wireshark书作者的推荐,网上有英文免费版,然后有中文版的卷1和卷2,但可能那么多章节那么厚你只关心TCP和HTTP两部分。《HTTP权威指南》,同样是自己从厚厚的目录里挑选感兴趣的章节来看。
另外,那些日本韩国人写的《图解XXX》感觉都不喜欢。
2. java新手入门书籍
head first java强力推荐,很适合新手去看。
生动活泼的语言,又附有实例,可以直接上机操作。
另外,我建议初学者,应该以视频学习为主,同时以看书为辅。
视频可以去网上找资源,入门视频一大堆,总有适合你的那一款。
在前期学习不用学的全部都明白,主要会用就行,到了后面再去探究实现的原理。
前期主要要把面对对象的思想了解清楚,当然每个人都有不同的理解形式。
java三大法宝,封装继承多态,要好好理清他们之间的联系。
还有就是要弄懂任何语言都有的选择结构,比如if else,while。
再有就是for循环,也要完全弄懂。
基本上,弄清楚这些再去深入学习就不会太难了。
3. java入门书籍推荐排行最新
多了,关键看是哪个出版社出的,一般国内的java书籍主要是由清华大学出版社和电子机械出版社出版的最多,你要是初学者的话建议你看清华大学出版社的java书籍,他们出的书主要针对初学者,内容浅显易懂,初学者研究很好的。给你推荐几本好书1.《java编程思想》(Thinking in java)Bruce Eckel(著)2.《JAVA2核心技术卷一卷二》3.《JAVA面向对象编程》4.《JAVA2入门经典》5.《Java编程艺术》还有很多名字记不清了,上面是我推荐的基本JAVA教学书籍 在业界比较出名的都是专家写的,希望对你的学习有所帮助,但还是建议你看教学视频,那样还比较好理解,去电驴上下载吧有《尚学堂的java所有教学视频》。
4. java入门的书籍
《Java编程思想》
这本书适合开发过一两个项目,对java已经有一定的了解的人。
这本书首先不是java的入门书,虽然这本书介绍了一部分语法,但是更多内容是java特性的讲解,里面的用例水平非常高,对于面向对象讲解,接口,内部类,容器,多线程,I/O的讲解很透彻同时又很深刻,他会告诉你,在什么情况下你应该作何选择。以及各种选择的利弊。这本书不适合从头看到尾,适合在迷惑不解的 时候,带着疑问去翻,让你的求知欲带着你去看书,而不是给自己定一个Java编程思想的读书计划。
《深入剖析Tomcat》
试读人群:做过两三个项目,对面向对象设计有一定了解,设计模式似懂非懂,想好好看看什么是面向接口编程,对serlet的加载,映射,及整个http请求处理流程感兴趣,不能容忍自己的知识体系存在黑箱的人。认为Java后台开发仅仅是CRUD的人。
Tomcat大家都很熟悉了,不论我们做的课程设计的小项目,还是淘宝天猫等每天PV访问量过亿的大型网站都在用,你还敢瞧不起它吗?还是认为入门的技术 不值一提吗?
你可能更换数据库框架,mvc框架,容器,但是很少有人换掉Tomcat。为什么,因为她是一个优秀的设计(帮你做了很多,但在可定制性方面不如Jetty)。
这本书从一个简单的socket B/S 程序入门,作者从头编写连接器,处理器,请求(request),处理(response)开始讲解tomcat的设计理念,中间讲Tomcat4及5的源码,讲解tomcat核心的设计 Container 四大容器 ,然后讲解tomcat安全,权限,以及配置文件的读取,java对象的管理 ,定制性Tomcat 项目管理的后台(就是你访问tomcat路径的根路径进入的管理网站)。这本书适合于,心无旁骛,没有项目,没有太多事的情况下,对照实际的源码,一行行的读,明白处理流程,了解什么时候是优秀的代码?扩展性,健壮性
《深入理解Java虚拟机》
适度人群:想学习并发编程,反射,想了解JVM优化。闲着无聊,没项目的人
首先这本书可能有点枯燥,没有什么用,真的,对于你现在的实际项目没有直接用处,但是,你要想在java方面研究得更深,不可避免,你需要对jvm及其优化,java的内存模型,java类的加载机制,字节码文件到底是什么,以及并发编程,Java性能优化等方面有所了解。,你需要好好读这本书,可能比较枯燥,有点难,但是他值得你用心读 。
《设计模式-可复用软件的设计》 GoF(《设计模式的艺术之道》刘伟)
适读人群:有过三四大小个项目经验,想了解什么是软件,什么是程序,什么是面向对象,只有读了这本书,你才知道除了算法,性能,之外,我们还要为之奋斗是扩 展性,究其原因是:软件行业的梗,需求变更,可能项目初期的需求和项目开发后期的需求有天壤之便,但如何在设计阶段就为需求的变动做好准备,那就是对变化 的部分抽离抽象,分层,分工,虽然提高了复杂度,但是后期我们可以轻松一点,如果前期不设计好,真的 一个项目可以在需求变化面前,彻底玩完。根本无法继续开发。如果你还没接触到 需求变更,只能说你的客户不太重视他的项目,或者客户本身就是程序员自己。一个main函数一个人从头写到尾绝对不是软件。
作者从创建型,结构性,行为型三个方面详细介绍了23种设计模式,字字珠玑,耐心的看,耐心的 理解,把这本书和Java编程思想放在一起,没事就翻翻看,没准哪一天你在写程序,发现,如果 我这么设计,后面的开发我可以非常轻松的。那时,你一定要感谢作者总结了这些设计模式。可能GOF的书距今不叫遥远,设计案例比较陈旧,所以可以同时看《设计模式的艺术之道 》这本书同样不错,例子可能更容易理解一些。
软件行业的圣经之作,只要你做技术,你应该时常翻翻看。
《JavaScript编程全解》(JavaScript高级程序设计)
适读人群: 学会基本的 javascript dom编程,jquery,做过两三个项目,但是没有系统的学习javascript,总是在为一些语法,或者莫名其妙的 错误烦恼的人,这本书绝对适合你,应为他就是写给java程序员的Javasript书籍 。
Java程序员进阶,为什么要谈JavaScript,我个人不喜欢JavaScript,应该我找了半天错,可能就是因为一个简单的语法错误,还有就是只能操作控件,我一直希望前端人员可以帮我做这些事,后来发现这几乎不可能,JavaScript还得自己写,可能以后工作之后,更得自己写,所以我想系统学习下 script,后来这本书真的没有让我失望,这本书后面高级部分还没来得及看,但是仅仅在讲述JavaScript的语法特性,就有一种如沐春风的 感觉,良心之作 。
有事没事的可以看看。当然这本书并没有侧重于dom编程,可能我们做的更多是dom编程,所以我还推荐你可以看看JavaScript高级程序设计。我看我们前端美女帅哥 都在看这书,应该还不错 ,就是有点厚,但是说明讲的详细,可以做工具书。
《深入分析javaweb技术内幕》
适读人群:做过三四个项目,看过上面的 深入剖析Tomcat,深入理解Java虚拟机,设计模式,使用过Spring,mybatis的读者。
这本书的水平真是很高,说实话,看这本书的时候,我几乎流下了眼泪,我能感受到作者真的是用心在写书,不是为了出版赚版权费,不是为了装X,而是真的是希望自己当年吃过的苦,别人能少吃一点,别人可以学的更轻松。尤其是作者的细致认真,用工匠精神来说,一点不为过,同时再加上当时看Tomcat源码时的感想,可以总结 一句话,一个优秀的程序员在每一个细节都精益求精。在他们的知识体系里,永远不能容忍一个小漏洞存在,在细节处着手,踏踏实实的写好每一行代码。把每一个有疑问的点都在合适的时机解决掉。作者在细节上击败了我。
同时不光在细节上,作者详细讲述了 Javaweb中 的技术方向,多得数不清,但是每一章你都感觉不到 作者的 疏漏与不足。博广精专,这就是本书的作者 值得我们学习的
本文目录大概包括Java I/o ,字节码,编译,jvm,tomcat,spring,ibatis,等等。
《重构改善既有代码的设计》
适读人群:挣扎于需求剧烈变更,维护升级的孩子们。
这本书与设计模式并成为软件行业的两本圣经,虽然我不这么认为,但是毋庸置疑,当你看完这本书,之后,你会更关注你写的 代码的的结构,这两本书都是让我们可以写出可维护,可扩展,健壮性强的代码,这本书就是教你如何修改代码,如何修改 能够引入更少的错误,同时更加容易维护。作者讲述很多的技巧,实用性极强,但是如果 你写的项目 变动不是很大,或者没有一些修改代码的苦痛的经历,可能体会不会很深,这是一本独立性比较强的 书,看一看是绝对值得的。
《操作系统设计 xinu方法》
适读人群:学习完操作系统课程,想深入了解下操作系统内部的细节,如何实现线程调度,内核态用户态转化到底是什么,消息循环,进程 管理,等等,你都可以看。
这是一本用C语言写的书,但是身为Java程序员,最起码得会C语言,看了这本书有什么好处呢,说实话,对Java的面向对象开发没有什么帮助,他的帮助仅仅是在于你对 操作系统的了解更加深刻,当你去看JVM的 时候,可能会轻松一点点,同时他也在告诉你,其实操作系统并没有那么高不可攀,你就可以从源代码级别看懂操作系统。同时可能,我觉得当你编写程序到一定级 别后,走上架构师之路,操作系统绝对是知识体系中不可避免的一个重要环节。现在可以打个基础。这本书适合于操作系统课程上完一大半之后在读。
一点都不难,真的!
《超越传统的软件开发-极限编程的幻想和真实》(《解析极限编程-拥抱变化》《人月神话》)
这三本书都是软件工程 方向的书籍,关注于如何构造高效开发流程。在这方面我懂得很少 ,我会找别人再来给大家完善这方面的 知识,但是这三本书肯定都不难,有过项目领导经验 的人来看,收获一定会更多,其他人随便看看,你会收获很多,例如 ,测试先行,结对编程,螺旋开发,循环迭代,不断优化的理念。等等
《Java程序性能优化》
适读人群:做项目 三四个以上,了解java内存模型,以及初步掌握多线程编程,再有就是速度狂们。
这本书从一些编程技巧,性能优化的理念,以及多线程并发编程 的一些 设计模式入手,讲解了如何找到项目性能的瓶颈,如何提升系统吞吐量,从细粒度,编程角度去思考这些问题,(而不是分布式处理),真的尤其是后面的多线程部 分,如沐春风,激起了我对并发 编程的兴趣。
《Java并发编程》(《java多线程编程的艺术》)
适读人群:想深入学习并发编程,对 jvm内存模型有了解(深入理解jvm虚拟机内本书很重要) 速度狂 ,对java已经有了不错的感觉,感觉 可以代码水平需要更上一层楼的人
Java并发编程是Java并发包的作者写的,java.util.concurrent 大名鼎鼎,很有名的,学习并发编程的圣经之作,但是不太适合入门,入门需要看看后面的java多线程编程的艺术,一行行的代码,一个个的小技巧,慢慢来,并发编程绝对是是否是高级程序员的一个评判标准。
Java并发编程,你应该时常翻翻看 。
《深入分析Spring 技术内幕》
适读人群:熟悉精通设计模式,对面向接口,对象编程特别有感觉的人。时间充裕
这本书,让我为之震颤,震颤的原因不是因为 这本书讲解多么细致,清晰,而是Spring的开发团队为什么把Spring搞得这么复杂,面对 一个个的UML图,我真的是很捉急,表示看不懂,可能是我本人比较笨。但是要想读懂这本书,还真需要长时间的阅读,思考。但是
正如那句话,当你感觉生活艰难的时候,可能你在拔一个大萝卜,当你真的透彻了Spring,你就不可限量了。国内,应该没有比这本书更系统从源代码级别详细讲解Spring的了。
《EJB3.0 入门经典》
适读人群: 闲着没事的人.
这本书放在最后,不是因为他重要,而是因为这本书无关紧要,为什么呢,因为现在的开发,可以不适用EJB,但是你了解他之后,你就明白了什么是分布式程序,什么是程序的分布式部署。同时你还会知道除了Spring容器还有一种容器叫做 EJB,而是还是J2ee的嫡长子,还会明白,为什么在j2ee领域让野孩子Spring抢了风光。当你学会对比学习两个 框架的时候,可能你真的是一个 大神了。Spring和EJB就是可以对比的。SpringMVC和Struts,
Hibernate和mybatis, 等等,只有学会对比,才会看得更加广阔.但首先还是要踏实
《架构探险,从零开始Javaweb框架》
适读人群:想写框架,对反射,对集合比较熟悉的人;
你 可以把这本书,当做自己设计框架的 入门书,可以看到一个框架的编写是多么的简单,你应该也学会参与开源项目,这本书不难,但是需要用心去读。需要 边看边敲代码。什么是Aop,事务处理,mvc框架,等等等等,作者的编码水平高,实在太高,同时讲解的也很透彻
《j2ee核心模式》
适读人群:闲着没事,想开发框架的大神
这是Sun公司出版的一本书,对于J2ee的 开发非常有指导性,里面总结了一些非常实用经过实践检验的设计思想,设计技巧,有很多你应用了但是你没有注意到,例如,一个不好的实践是控制层有太多的逻 辑代码,这种情况下,视图层需求的变动很容易影响到控制层,而你如果利用好”传输对象“这个设计技巧,就可以把需求变化控制在业务处理层和视图层,
(传输对象正如其名,仅仅是一个容器,里面载入了大家需要的各种数据)
有很多你使用的框架应用了,你也没有注意到,例如前端控制器模式
我在做微信开发的时候就不曾理解微信为什么只能定义一个接口,后来的实践告诉我
正是这种模式,才能让我们的控制层与Servlet解耦,我们借助于这个前端控制器拦截请求,
将请求转发到我们的控制器中,甚至你有兴趣可以自己封装request,response,等,事实上
SpringMVC框架就是利用了前端控制器DispathcerServlet将请求映射到controller中。
这本书后面还会介绍jsp中的一些优秀实践,EJB的实践,EJB这部分可以看看数据处理部分。
但是可能没有做过EJB项目的读者,不会收获太多。
《高性能MySQL》(Mysql技术内幕-Innodb引擎)
适度人群:熟练使用Sql,有一般数据库设计经验,对索引,mysql原理,及常用优化方法感兴趣,以及有志于成为DBA的同学。
谈java还是离不开数据库的,开发中会遇到很多数据库相关问题,尤其是索引部分,这本书介绍的很是透彻,从数据类型,索引原理,联合索引设计的陷阱,常用优化方法,等方面来谈,都是可以直接应用到实际工作中的经验。对于后面偏架构运维章节,可根据个人兴趣工作需要而定。
第二本书偏原理,能直接应用于工作的很少,但是读完之后,还是让人感觉思维焕然一新,可能感受一下mysql的设计,对于自己以后设计类似功能(事务实现,缓冲池实现,todo ,undo..,锁.等)会有很大借鉴意义。
5. java入门买什么书好
初级建议用书Head first Java和Java核心技术,还有就是要学一下Spring, 并把设计模式学好。平时有空多看看计算机网络和操作系统等知识。Java编程思想初期不是那么好理解,学起来会比较枯燥乏味,建议作为进阶书籍使用。
6. java入门经典书籍
一、Java从入门到精通《Java从入门到精通(第3版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。《Java从入门到精通(第3版)》编辑推荐:“软件开发视频大讲堂”丛书系清华社“视频大讲堂”重点大系之一。该大系包括多个子系列,每个子系列的图书在其同品种的图书中销售名列前茅,
二、Java核心技术(卷1):基础知识Java领域最有影响力和价值的著作之一,与《Java编程思想》齐名,10余年全球畅销不衰,广受好评;2)根据Java SE 7全面更新,系统全面讲解Java语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强
三、Java编程思想《Java编程思想(第4版)》书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Iava’UO系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。
四、深入理解Java虚拟机:JVM高级特性与最佳实践第1版两年内印刷近10次,4家网上书店的评论近4?000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的改进:根据最新的JDK 1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和最佳实践;增加了若干与生产环境相结合的实战案例;对第1版中的错误和不足之处的修正;等等。第2版不仅技术更新、内容更丰富,而且实战性更强。五、Sun 公司核心技术丛书:Effective Java中文版在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。第2版反映了Java 5中最重要的变化,并删去了过时的内容。
六、图灵程序设计丛书:Java程序员修炼之道《Java程序员修炼之道》分为四部分,第一部分全面介绍Java 7的新特性,第二部分探讨Java关键编程知识和技术,第三部分讨论JVM上的新语言和多语言编程,第四部分将平台和多语言编程知识付诸实践。从介绍Java 7的新特性入手,《Java程序员修炼之道》涵盖了Java开发中最重要的技术,比如依赖注入、测试驱动的开发和持续集成,探索了JVM上的非Java语言,并详细讲解了多语言项目, 特别是涉及Groovy、Scala和Clojure语言的项目。此外,书中含有大量代码示例,帮助读者从实践中理解Java语言和平台。
七、Head First Java(中文版)《Head First Java》(中文版)(第2版)是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。
八、Java 7入门经典《Java 7入门经典》是关于Java语言讲解最为细致、全面的入门书籍,介绍了使用最新的Java JDK 7开发程序所需要的所有基础知识。书中包含大量的示例,清晰地解释了涉及的关键概念,演示了Java开发的复杂细节。