基本信息
编辑推荐
会熟练编写Java代码并不意味能顺利通过大公司对程序员的面试,扫清知识死角,夯实基本功方可成为一名合格的程序员。李刚老师在书中将Java程序员经常遇到的问题、难点分类梳理,透过现象告诉你隐藏在代码背后的本质,助你从容应对职场挑战。
内容简介
计算机书籍
《疯狂 Java 程序员的基本修养》归纳了Java学习者、工作者在学习、工作过程中最欠缺的技术短板,本书把Java编程中的重点、要点、难点、常见陷阱收集在一起,旨在帮助读者重点突破这些看似“司空见惯”的基本功。
《疯狂 Java 程序员的基本修养》知识主要分为四个部分,第一部分主要介绍Java程序的内存管理,这部分是大多Java程序员最容易忽略的地方——因为Java不像C,而且Java提供了垃圾回收机制,因此导致许多Java程序员对内存管理重视不够;第二部分主要介绍了Java编程过程中各种常见的陷阱,这些陷阱有些来自于李刚老师早年痛苦的经历,有些来自于他的众多学子的痛苦经历,都是Java程序员在编程过程中的“前车之鉴”,希望读者能引以为戒;第三部分主要介绍常用数据结构的Java实现,这部分内容也是大多Java程序员重视不够的地方——因为许多初级程序员往往会感觉:数据结构对实际开发帮助并不大,但实际上,我们每天开发都会使用数据结构,只是经常利用别人的实现而已;第四部分主要介绍Java程序开发的方法、经验等,它们是李刚老师多年的实际开发经验、培训经验的总结,更符合初学者的习惯,更能满足初学者的需要,因此掌握这些开发方法、经验可以更有效地进行开发。
《疯狂 Java 程序员的基本修养》提供了配套的网站:http://www.crazyit.org,读者在阅读该书过程中遇到任何技术问题都町登录该站点与李刚老师交流,也可与疯狂Java图书庞大的读者群交流。
《疯狂 Java 程序员的基本修养》不是一本包含所有技术细节的手册,而是承载了无数过来人的谆谆教导,书中内容为有一定的Java基础的读者而编写,尤其适合于有一到两年的Java学习经验的读者和参加工作不久的初级Java程序员,帮助他们突破技术基本功的瓶颈。
作译者
疯狂Java实训营创始人,疯狂Java体系图书作者。曾任LITEON公司J2EE技术主管,负责该公司的企业信息化平台的架构设计。
51CTO专家门诊特邀嘉宾。
曾任广州电信、广东龙泉科技等公司的技术培训导师,广东技术师范学院计算机科学系的兼职副教授。
培训的学生已在华为、IBM、阿里软件、网易、电信盈科等名企就职。
国内著名高端IT技术作家,已出版《疯狂Java讲义》、《疯狂Android讲义》、《轻量级Java EE企业应用实战》、《疯狂Ajax讲义》、《疯狂XML讲义》、《经典Java EE企业应用实战》、《疯狂HTML 5/CSS 3/JavaScript讲义》、《Struts 2.x权威指南》等著作。其中疯狂Java体系图书均已得到广泛的市场认同,多次重印成为超级畅销书,并被多所“985”“211”院校选作教材。部分图书已被翻译成繁体中文版、授权到台湾地区。
目录
第1章 数组及其内存管理 1
1.1 数组初始化 2
1.1.1 Java数组是静态的 2
1.1.2 数组一定要初始化吗 5
1.1.3 基本类型数组的初始化 7
1.1.4 引用类型数组的初始化 9
1.2 使用数组 12
1.2.1 数组元素就是变量 12
1.2.2 没有多维数组 14
1.3 本章小结 20
第2章 对象及其内存管理 21
2.1 实例变量和类变量 22
2.1.1 实例变量和类变量的属性 23
2.1.2 实例变量的初始化时机 26
2.1.3 类变量的初始化时机 30
2.2 父类构造器 32
2.2.1 隐式调用和显式调用 32
2.2.2 访问子类对象的实例变量 34
2.2.3 调用被子类重写的方法 37
前言
问题是:这种“快餐式”的程序员、“突击式”的程序员真的满足要求吗?如果仅仅满足于这些简单的、重复式开发,他们也许没有太多的问题,但他们可能很少有突破的机会。究其根本原因,很大程度上是因为他们的基本修养不够扎实。对他们而言,与其说Java是一种面向对象的语言,不如说更像一种脚本;他们从源代码层次来看程序运行(甚至只会从Eclipse等集成开发环境中看程序运行),完全无法从底层内存分配的角度来看程序运行;他们天天在用Java类库、用Struts、用Spring,但对这些东西的实现知之甚少——这又如何突破自己、获得更好的提高呢?
鉴于此种现状,“疯狂软件教育中心”训练过程中除了采用大量的实际项目来驱动教学之外,往往会花时间、精力来培养学员的基本修养。比如讲授Spring框架,如果只关注编写Bean类、配置Bean,一天就足够了。而笔者往往会深入Spring框架的底层实现,带领学生从工厂模式、策略模式、门面模式、代理模式、命令模式的角度来深度分析Spring框架实现,然后进行对比,总结Spring框架的优势到底在哪里?不使用Spring框架是否有替换解决方案?进而感受设计模式对实际开发的帮助。
上面这些内容,看似“高深”,但其实质依然离不开Java编程的基本功。完全可以这样说:一旦读者真正把基本功打扎实了,将可以看得更高、更透彻。
在这样的背景下,笔者想将自己多年的一些经验、总结通过本书与大家分享,希望把自己多年积累的经验、心得表达出来;把自己走过的弯路“标”出来,让后来者尽量少走弯路。
本书内容
本书第一部分主要介绍Java内存管理相关方面的知识,内存管理既是Java程序员容易忽视的地方,又是Java编程的重点。实际上,许多有一定编程经验的Java开发者,自然而然就会关心垃圾回收、内存管理、性能优化相关内容。无论学习哪种语言,如果能真正从程序运行的底层机制、内存分配细节、内存回收细节把握程序执行过程,这样才能有豁然开朗的感觉,本书第一部分正是旨在帮助大家更好地掌握Java内存管理相关知识。
本书第三部分所介绍的常见数据结构、排序算法的Java实现,则是笔者一直想介绍的内容——也许你初涉编程时感受不到这些经典算法的用途,因为你可以直接利用别人的实现;但如果你希望突破自己,上升到另外一个高度时,你就不可避免地需要自己开发类库,而不是总使用别人的类库,那这些经典算法的作用就显现出来了。
本书第二部分和第四部分则主要来自于参加“疯狂软件教育中心”的学生,正如每个动手编程的初学者,他们都曾经遭遇过各种各样的陷阱,笔者总是提醒他们应该将这些陷阱收集起来,以免再次陷进去。本书第二部分收集了Java编程中各种常见的陷阱;第四部分的内容则解决了他们进入实际开发之前的困扰,包括程序开发的基本方法,有效进行程序调试的方法,如何看待、使用IDE工具,软件测试等相关内容。
本书源代码的下载地址为:http://www.broadview.com.cn/19232。
本书写给谁看
如果你想从零开始学习Java编程,本书不适合你。如果你已经学会了Java基本语法,动手编程却感到困难重重,或者你已经是一个Java程序员了,实际开发中却感觉力不从心,本书将非常适合你。本书会帮助你找出自己的技术短板,提升Java编程的基本修养。
媒体评论
从流程控制、异常处理、面向对象等领域逐一剖析技术陷阱,李刚老师在书中将自己和学生曾经走过的弯路“标”出来,让后来者尽量少犯同样的错误。
分享编程心法,助你提升“内功”
以师长的角度向读者分享实际开发流程中如何选择提升开发效率的工具、怎样的心态有助于程序的开发、如何降低人为错误、如何进行软件测试等,真正做到“手中无剑,心中有剑,人剑合一”。