Java编程的逻辑

马俊昌

出版时间

2018-01-01

ISBN

9787111587729

评分

★★★★★

标签

编程

书籍介绍

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)本书高度注重表述,尽力站在读者的角度,循序渐进、简洁透彻、通俗易懂。

AI导读
核心看点
  • 不仅教语法,更剖析Java底层实现原理与思维逻辑
  • 从二进制基础到并发高级特性,构建完整知识图谱
  • 由浅入深,融合专业理论与JDK源码分析实践
适合谁读
  • 具备Java基础,希望深入理解底层原理的开发者
  • 有2-3年经验,寻求进阶突破的Java工程师
  • 对编程逻辑和计算机基础有浓厚兴趣的学习者
读前提醒
  • 建议先掌握Java基本语法,再阅读本书效果更佳
  • 部分章节如并发、二进制较难,需耐心反复思考
  • 书中源码基于JDK8,注意与新版JDK的差异
读者共识
  • 讲解透彻清晰,比许多入门书更有深度和逻辑
  • 适合有一定基础者阅读,纯新手可能觉得吃力
  • 值得多次反复阅读,每次都有新的收获与感悟

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "这个变量和数组类似的,都有两块内存.一块存放实际内容,一块存放实际内容的位置.声明变量本身只会分配存放位置的内存空间,这块空间没有指向任何内容. 这种变量和数组变量本身不存储任何数据,只是存储实际内容的位置.他们都被称为引用类型变量."
  • "正所谓,道生一,一生二,二生三,三生万物,如果将二进制表示和运算看作一,将基本数据类型看作二,基本数据类型形成的类看作三,那么,类的组合以及下章介绍的继承则使得三生万物。"
  • "写类名是可以理解的,表示对象的类型,而写哈希值则是不得已的,因为Object类并不知道具体对象的属性,不知道怎么用文本描述,但又需要区分不同对象,只能是写一个哈希值"
  • "1)每个类有且只有一个父类,没有声明父类的,其父类为Object,子类继承了父类非private的属性和方法,可以增加自己的属性和方法,以及重写父类的方法实现。 2)new过程中,父类先进行初始化,可通过super调用父类相应的构造方法,没有使用super的情况下,调用父类的默认构造方法。 3)子类变量和方法与父类重名的情况下,可通过super强制访问父类的变量和方法。 4)子类对象可以赋值给父类引用变量,这叫多态;实际执行调用的是子类实现,这叫动态绑定。"
作者简介
马俊昌 邻家科技CTO和联合创始人,北京理工大学博士。曾就职于IBM,从事中间件、云计算架构和开发工作,在万普世纪负责移动广告平台大数据分析和算法优化工作。2014年联合创立邻家科技,主要产品“到位APP”是一个到家生活服务平台。十多年来,一直从事Java编程,积累了比较丰富的经验。平时喜欢读书,研究技术与创新,乐于分享编程心得,欢迎关注我的微信公众号“老马说编程”,和你一起探索编程本质。
目录
Contents 目录
读者评论
前言
第一部分 编程基础与二进制
第1章 编程基础2

显示全部
用户评论
非常推荐萌新入手
先是看了公众号,现在在看书,不错,学到很多
知识点相对系统,对Java基础的理解有所帮助。比只教你怎么用API的书深入一些,但对原理也只是点到为止。
很详细的入门教程,特别是前面解释各种底层原理。
看完之后觉得自己不适合再当程序员。
泛型还是讲得挺清楚的。 挺清晰的,例子都简单易懂。可以自己上手练习。
2018年出的书 竟然是JDK7的源码 难以想象
非常适合入门
写得挺好的,土狗表示看不了太啰嗦的外文中译本,这本对于快速上手写码和读源码真的够够的了(当然基于我刷了不少题的基础上转语言来说)。内容还很全呢!还有提jackson而不是fastjson也是很赞的!
Java知识点比较全。但也有可能因为全,而造成不精,更细致的讲解。本书适合有一定经验的Java程序员,用来看看还有哪些知识点还没掌握的很好。
下载
收藏