`

推荐给初级Java程序员的3本进阶书

    博客分类:
  • Java
 
阅读更多

通过一些基础性的教程入门后,我们可以使用Java做基础性的编程。然而,当我们需要从初级提升更高的一个层次时,大多数的人却不知道从何入手。一些好的书籍在这个阶段可以很好地帮助初级开发人员。

 

 



 

Head First设计模式

这本书介绍 GoF 常用设计模式的方式引人入胜。如果只看封面很难看出来这是一本技术书籍,更不用说这本技术书籍介绍的还是面向对象编程的一些很有用的技巧。这本书采用 Kathy Sierra 式编写风格:虽然她的博客已经关了,但是还是能从前面这个链接看到一些她的文章,建议读一读。如果你周围有人认为设计模式没有什么用处,这本书倒是能够让他们改变看法。个人而言,我认为经典的 GoF 手册是一个很好的参考,但它并不是专为新手准备的。因此强烈推荐在校生(包括那些不清楚组合模式是什么的程序员们)阅读此书。

书中介绍的设计模式是程序开发中比较基本的编程模式,也是面向对象编程的程序员应该了解和掌握的。接下来要介绍的这本书则更偏向于Java语言本身,这也是我日常使用的编程语言。

 



 
 

Effective Java中文版》第二版

每个Java程序员的书桌上都应该放有这本书。让我们先了解下作者:

Joshua Bloch是Google公司的首席Java设计师,并且也是一位Jolt 奖获得者。他之前是Sun的一位杰出工程师(distinguished engineer),也是Transarc公司的一个资深系统设计师。Bloch主导了众多基于Java平台的软件系统的设计和实现,包括JDK5.0的功能加强以及获得过奖项的Java集合框架的设计实现。他同时也参与编写了《Java解惑 | Java Puzzlers》 和《Java并发编程实战 | Java Concurrency in Practice》这两本技术书。

就凭“Java集合框架开发者”这个称号,我们就应该认真听取这位值得尊敬的程序员的建议。这些建议在这本书中组织成78个点:读者可以按照自己的速度进行阅读。

  • 在复写equals和hashcode方法时,我们应该遵循什么规则?
  • 不可变类(immutable class)是什么?
  • 在特定的情况下,应当选用哪种最相关的异常类型?运行时异常(Runtime exception)还是可捕获异常(checked exception)?
  • 对于一个托管语言(managed language,详细请参考 wiki介绍),如何在混淆编译时保留(preserve)类的成员?

上面所有的问题(也包括其他74个)都有实用主义者Joshua Bloch的详细解释。读完这本书,程序员应该能意识到使用FindbugsCheckstyle这些工具的必要性了。

 



 
 

Java并发编程实战

一年前我正努力在做 UI 开发工作时(在Eclipse 插件中使用SWT/JFace,其他一些项目则使用Swing ),就看了这本书。那时,我想了解如何实现一个快速响应的UI,从而能给用户更好的使用体验。我知道自己写线程安全的代码是非常复杂的,尽管运行时间长的操作通常是一个独立的线程。UI开发和多核系统应用开发是学习如何开发线程安全的软件系统的一个很好的理由。

这本书的作者如下:Brian Goetz,Joshua Bloch(又出现这位大牛了,我们刚提到过,还记得吗?), Doug Lea(java.util.concurrent包的开发者), David Holmes,Tim Peierls 和Joseph Bowbeer

这本书的风格非常直接,有的代码在非线程安全的环境下表现不错,可一旦到了线程安全的环境下就变得十分的危险。接着,这本书介绍了基本的保证线程安全的机制:同步机制,volatile关键字等。本书还有对java.util.concurrent接口的介绍,你可以根据自己的需要来选择适合的并发集合类。这本书也介绍了程序运行时的错误管理,以及如何测试代码是否是线程安全的。而且书中还提供了说明性的注释(Annotation)(下载),这些注释通过了FindBugs的检查!

 

  • 大小: 9.3 KB
  • 大小: 7.9 KB
  • 大小: 8.5 KB
分享到:
评论

相关推荐

    Java 7编程高级进阶源代码

    Java 7编程高级进阶源代码是一份宝贵的资源,它为深入理解和实践Java 7的高级特性提供了丰富的实例。这份源代码集包含了书本中提到的各种复杂编程概念和技术的实现,旨在帮助Java开发者提升技能,从初级阶段跃升至...

    初级java程序员练习项目2——问卷调查

    【初级Java程序员练习项目2...通过这个项目,初级Java程序员可以深入理解Java的核心特性,并接触到一些进阶主题,如数据库操作和GUI设计。同时,这个项目也提供了实际编程经验,有助于提高问题解决能力和软件工程实践。

    java程序员等级图

    "java程序员等级图"具体列出了Java开发者从入门到精通的技能进阶路线,包括基本语法、面向对象编程、异常处理、多线程、集合框架、I/O流、网络编程、JVM原理、Spring框架等。随着等级的提高,开发者需要掌握更复杂的...

    Java初级程序员进阶的垫脚石

    内容包含大量干货

    Java程序员职业规划.zip

    1. **初级Java程序员**:这个阶段主要集中在学习和理解Java基础知识,包括面向对象编程概念、Java语法、异常处理、集合框架、IO流等。此外,熟悉常用的开发工具,如Eclipse或IntelliJ IDEA,以及版本控制系统如Git也...

    JavaEE程序员必读图书大推荐

    这一部分主要介绍了对于Java程序员而言最为基础且重要的几本书籍,覆盖了从入门到中级的过渡阶段。 - **《Java编程规范》** 星级:★★★★★ 适合对象:初级,中级 该书由Java之父James Gosling撰写,对于...

    Java程序员简历初级、中级、高级、架构简历模版(含多项目经验)

    1. **初级Java程序员简历**: - **基础技术**:突出Java基础知识,如语法、面向对象编程、异常处理、集合框架等。 - **项目经验**:强调在学校或实习期间的项目,可以是小型课程项目或开源项目,展示编程实践能力...

    java进阶之路 。。

    本文将深入探讨Java程序员成长的三个关键阶段——初级阶段、中级阶段以及高级阶段,并提供有效的学习策略,帮助读者在Java的道路上稳步前进。 #### 初级阶段:基础构建与实践探索 在这个阶段,初学者应致力于掌握...

    java程序员必须掌握的基础知识

    本文将详细阐述Java程序员必须掌握的基础知识,旨在帮助初学者和进阶开发者构建坚实的技术基础。 #### 一、语法 Java的语法是程序员入门的第一步,也是后续学习和开发的基础。熟悉Java语法意味着能够在遇到编译...

    JAVA程序员职场全攻略 从小工到专家

    《JAVA程序员职场全攻略 从小工到专家》是一本针对Java开发者职业生涯的全面指南,旨在帮助初入职场的程序员逐步成长为技术专家。本书涵盖了从初级程序员到高级开发者的各个阶段,提供了丰富的实战经验和技巧,是...

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

    4. 《Effective Java》:作者是 Java 的第 2 号人物,James Gosling 强力推荐的一本书,对初级、中级、高级程序员都适用。 5. 《Java 与模式》:是国人写的一本难得的好书,对中级、高级程序员有帮助。 6. 《SCJP ...

    北大青鸟ACCP 6.0 软件开发初级程序员:职业修养和进阶项目训练高级篇

    3. 分维度培养:从六个方面(业务理解、经验积累、规范性、质量控制、团队意识和软件生命周期)全面培养学员的能力。 4. 分层次深入:通过初次使用、理解加深和灵活应用三个层次的教学,使学员对知识点的掌握更为...

    Java程序员面试必备知识点总结

    适合人群:旨在为准备面试或希望提高Java编程技能的专业人士提供有用指南,无论是对于初级程序员还是资深开发者都有所帮助。 使用场景及目标:适用于Java学习阶段,帮助理解和记忆相关的关键术语和复杂理论;作为...

    java进阶之路

    java进阶之路,进阶目标,从初级程序员到中级,高级,经理,架构师,总监

    java2轻松进阶

    《Java2轻松进阶》是一本专为Java初学者和有一定...通过学习和实践书中内容,读者将能够从初级程序员逐渐成长为熟练掌握Java2的开发者,具备解决实际问题的能力,为进一步深入学习Java EE或Android开发打下坚实基础。

    java程序员的职业生涯中必经的三个阶段.doc

    Java程序员在其职业生涯中通常会经历三个关键阶段,每个阶段都有其特定的学习目标和发展重点。 **第一阶段:初入职场的三年** 在这个阶段,新晋程序员从理论知识转向实践,掌握团队合作、项目管理工具(如Git)、...

    1年初级Android程序员,3年中级,5年高级简历模板

    【标题】:“1年初级Android程序员,3年中级,5年高级简历模板”涉及的知识点主要涵盖Android开发者的技能进阶和发展历程。这份简历模板分别展示了初级、中级和高级Android开发者的技能集、项目经验和自我评价,以下...

    java 初级 中级 高级 面试题

    对于初级Java面试题,主要考察的是基础语法、面向对象编程概念以及常用数据结构和算法。这部分内容包括但不限于: 1. **Java基础**:变量、数据类型、运算符、流程控制语句(if-else、switch-case、for、while等)...

Global site tag (gtag.js) - Google Analytics