Skip to content

Latest commit

 

History

History
341 lines (171 loc) · 9.05 KB

File metadata and controls

341 lines (171 loc) · 9.05 KB

《Java编程的逻辑》完整代码

书中代码为简略起见,部分代码不全,完整代码都在github上,以下是书中章节和完整代码链接的对应关系。如有谬误,请联系老马,微信: swiftma, qq: 2403740457, 邮件:swiftma@sina.com

第一部分 编程基础与二进制

第1章 编程基础

1.5.1 while循环

1.6.1 函数的基本概念

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/basic/c11/Basic.java

1.6.2 参数传递-数组

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/basic/c11/Array.java

1.6.2 参数传递-可变参数

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/basic/c11/VarArg.java

1.6.2 递归函数

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/basic/c11/Recur.java

1.7.2 函数执行

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/basic/c12/Sum.java

1.7.3 数组和对象的内存分配

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/basic/c12/ArrayMax.java

1.7.4 递归调用的原理

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/basic/c12/Recur.java

第2章 理解数据背后的二进制

2.1.3 十六进制

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/basic/c4/Demo.java

2.2.1 小数计算为什么会出错

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/basic/c5/Demo.java

2.3.5 恢复乱码的方法:

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/basic/c7/Recover.java

第二部分 面向对象

第3章 类的基础

3.1.3 定义第一个类

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/cls/c13/Point.java

3.2.2-3.2.5 图形类、电商概念、人之间的关系、文件和目录

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/cls/c14

第4章 类的继承

4.1 基本概念

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/cls/c15

4.3 继承实现的基本原理

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/cls/c17

4.4 为什么说继承是把双刃剑

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/cls/c18

第5章 类的扩展

5.1 接口的本质

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/cls/c19

5.2 抽象类

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/cls/c20

5.3 内部类

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/cls/c21

5.4 枚举

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/cls/c23

第6章 异常

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/cls/c24

第7章 常用基础类

7.4 剖析Arrays

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/commoncls/c31/ArraysDemo.java

7.5 剖析日期和时间

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/commoncls/c32/DateDemo.java

7.6 随机

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/commoncls/c34

第三部分 泛型与容器

第8章 泛型

8.1 基本概念和原理

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/collection/c35

8.2 解析通配符

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/collection/c36

第9章 列表和队列

9.2 剖析LinkedList

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/collection/c39/LinkListDemo.java

9.3 剖析ArrayDeque

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/collection/c48/ArrayDequeDemo.java

第10章 Map和Set

10.1 剖析HashMap

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/collection/c40/MapDemo.java

10.2 剖析HashSet

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/collection/c41

10.4 剖析TreeMap

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/collection/c43/TreeMapDemo.java

10.6 剖析LinkedHashMap

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/collection/c49

10.7 剖析EnumMap

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/collection/c50

10.8  剖析EnumSet

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/collection/c51

第11章 堆与优先级队列

11.2 剖析PriorityQueue

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/collection/c46

11.3 堆和PriorityQueue的应用

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/collection/c47

第12章 通用容器类和总结

12.1 抽象容器类

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/collection/c52

第四部分 文件

第13章 文件基本技术

13.2 二进制文件和字节流

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/file/c57

13.3 文本文件和字符流

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/file/c58

13.4 文件和目录操作

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/file/c59/FileUtils.java

第14章 文件高级技术

14.1 常见文件类型处理

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/file/c64

14.2 随机读写文件

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/file/c60

14.3 内存映射文件

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/file/c61

14.4 标准序列化机制

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/file/c62

14.5 Jackson序列化

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/file/c63

第五部分 并发

第15章 并发基础知识

15.1 线程的基本概念

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c65

15.2 理解synchronized

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c66

15.3.2-15.3.3 线程的基本协作机制 :WaitThread和生产者消费者模式

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c67

15.3.4 - 15.3.7 线程的基本协作机制:同时开始、等待结束、异步结果、集合点

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c68

15.4 线程的中断

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c69

第16章 并发包的基石

16.1 原子变量和CAS

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c70

16.2 显式锁

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c71

16.3 显式条件

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c72

第17章 并发容器

17.1 写时拷贝的List和Set

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c73

17.2 ConcurrentHashMap

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c74

17.4 并发队列

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c76

第18章 异步任务执行服务

18.1 基本概念和原理

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c77

18.2 线程池

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/concurrent/c78

18.3 定时任务

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c80

第19章 同步和协作工具类

19.1-19.4 同步协作工具

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c81

19.5 ThreadLocal

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/concurrent/c82

第六部分 动态与函数式编程

第21章 反射

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/dynamic/c84

第22章 注解

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/dynamic/c85

第23章 动态代理

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/dynamic/c86

第24章 类加载机制

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/dynamic/c87

第25章 正则表达式

25.2-25.3 Java API和模板引擎

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/regex/c89

25.4 剖析常见表达式

https://github.com/swiftma/program-logic/blob/master/src/shuo/laoma/regex/c90/RegUtils.java

第26章 函数式编程

26.1 Lambda表达式

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/java8/c91

26.2 函数式数据处理:基本用法

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/java8/c92

26.3 函数式数据处理:强大方便的收集器

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/java8/c93

26.4 组合式异步编程

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/java8/c94

26.5 Java 8的日期和时间API

https://github.com/swiftma/program-logic/tree/master/src/shuo/laoma/java8/c95