head first java 这本书适合完全零基础的人学习吗

请登录查看
在众多语言中,java都以较大优势领先其他语言,跻身最热语言排名前列,学习java的人不计其数。除了学校和培训机构,知识来源的最好途径就是看书了。对于想要成为java程序员或者已经成为java程序员的人来说,最纠结的一件事可能就是想要看一些自学的java书籍但是选择的范围实在是太大了,不知从何读起才能进阶提升自己的技术,当然,经验老道的程序员已经为我们整理出来一些适合自学的java书籍并按照由浅至深的顺序进行推荐,一起来看看详细的介绍吧:一、入门基础类1、Head First Java 第2版·中文版如果你没有学过其他语言亦或是转行到计算机行业,可以先看看《Head First Java》这本书,此书是根据学习理论所设计的,非常适合零基础的小白, 读起来轻松搞笑,让你可以从程序语言的基础开始一直学习到包括线程、网络与分布式程序等项目。最重要的是,你将学会如何像个面向对象开发者一样去思考。本书的亮点在于不是让你只是读死书,你可以通过玩游戏、拼图、解谜题以及一些意想不到的方式与Java交互。在这些活动中,你会写出一堆真正的Java程序,包括了一个船舰炮战游戏和一个网络聊天程序。本书图文并茂的学习方式能让你快速地在脑海中掌握住java知识。2、Head First 设计模式(中文版)看完了《HeadFirst Java》,还推荐另一本HeadFirst系列的书《HeadFirst 设计模式》。简单有趣、还能把关键的东西说明白,又不会被突然出现的一堆概念绕晕。入门书最关键的一点,是别把学习者吓走!本书可以让读者快速掌握概念、培养兴趣。《HeadFirst Java》作为一本设计模式的入门学习书籍,绝对没错。3、java从入门到精通 第4版本书从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。本书内容详尽,实例丰富,非常适合作为编程初学者的学习用书,也适合作为开发人员的查阅、参考资料。4、Java编程思想在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。5、Java 核心技术:卷1 基础知识口碑最好的官方机构Java教程,系统全面讲解Java语言的核心概念、语法、重要特性和开发方法,内有大量程序实例,内容翔实、客观准确,不拖泥带水极具实用价值,你怎么也得有一本。这本书比较全面而且易懂,放在案旁用到的时候查一查,看一看,是Java初学者和Java程序员的必备参考书。6、Java数据结构和算法 第2版《Java数据结构和算法》以一种易懂的方式教授如何安排和操纵数据的问题,其中不乏一些难题:了解这些知识以期使计算机的应用获得最好的表现。不管使用何种语言或平台,掌握了数据结构和算法将改进程序的质量和性能。&这本书提供了一套独创的可视讨论专题用以阐明主要的论题:它使用Java语言说明重要的概念,而避免了C/C++语言的复杂性,以便集中精力论述数据结构和算法。经验丰富的作者RorbertLafore先生提供了许多简单明了的例子,避免了对于这类例题常见的冗长、繁锁的数学证明。在每一章后都有问题和练习,使读者有机会测试自己的理解程度。这本书目前基本断货,足以说明抢手程度。作者主要使用Java语言描述了我们常用的数据结构,值得一看。7、Java开发实战经典这本书中的代码和案例较多,知识点也比较全面,在实际开发的过程中来讲解一些基础内容,对于新手而言很实用。《Java开发实战经典》是一本综合讲解Java核心技术的书籍,在书中使用大量的代码及案例进行知识点的分析与运用,并且给出一些比较成熟的开发步骤,帮助读者更好地进行Java的开发。本书真正地做到了让每一位读者都能清楚地知道每个知识点的来龙去脉,不仅可以很容易地看懂一个程序,而且能真正地灵活运用程序,编写代码,让每一位读者真正做到“轻松学Java、从零开始学Java”。“注意”、“提示”、“问答”是《Java开发实战经典(名师讲坛)》的一大特色,通过这样的方式,可以让读者进行更加全面的思考,这些特色中还包含了不少在Java面试中有可能遇到的问题,这让每位读者在打好基础、巩固技术之余,也能为面试提供强有力的支持。二、中级进阶类1、Effective java 中文版 第2版《Effective Java中文版》的作者是Joshua Bloch,这个人就很厉害了,他是谷歌的首席架构师,属于超级技术大牛级别了吧,这本书的知名度 以及其作者的来头来看(多提一句,这本书也是Java之父James Gosling博士推崇的一本书),这是一本值得一看的好书。本书介绍了在Java编程中78条极具实用价值的经验规则,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码,并通过例子代码加以进一步说明,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。2、Java并发编程实战本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类,非常适合Java程序开发人员阅读。3、编写高质量代码:改善Java程序的151个建议国人原创作品。内容全部由Java编码的最佳实践组成,为Java程序员如何编写高质量的Java代码提出了151条极为宝贵的建议。对于每一个问题,不仅以建议的方式从正反两面给出了被实践证明为十分优秀的解决方案和非常糟糕的解决方案,而且还分析了问题产生的根源,犹如醍醐灌顶,让人豁然开朗。4、重构 改善既有代码的设计重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。本书也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与本书最初出版时不可同日而语,但书中所蕴涵的意味和精华,依然值得反复咀嚼,而且往往能够常读常新。5、深入分析Java Web技术内幕作者是2009年加入淘宝的许令波。全面、深入地阐述了Web前端、Java和Java服务端技术。《深入分析Java Web技术内幕》围绕JavaWeb相关技术从三方面全面深入地进行阐述。首先介绍前端知识,主要介绍JavaWeb开发中涉及的一些基本知识,包括Web请求过程、HTTP协议、DNS技术和CDN技术。其次深入介绍Java技术,包括I/O技术、中文编码问题、Javac编译原理、class文件结构解析、ClassLoader工作机制及JVM的内存管理等。最后介绍Java服务端技术,主要包括Servlet、Session与Cookie、Tomcat与Jetty服务器、Spring容器、Ibatis框架和Velocity框架等原理介绍。6、大型网站系统与Java中间件实践作者是蘑菇街技术副总曾宪杰,曾长期负责淘宝主站。通过这本书可以了解大型网站架构变迁过程中的较为通用的问题和解法,并了解构建支撑大型网站的 Java 中间件的实践经验。对于有一定网站开发、设计经验,并想了解大型网站架构和支撑这种架构的系统的开发、测试等的相关工程人员,本书有很大的参考意义;对于没有网站开发设计经验的人员,通过本书也能宏观了解大型网站的架构及相关问题的解决思路和方案。三、高级深入类1、深入理解Java虚拟机非常难得的国人原创JVM实践性图书。“其中穿插的经验、技巧、案例、实战处处都可见作者的实践之中积累的功力。”此书与Bill Venners的老书《深入Java虚拟机》很大程度上是互补的,可以参看。第1版两年内印刷近10次,4家网上书店的评论近4?000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的改进:根据最新的JDK 1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和最佳实践;增加了若干与生产环境相结合的实战案例;对第1版中的错误和不足之处的修正;等等。第2版不仅技术更新、内容更丰富,而且实战性更强。《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。2、企业应用架构模式作者将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。《企业应用架构模式》获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖。《企业应用架构模式》分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是《企业应用架构模式》的主体,是关于模式的详细参考手册,每个模式都给出使用方法和实现信息,并配以详细的Java代码或C#代码示例。此外,整《企业应用架构模式》中还用了大量UML图来进一步阐明有关概念。《企业应用架构模式》是为致力于设计和构建企业应用的软件架构师、设计人员和编程人员而写的,同时也可作为高等院校计算机专业及软件学院相关课程的参考教材。3、Java性能权威指南Java性能方面的新书,可能也是最好的一本。不仅讲述了对什么进行优化,如何优化,还阐述了大量然后编写高效代码的最佳实践。虽然篇幅小一些,但比Oracle官方的那本内容博杂的《Java性能优化权威指南》其实更深入。市面上介绍Java的书有很多,但专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。通过使用JVM和Java平台,以及Java语言和应用程序接口,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,最终使程序如虎添翼。
意见反馈:
联系方式:
广告等垃圾信息
不友善内容
违反法律法规的内容
不宜公开讨论的政治内容假如时光倒流,我会这么学习Java
来源:博客园
回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般, 但是分享下我的心得,估计也能帮大家少走点弯路。 [入门] 我在2001年之前是C/C++阵营, 有C和面向对象的基础, 后来转到Java ,发现没有指针的Java真是好简单, 另外Java 的类库好用的让人哭啊。 后来我就看《Thinking in Java》 ,《 Java 核心技术 》, 感觉也不吃力。 如果我之前没学过别的语言,或者半路出家转到计算机行业, 我不会先看上面那两本, 相反我会选《Head First Java》, 这本书非常适合零基础的小白, 读起来轻松搞笑, 不信你看看第一页 但是光看书也挺无趣的,不妨和视频结合着看, 我觉得传智播客的Java基础视频很不错 (唉, 给传智打了个广告), 网上一搜就有,真搜不到就来我的QQ群里吧(群号码:) 注意:视频的好处就是能看到敲代码的过程, 代码是活的, 这点很爽。 如果视频只是按PPT讲编程, 果断扔掉。 书也有书的好处,能写成书的, 肯定是作者经过系统化思考,梳理才能形成的东西, 所以系统性比较强。 书还有其他优点, 例如可以随便的翻, 找到重点反复的看。 所以混合着看经典书+优秀的视频 应该是最好的入门。 Java 入门, 我不会去上培训班,白白浪费钱 ,自学就够了。 自学过程中如果有实战经验丰富的高人指导一下, 给我绘出路线图, 指出攀登的方向,哪些地方有陷阱, 哪些地方不应该浪费时间, 我的自学就可以减少摸索,少走弯路, 很不幸, 我当年没有遇到, 如果时光倒流, 我会想办法找一个来指导我。 [实践] 软件行业的一大特点就是光看不做永远都学不会,编码不到10万行都不好意思出去打招呼。 所以实践,实践,实践! 在校期间,我还是会尽可能的去找项目做(参见我的另一篇文章《从现在开始丰富你的简历》, 回复“简历”查看) , 实在没找到,也可以先把基础打好 我上大学的时候用的是严蔚敏的《数据结构》, 当时我也把习题都做了一遍,考高级程序员的时候, 成绩非常好。 后来我知道了一本更好的算法入门书《算法》, 如果时光能够重来, 我还是会这本书上提到的所有数据结构和算法用Java 都实现一遍, 课后作业也争取都做一遍。 这是个非常重要的训练,因为我知道, 真的做了, 就会发现工作以后只要不是设计算法, 基本的数据结构没有能难住我的。 【Java SE】 对于Java集合框架, 不但要学会用, 我还会尝试着实现一遍,List, ArrayList, Set ,HashSet, Map ,HashSet 等等, 要是不知道怎么写, 看看JDK的源码就可以了, 那里有最好的老师。 实现一遍能更好的明白面向对象的设计, 接口,抽象类, 具体类的关系, 怎么分离职责,会学习到设计模式中的模板方法, Iterator 等 。 值得一提的是Iterator, 很有趣, 我还清楚的记得那一年自己实现集合框架中 Iterator 的时候的激动心情啊 :-) 在实现Java 集合框架的时候, 可以顺便把泛型也学了, 不学不行,要不然实现不了啊。 Java 世界里,万事万物都是对象, 大家都知道封装,继承,多态, 但是仅仅了解这些只是入了门, 不可能做出真正的面向对象的程序。 有一本经典的书《敏捷软件开发, 原则,模式,实践》,里边详细的讲解了一个薪水支付案例,是迄今为止最好的面向对象设计的例子 我会用Java 把它实现一遍, 真正的体会一下OOD, 了解怎么才能把合适的责任分给合适的类, 什么叫面向接口而不是面向实现编程, 什么是优先使用组合而不是继承。 对于Java线程, 重点还是理解概念, 因为我知道在以后的工作中(除非从事系统级编程) ,自己写线程/线程池的机会是非常罕见的,都被类库,框架给封装好了。所以重点是理解, 看书的话就当然是《Java并发编程实战》 ,一大群大牛写的啊。 对于Java IO, 我觉得架构设计的很优雅,典型的学院派, 可就是不太实用, 打开读取一个文件都得用装饰者模式包装来包装去, 太累了。 项目实战中呢,也就是读取个property 文件, xml 文件。 我还是重点去理解概念和设计吧。 不过自己写个简单的xml 解析器倒是不错。 至于 AWT, Swing , 简单看看就行了, 我不会去深入研究, Java 是典型的服务器端的语言, 开发客户端程序的极少, 你想想, 你用Swing/AWT搞个桌面程序出来, 还得让客户装个JRE才能运行, 是不是有点过分 ? 据我所知,也即是银行的一些应用在用Swing ,AWT了。 有人可能说 Applet, 它曾经流行过, 现在早都没人用了。 所以我不会在Swing和AWT上浪费时间。 Java Reflection 看起来没有集合框架,线程,OO等那么耀眼, 但它可是很多框架(SSH) 的基础啊(回复“反射”查看相关文章), 先把基础学会,后面的Java EE得用到它。 想真正的学好Java ,不了解Java 虚拟机怎么可能? 《深入理解Java 虚拟机》一定得看,看完的目标就是写个简单的Java 反编译器。 【做个有素养的Java码农】 我记得08的时候, 我的IBM经理说设计模式是必备技能, 不懂设计模式的我们不能要了。 所以设计模式是必学, 其实Java里边用的非常多,简直就是设计模式的活教材, 工厂方法,单例,模板方法, 装饰者,责任链都有体现。 当然我会去先看一下轻松的《Head First Design》, 《设计模式》的作者之一 Eric Gamma 都大力推荐, 绝对不容错过。 又过了几年, 我的IBM经理又说,现在我们默认设计模式大家都会了, 敏捷实践是必备技能 ! 所以, JUnit 我得会, 重构我得会, TDD,持续集成这些最最基本的敏捷实践也得知道, 要不然会被人鄙视啊。 作为一个有追求的Java码农, 我写代码的时候要遵循Java 的编码规范,例如类名首字母大写, 报名要小写, 方法名要首字母小写...等等。 作为代码洁癖, 我受不了脏代码, 我会不断的打磨自己的代码,直到它像一个工艺品。 Java 的最佳实践 《effective java》 怎么能错过? 里边满满的全是JDK的作者们总结出来的java 编程最佳用法。 不过翻译的实在是不咋滴, 很多句子都得仔细的琢磨一下才知道什么意思, 所以我打算录一系列视频讲解一下,敬请期待。 【Java EE】 走了这么远, 终于来到Java EE了, Java 不就是写服务器端的Web应用的吗? 我会自己写个Web程序, 可以考虑把上面提到的经典的薪水支付案例改造成Web 版, 用最基础的技术Servlet/jsp/jdbc 。 然后 研究struts, 自己写个简单mvc框架, 在自己的Web 程序中用起来, 这叫吃自己的狗粮。 然后研究Hibenete , 自己写个简单的OR mapping框架, 再吃一次自己的狗粮。 然后读一下经典的书《J2EE development without EJB》 , 对,就是spring 的作者Rod Johnson写的, 它颠覆了大家对于重量级EJB的认识, 开启了新的时代。 有了这本书的铺垫, 自己写个简化的依赖注入也不是难事, 写好后还是在自己的Web程序中用起来, 最后一次吃自己的狗粮。 等你做了就知道, 所有这些,都依赖Java Reflection。 再往后走, 就应该是找真正的项目做, 或者去找实习了, 那是另外一个话题了,以后再聊。 【阅读代码】 熟读唐诗三百首,不会作诗也会吟 模仿是最好的学习! 多看看大牛们的代码是怎么写的, 潜移默化,自己的武功也能提高。 我身边要是有个好师傅, 跟着他,看着他编程, 提高的该有多快啊。 在学习Java SE和Java EE的同时, 我会读一下这些源代码: JDK中的 Java Collection 源码 : 老祖宗的东西绝对经典 JUnit 源码 : 看看Eric Gamma 和 Kent beck 是怎么通过模式来创建系统的 (回复"JUnit"查看) SpringSide : 以Spring Framework为核心的,Pragmatic风格的JavaEE应用参考示例,是JavaEE世界中的主流技术选型,最佳实践的总结与演示。 国人开发的,大力推荐一下。 此外我还是会研究下本世纪初著名的Jive论坛, 虽然非常古老, 虽然源码学院派十足, 但简直是设计模式的大本营, 都是活生生的应用的例子 里边有个用代理模式实现权限控制, 让我记忆犹新。 另外如果有余力的,有兴趣的话, 当然可以阅读Struts, Spring, hibernate的源码, 甚至参与进去开发了。 如何学习Java ,这是我这么多年来的感受, 也只是我的一家之谈。 欢迎和我交流 。 学习编程从来就不是一件容易的事情, 不可能看看视频,看看书就学会, 需要大量的编程和实践。 编程虽然是极为辛苦的脑力和体力劳动, 但其中蕴含的创造的乐趣也是无与伦比的。 希望每个人都能够享受这个过程,乐在其中。 Java学习交流QQ群:
禁止闲聊,非喜勿进!
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动

我要回帖

 

随机推荐