豆瓣评分
9.1
作者: 马俊昌
出版社: 机械工业出版社
出版年: 2018-1-1
页数: 675
定价: 99
装帧: 平装
丛书: Java核心技术系列
ISBN: 9787111587729
过去十几年,Java一直是软件开发领域最主流的语言之一,在可以预见的未来,Java还将是最主流的语言之一。但关于Java编程的书比比皆是,也不乏经典之作,市场还需要一本关于Java编程的书吗?甚至,还需要编程的书吗?如果需要,需要什么样的书呢?
关于编程的需求,我想答案是肯定的。过去几十年,IT革命深刻地改变了人们的生活,但这次革命还远远没有停止,在可以预见的未来,人工智能等前沿技术必将进一步改变世界,而要掌握人工智能技术,必须先掌握基本编程技术。人工智能在我国已经上升为国家战略。2017年7月,国务院印发了《新一代人工智能发展规划》,其中提到“实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育”,未来,可能大部分人都需要学习编程。
关于编程的书是很多,但对于非计算机专业学生而言,掌握编程依然是一件困难的事情。绝大部分教程以及培训班过于追求应用,读者学完之后虽然能照着例子写一些程序,但却懵懵懂懂,知其然而不知其所以然,无法灵活应用,当希望进一步深入学习时,发现大部分专业书籍晦涩难懂,难以找到通俗易懂的与学过的应用相结合的进阶原理类书籍。
即使计算机专业的学生,学习编程也不容易。学校开设了很多理论课程,但学习理论的时候往往感觉比较枯燥,比如二进制、编码、数据结构和算法、设计模式、操作系统中的线程和文件系统知识等。而学习具体编程语言的时候,又侧重学习的是语法和API。学习计算机理论的重要目的是为了更好地编程,但学生却难以在理论和编程之间建立密切的联系。
这样,我的想法基本就确定了,用Java语言写一本帮助理解编程到底是怎么回事的书,尽量用通俗易懂的方式循序渐进地介绍编程中的主要概念、语法和类库,不仅介绍用法和应用,还剖析背后的实现原理,以与基础理论相结合,同时包含一些实用经验和教训,并解释一些更为高层的框架和库的基本原理,以与实践应用相结合,在此过程中,融合编程的一些通用思维逻辑。
我有能力写好吗?我并不是编程大师,但我想,可汗也不是每个领域的大师,但他讲授了很多领域的知识,的确帮助了很多人。过去十几年我一直从事编程方面的工作,也在不断学习和思考,我想,只要用心写,至少会给一些人带来一点帮助吧。
于是,我在2016年3月创建了微信公众号“老马说编程”,开始发布系列文章“计算机程序的思维逻辑”。每一篇文章对我都是一个挑战,每一个知识点我都花大量时间用心思考,反复琢磨,力求表达清晰透彻,做到最好。写作是一个痛苦和快乐交织的过程,最痛苦的就是满脑子都是相关的内容,但就是不知道该怎么表达的时候,而最快乐的就是写完一篇文章的时候。令人欣慰的是,这些文章受到了大量读者的极高评价,他们的溢美之词、自发分享和红包赞赏进一步增强了我写作的信心和动力。到2017年7月底,共写了95篇文章,关于Java编程的基本内容也就写完了。
在写作过程中,很多读者反馈希望文章可以尽快整理成书,以便阅读。2016年9月,机械工业出版社的高婧雅女士联系到了我,商讨出版的可能,在她的鼎力帮助和出版社的大力支持下,就有了大家看到的这本书。
Java专家撰写,力求透彻讲解每个知识点,逐步建立编程知识图谱。本书以Java语言为例,由基础概念入手,到背后实现原理与逻辑,再到应用实践,融会贯通。 全书共六大部分,其要点如下。 第一部分(第1~2章)讲解计算机程序的基本执行流程与元素,以及数据背后的二进制表示,帮读者掌握编程的基本概念。 第二部分(第3~7章)讲解面向对象的编程原理与逻辑,涉及类、继承与多态、接口与抽象类、异常与常用基础类,让读者透彻了解Java的重要基础——面向对象。 第三部分(第8~12章)介绍泛型与容器及其数据结构和算法,涵盖泛型、列表和队列、各种Map和Set、堆与优先级队列等。 第四部分(第13~14章)介绍文件处理。涵盖文件的基本概念、二进制文件和字节流、文本文件和字符流、文件和目录操作,以及文件处理的一些高级技术,包括常见文件类型的处理、随机读写文件、内存映射文件、标准序列化机制,以及Jackson序列化。 第五部分(第15~20章)介绍并发,包括线程的传统基础知识和Java并发包。传统基础知识包括线程的基本概念与基本的同步、协作和中断机制;Java并发包涵盖原子变量、显式锁、显式条件、并发容器、异步任务执行服务、同步和协作工具类。 第六部分(第21~26章)介绍动态和声明式编程编程思路、API与技巧,涵盖反射、注解、动态代理、类加载机制、正则表达式、Java 8引入的函数式编程等。 这本书和别的书有什么不同? 简单来说,其他书大多教你怎么用,而这本书帮助你透彻理解,从基本概念到高层框架,剖析实现原理与JDK源代码,融合专业理论与应用实践,使你透彻理解Java编程的实现原理和思维逻辑,融会贯通。具体来说: 1)对于每个编程概念,不仅介绍了语法和用法,还分析了为什么要有这个概念,实现原理是什么,背后的思维逻辑是什么; 2)对于Java的主要API(如Java基础类、各种容器类、文件、并发包等),不仅介绍了用法、示例和应用,还剖析了大量JDK源代码,解释了其内部实现机制; 3)对于实践中常用的系统程序和框架,如键值数据库、消息队列、序列化框架、DI(依赖注入)容器、AOP(面向切面编程)框架、热部署、模板引擎等,本书利用基本API演示了其基本实现原理; 4)本书不仅注重实现原理,同样重视实用性,介绍了很多实践中常用的技术,包含了不少实际开发中积累的经验和教训,使读者可以少走一些弯路; 5)本书虽然是Java语言描述,但以更为通用的编程逻辑为主,融入了很多通用的编程相关知识,如二进制、编码、数据结构和算法、设计模式、操作系统、编程思维等; 6)本书高度注重表述,尽力站在读者的角度,循序渐进、简洁透彻、通俗易懂。
|