深入理解Java核心技术:写给Java工程师的干货笔记(基础篇)
正版保障 假一赔十 可开发票
¥
88.6
6.4折
¥
138
全新
库存8件
作者张洪亮(@Hollis)
出版社电子工业出版社
ISBN9787121432606
出版时间2021-07
装帧平装
开本16开
定价138元
货号11579854
上书时间2024-08-14
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
"张洪亮(@Hollis) 阿里巴巴技术专家,51CTO 专栏作家,CSDN 博客专家,掘金很好作者,《程序员的三门课》联合作者,《Java工程师成神之路》系列文章作者;热衷于分享计算 机编程相关技术,博文所有渠道阅读量数千万。"
目录
第1章 什么是面向对象
1.1 面向过程与面向对象
1.2 面向对象的三大基本特征
1.3 面向对象的五大基本原则
第2章 面向对象的核心概念
2.1 重载和重写
2.2 多态
2.3 继承与实现
2.4 多继承
2.5 组合与继承
2.6 构造函数
2.7 变量
第3章 Java对象
3.1 Object类
3.2 JavaBean
3.3 equals和hashCode的关系
3.4 对象的clone方法
第4章 平台无关性
4.1 什么是平台无关性
4.2 JVM支持的语言
第5章 值传递
5.1 什么是值传递
5.2 Java中的值传递
第6章 基本数据类型
6.1 基本类型
6.2 浮点数
6.3 Java中负数的绝对值并不一定是正数
第7章 自动拆装箱
7.1 自动拆箱
7.2 缓存
7.3 基本类型和包装类怎么选
第8章 字符串
8.1 字符串的不可变性
8.2 JDK6和JDK7中substring的原理与区别
8.3 replace、replaceAll和replaceFirst的区别
8.4 String对“+”的重载
8.5 字符串拼接的几种方式和区别
8.6 StringJoiner
8.7 从字符串中删除空格的多种方式
8.8 switch对String的支持
8.9 字符串池
8.10 Class常量池
8.11 字面量是什么时候存入字符串池的
8.12 intern
8.13 String有没有长度
第9章 异常
9.1 Java的异常体系
9.2 和异常有关的关键字
9.3 异常链
9.4 异常处理的很好实践
9.5 自定义异常
9.6 try-with-resources
9.7 finally是在什么时候执行的
第10章 集合类
10.1 Java的集合体系
10.2 如何对集合进行遍历
10.3 ArrayList、LinkedList和Vector之间的区别
10.4 SynchronizedList和Vector有什么区别
10.5 为什么ArrayList的subList结果不能转换成ArrayList
10.6 HashSet、LinkedHashSet和TreeSet之间的区别
10.7 HashMap、Hashtable和ConcurrentHashMap之间的区别
10.8 不要使用双括号语法初始化集合
10.9 同步容器的所有操作一定是线程安全的吗
10.10 HashMap的数据结构
10.11 HashMap的size和capacity有什么区别
10.12 HashMap的扩容机制
10.13 HashMap的loadFactor和threshold
10.14 为什么建议集合初始化时指定容量大小
10.15 HashMap的初始容量设置为多少合适
10.16 HashMap的hash()方法
10.17 为什么HashMap的默认容量设置成16
10.18 为什么HashMap的默认负载因子设置成0.75
10.19 HashMap的线程安全问题
10.20 为什么不能在foreach循环里对集合中的元素进行remove/add操作
10.21 如何在遍历的同时删除ArrayList中的元素
10.22 什么是fail-fast和fail-safe
10.23 为什么Java 8中的Map引入了红黑树
10.24 为什么将HashMap转换成红黑树的阈值设置为8
10.25 Java 8中Stream的相关用法
10.26 Java中的并发容器
第11章 反射
11.1 反射的概念及作用
11.2 反射是如何破坏单例模式的
11.3 利用反射与工厂模式实现Spring IoC
第12章 序列化
12.1 序列化和反序列化
12.2 什么是transient
12.3 序列化底层原理
12.4 为什么不能随便更改serialVersionUID
12.5 序列化如何破坏单例模式
12.6 使用序列化实现深拷贝
12.7 Apache-Cmmons-Collections的反序列化漏洞
12.8 fastjson的反序列化漏洞
12.9 JavaBean属性名对序列化的影响
第13章 枚举
13.1 枚举的用法
13.2 枚举是如何实现的
13.3 如何比较Java中的枚举
13.4 switch对枚举的支持
13.5 如何实现枚举的序列化
13.6 为什么说枚举是实现单例优选的方式
13.7 为什么接口返回值不能使用枚举类型
第14章 I/O
14.1 什么是I/O流,如何分类
14.2 同步/异步与阻塞/非阻塞
14.3 Linux的五种I/O模型
14.4 BIO、NIO和AIO
第15章 动态代理
15.1 静态代理与动态代理
15.2 动态代理的几种实现方式
第16章 注解
16.1 注解及注解的使用
16.2 Java中的5个元注解
16.3 注解的继承与组合
16.4 注解与反射的结合
16.5 日常开发中的常用注解
16.6 不要过度依赖注解
第17章 泛型
17.1 什么是泛型
17.2 什么是类型擦除
17.3 在泛型为String的List中存放Integer对象
17.4 泛型与桥接方法
17.5 泛型会带来哪些问题
17.6 泛型中K、T、V、E、?等的含义
17.7 泛型中的限定通配符和非限定通配符
17.8 泛型的PECS原则
第18章 时间处理
18.1 什么是时区
18.2 时间戳
18.3 几种常见时间的含义和关系
18.4 SimpleDateFormat的线程安全性问题
18.5 Java 8中的时间处理
18.6 为什么日期格式化时使用y表示年,而不能用Y
第19章 编码方式
19.1 什么是ASCII和Unicode
19.2 有了Unicode为什么还需要UTF-8
19.3 有了UTF-8为什么还需要GBK
19.4 为什么会存在乱码
第20章 语法糖
20.1 什么是语法糖,如何解糖
20.2 解糖:方法变长参数
20.3 解糖:内部类
20.4 解糖:条件编译
20.5 解糖:断言
20.6 解糖:数值字面量
20.7 解糖:Lambda表达式
20.8 警惕语法糖
第21章 BigDecimal
21.1 什么是BigDecimal
21.2 为什么不能直接使用double创建一个BigDecimal
21.3 为什么不能使用BigDecimal的equals方法比较大小
第22章 常用的Java工具库
22.1 Apache Commons
22.2 各类BeanUtils工具的性能对比
22.3 MapStruct
22.4 BeanUtils与深/浅拷贝
22.5 Guava
22.6 Lombok
第23章 Java新版本特性
23.1 Java 8:函数式编程
23.2 Java 8:接口的默认方法
23.3 Java 9:模块化技术
23.4 Java 10:本地变量类型推断
23.5 Java 11:增强var
23.6 Java 12:switch表达式
23.7 Java 13:text block
23.8 Java 14:更有价值的NullPointerException
23.9 Java 14:record类型
23.10 Java 15:封闭类
23.11 Java 16:instanceof模式匹配
23.12 Java 17:switch模式匹配
内容摘要
本书主要聚焦于Java开发者推荐的Java核心基础知识。全书共23章,主要内容包括面向对象、基础数据类型、自动拆装箱、字符串、集合类、反射、序列化、枚举、I/O、动态代理、注解、泛型、时间处理、编码方式、语法糖、BigDecimal、常用工具库及Java新版本特性等,比较全面地覆盖了Java开发者日常工作中用到的大部分基础知识。本书既适合读者进行体系化的学习,也适合读者查缺补漏,将以往所学的知识点连成线,进而构建并完善自己的知识体系。
主编推荐
本系列图书是Java程序员系统化学良师益友,随书还附赠一份惊喜彩蛋 《深入理解Java核心技术:写给Java工程师的干货笔记(基础篇)》内容覆盖了大部分Java基础知识,适合Java进行查缺补漏以及系统化的学习。
精彩内容
本书缘起 2015年,我刚毕业时,为了可以更好地学习Java相关知识,更方便地查缺补漏,我整理了一份自己准备学Java相关知识的目录。随着自身技术能力的提升,我也一直在不断地完善这份知识目录。 开始,我把它命名为《Java工程师成神之路》,之所以起这个名字,是因为我觉得整个体系太过庞大,庞大到如果能把它掌握,是当之无愧的“大神”。这个名字也寄托了我对自己的无限期待。 开始《Java工程师成神之路》只是一些知识点组成的目录,或者说是一份学习路结。很多人通过这个路径,可以知道自己处于什么样的阶段,可以快速地找到自己有哪些知识点是不了解的。 后来在2019年,在很多读者的建议下,我把《Java工程师成神之路》开源了,并且开始逐步完善其中的知识点,让它不再是一份目录,而是一个完整的知识体系。 在2020年,阿里云社区的朋友找到我,我和他们联合把之前整理的这份知识体系文章做成了一本电子书。电子书一经问世,一直在阿里云社区霸榜。这本电子书还因此获得了阿里云颁发的“受欢迎的电子书奖”奖项! 截2022年3月初,《Java工程师成神之路》在GitHub上的开源版本已经收获了22.4k个Star,根据其制作出来的GitHub Page和Gitee Page共收获了超过50万的访问次数访客数达40多万。其相关电子书在阿里云社区的下载榜中排名前三,共收获40万次阅读,6万多次下载。 在不知不觉中,我历时6年打造的“成神之路”,影响了几十万名Java。很多人可能不知道Hollis是谁,但却知道这份《Java工程师成神之路》。 后来,在很多读者的鼓励下,我终于决定把它出版成书。但是因为内容实在是太多了,所以目前大家看到的这一本只是把其中“基础篇”的内容做了整理。 虽然这本书的大纲我早整理好了,而且之前发行过电子版,我以为纸质书的出版会比较顺利,但是事情没那么简单。偏偏我又是一个主义者,所以,在原来五年积累的很多文章的基础上,我又足足改了1年的时间。现在这个版本和之前开源的版本相比,大概重写了其中80%的内容。整体结构上比开源的版本更加合理,内容也比开源的版本更加丰富。 本书 为了方便读者阅读和理解,除了前两章,本书尽量摒弃了太过枯燥的概念描述,也避免堆砌大篇幅的代码,试图通过举例、比喻、引用等方式把Java体系中的很多原理知识讲解清楚。 因为Java体系中的很多知识点都是相关联的,所以本书在提到其他知识点时,为了方便读者进行关联学习,会标注相关章节和内容提要。 本书更加注重对原理的解读,很多语法的概念介绍及使用方式并不是本书的。所以,本书中大部分内容均是Java需要关注的一些知识点,很多知识点结均来源于日常开发中遇到的对各种线上问题的排查结。 勘误和支持 因个人能力有限,书中难免有疏漏之处,恳请广大读者批评指正。 如果读者在阅读的过程中遇到任何表述不清、内容错误及影响学问题,都可以通过以下方式反馈给我,我和本书编辑会在时间进行改正。 (1)在开源项目toBeTopJavaer(sgithub.com/hollischuang/toBeTopJavaer)中提交勘误Issue。 (2)我的个人公众号“Hollis”的底部菜单栏设置了纠错入口,读者可以在其中反馈书中的问题。 请提出修改意见的读者朋友同时附上页码、章节序号,以便我们进行核对,谢谢大家。 配套资源 本书是《Java工程师成神之路》系列的本,随书赠送了一份一份惊喜彩蛋。 致谢 感谢所有的读者朋友括所有不认识我但是看过我的文章的朋友们,感谢大家对我的支持与鼓励。 感谢所有在我的开源项目toBeTopJavaer中提交Issue和“PR”的朋友们,感谢你们对本书的认可与帮助。 感谢电子工业出版社的工作人员,是本书编辑陈晓猛老师,正是你们的认真负责,才让本书可以高质量地呈现给所有期待的读者们。 感谢我的爱人——杨婉鹭女士,感谢你在我创作本书的过程中对我容和理解。 感谢我的父母——张奎先生和王洪贤女士,感谢你们这么多年来对我的默默付出与支持。 谨以此书,献给所有在我成长道路上帮助过我的亲人、师长、同事、朋友、读者,感谢你们对我的提携与帮助! 本书稿费将以Hollis及其所有读者的名义用于公益事业,具体细节我会在我的公众号上公布,欢迎监督。 张洪亮(@Hollis)
媒体评论
"这是适合每个Java工程师的百科全书,书中涵盖了大量我们日常开发中所容易忽视的细节,比如Java到底是值传递还是引用传递、HashMap的线程安全问题、什么是同步阻塞和异步非阻塞等细节问题,我们都可以在此书中得到详尽的阐述。此书适合有一定开发经验的同学“食用”,相信此书定能帮助大家写出更很好的代码! 程序员cxuan,微信公众号【程序员cxuan】作者 本书通过对Java重要知识点的剖析,深入浅出地讲解了Java的核心技术。不论是刚接触Java编程的入门读者,还是已经有Java编程实战经验的进阶读者,阅读本书都会收获颇多。 梁桂钊,《高可用可伸缩微服务架构》联合作者 有一说一,平常学习Java的时候,总是会遇到一些很好基础的问题,但好像又不明白到底是为什么,比如Java是引用传递还是值传递,那么《深入理解Java核心技术》这本书就会给出详细的答案。除此之外,像字符串、集合框架、反射、注解、泛型等这些Java核心知识点,这本书都兼顾到了,认真读完此书,相信你在Java成神之路上又迈出了坚实的一步。 马伟青,微信公众号【沉默王二】运营者 学习Java语言,基础是重中之重。Hollis出版的《深入理解Java核心技术》,用生动的语言由浅入深地讲解了Java的各种基础知识,很好值得阅读。 魏梦舒,微信公众号【程序员小灰】运营者,畅销书《漫画算法》作者 这是一本重视Java基础的图书,作者结合多年的从业经验,讨论了常用框架与Java基础API之间的关系,帮助日常开发者更好地理解底层原理和源码实现。同时,作者也分享了自己的编码心得,为项目开发提供灵感。 小马哥,《Spring Boot编程思想》作者 巩固基础、夯实技术,每一个想走的更远的程序员都必须修筑技术地基,任何一个基础的知识的深度学习都不应该停留在背诵上,而是运用数学的逻辑思维从根上理解后的学习。本书以清晰明确的逻辑告诉大家Java技术背后的核心原理,本书适合正在修筑技术地基、处于成长期的程序员阅读。 小傅哥,《重学Java设计模式》作者,微信公众号【bugstack虫洞栈】作者 技术发展太快,我们总是醉心于各种新的“技术名词”,却忘记夯实我们常用的Java基本功。本书沉淀了Hollis多年对Java核心技术的理解与实践,结合精巧的代码示例,循序渐进地击穿每个知识点。相信这些干货会让开发者受益良多,特别适合想要进阶Java开发的初中级工程师。 芋道源码,微信公众号【芋道源码】作者"
— 没有更多了 —
以下为对购买帮助不大的评价