商品详情
书名:深入理解Java核心技术:写给Java工程师的干货笔记(基础篇)
定价:138.0
ISBN:9787121432606
作者:张洪亮(@Hollis)
版次:*1版
出版时间:2022-04
内容提要:
作者简介:
张洪亮(@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模式匹配
定价:138.0
ISBN:9787121432606
作者:张洪亮(@Hollis)
版次:*1版
出版时间:2022-04
内容提要:
内容介绍
本书主要聚焦于Java*发者*备的Java核心基础知识。全书共23章,主要内容包括面向对象、基础数据类型、自动拆装箱、字符串、集合类、反射、序列化、枚举、I/O、动态代理、注解、泛型、时间处理、编码方式、语法糖、BigDecimal、常用工具库及Java新版本特性等,比较全面地覆盖了Java*发者日常工作中用到的大部分基础知识。本书既适合读者进行体系化的学习,也适合读者查缺补漏,将以往所学的知识点连成线,进而构建并完善自己的知识体系。
作者介绍
张洪亮(@Hollis)阿里巴巴技术专家,51CTO 专栏作家,CSDN 博客专家,掘金*秀作者,《程序员的三门课》联合作者,《Java工程师成神之路》系列文章作者;热衷于分享计算 机编程相关技术,博文全网阅读量数千万。
关联推荐
本书适合对Java语言感兴趣的读者,以及从事Java开发的程序员。
作者简介:
作者介绍
张洪亮(@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模式匹配
- 电子工业出版社有限公司
- 电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
- 扫描二维码,访问我们的微信店铺