Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_java
提交
114c7e87
S
skill_tree_java
项目概览
CSDN 技术社区
/
skill_tree_java
通知
43
Star
8
Fork
4
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
4
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_java
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
4
Issue
4
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
114c7e87
编写于
12月 27, 2021
作者:
L
luxin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add keywords_must and keywords_forbid
上级
432c302c
变更
137
隐藏空白更改
内联
并排
Showing
137 changed file
with
2768 addition
and
688 deletion
+2768
-688
data/1.Java初阶/1.Java概览/1.编辑Java源代码/config.json
data/1.Java初阶/1.Java概览/1.编辑Java源代码/config.json
+9
-1
data/1.Java初阶/1.Java概览/2.编译Java程序/config.json
data/1.Java初阶/1.Java概览/2.编译Java程序/config.json
+13
-3
data/1.Java初阶/1.Java概览/3.Java的运行机制/config.json
data/1.Java初阶/1.Java概览/3.Java的运行机制/config.json
+10
-2
data/1.Java初阶/1.Java概览/4.根据CLASSPATH环境变量定位类/config.json
data/1.Java初阶/1.Java概览/4.根据CLASSPATH环境变量定位类/config.json
+9
-2
data/1.Java初阶/1.Java概览/5.Maven基础/config.json
data/1.Java初阶/1.Java概览/5.Maven基础/config.json
+6
-1
data/1.Java初阶/1.Java概览/config.json
data/1.Java初阶/1.Java概览/config.json
+4
-1
data/1.Java初阶/10.类和接口/1.类和面向对象/config.json
data/1.Java初阶/10.类和接口/1.类和面向对象/config.json
+13
-2
data/1.Java初阶/10.类和接口/2.抽象类/config.json
data/1.Java初阶/10.类和接口/2.抽象类/config.json
+8
-1
data/1.Java初阶/10.类和接口/3.接口/config.json
data/1.Java初阶/10.类和接口/3.接口/config.json
+6
-1
data/1.Java初阶/10.类和接口/4.匿名类/config.json
data/1.Java初阶/10.类和接口/4.匿名类/config.json
+6
-1
data/1.Java初阶/10.类和接口/config.json
data/1.Java初阶/10.类和接口/config.json
+4
-1
data/1.Java初阶/11.IO初步/1.字节流/config.json
data/1.Java初阶/11.IO初步/1.字节流/config.json
+10
-2
data/1.Java初阶/11.IO初步/2.File类/config.json
data/1.Java初阶/11.IO初步/2.File类/config.json
+11
-2
data/1.Java初阶/11.IO初步/config.json
data/1.Java初阶/11.IO初步/config.json
+4
-1
data/1.Java初阶/2.Java的基本语法/1.Java的基本语法格式/config.json
data/1.Java初阶/2.Java的基本语法/1.Java的基本语法格式/config.json
+6
-1
data/1.Java初阶/2.Java的基本语法/2.Java中的注释/config.json
data/1.Java初阶/2.Java的基本语法/2.Java中的注释/config.json
+6
-1
data/1.Java初阶/2.Java的基本语法/3.Java中的关键字/config.json
data/1.Java初阶/2.Java的基本语法/3.Java中的关键字/config.json
+8
-2
data/1.Java初阶/2.Java的基本语法/config.json
data/1.Java初阶/2.Java的基本语法/config.json
+4
-1
data/1.Java初阶/3.Java中的变量与常量/1.变量的定义/config.json
data/1.Java初阶/3.Java中的变量与常量/1.变量的定义/config.json
+7
-1
data/1.Java初阶/3.Java中的变量与常量/2.变量的数据类型/config.json
data/1.Java初阶/3.Java中的变量与常量/2.变量的数据类型/config.json
+6
-1
data/1.Java初阶/3.Java中的变量与常量/3.Java中的常量/config.json
data/1.Java初阶/3.Java中的变量与常量/3.Java中的常量/config.json
+6
-1
data/1.Java初阶/3.Java中的变量与常量/4.变量的作用域/config.json
data/1.Java初阶/3.Java中的变量与常量/4.变量的作用域/config.json
+6
-1
data/1.Java初阶/3.Java中的变量与常量/config.json
data/1.Java初阶/3.Java中的变量与常量/config.json
+4
-1
data/1.Java初阶/4.Java中的运算符/1.比较运算符/config.json
data/1.Java初阶/4.Java中的运算符/1.比较运算符/config.json
+11
-1
data/1.Java初阶/4.Java中的运算符/2.逻辑运算符/config.json
data/1.Java初阶/4.Java中的运算符/2.逻辑运算符/config.json
+6
-1
data/1.Java初阶/4.Java中的运算符/3.算术运算符/config.json
data/1.Java初阶/4.Java中的运算符/3.算术运算符/config.json
+6
-1
data/1.Java初阶/4.Java中的运算符/config.json
data/1.Java初阶/4.Java中的运算符/config.json
+4
-1
data/1.Java初阶/5.选择结构语句/1.if条件语句/config.json
data/1.Java初阶/5.选择结构语句/1.if条件语句/config.json
+8
-1
data/1.Java初阶/5.选择结构语句/2.switch条件语句/config.json
data/1.Java初阶/5.选择结构语句/2.switch条件语句/config.json
+6
-1
data/1.Java初阶/5.选择结构语句/config.json
data/1.Java初阶/5.选择结构语句/config.json
+4
-1
data/1.Java初阶/6.循环结构语句/1.dowhile循环/config.json
data/1.Java初阶/6.循环结构语句/1.dowhile循环/config.json
+8
-1
data/1.Java初阶/6.循环结构语句/2.for循环语句/config.json
data/1.Java初阶/6.循环结构语句/2.for循环语句/config.json
+6
-1
data/1.Java初阶/6.循环结构语句/config.json
data/1.Java初阶/6.循环结构语句/config.json
+4
-1
data/1.Java初阶/7.集合/1.Collection接口/config.json
data/1.Java初阶/7.集合/1.Collection接口/config.json
+7
-1
data/1.Java初阶/7.集合/10.树集/config.json
data/1.Java初阶/7.集合/10.树集/config.json
+7
-1
data/1.Java初阶/7.集合/11.映射/config.json
data/1.Java初阶/7.集合/11.映射/config.json
+27
-8
data/1.Java初阶/7.集合/12.遗留的集合/config.json
data/1.Java初阶/7.集合/12.遗留的集合/config.json
+22
-6
data/1.Java初阶/7.集合/13.编写equals和hashCode/config.json
data/1.Java初阶/7.集合/13.编写equals和hashCode/config.json
+7
-1
data/1.Java初阶/7.集合/14.使用TreeMap/config.json
data/1.Java初阶/7.集合/14.使用TreeMap/config.json
+6
-1
data/1.Java初阶/7.集合/15.使用Properties/config.json
data/1.Java初阶/7.集合/15.使用Properties/config.json
+7
-1
data/1.Java初阶/7.集合/16.使用Deque/config.json
data/1.Java初阶/7.集合/16.使用Deque/config.json
+7
-1
data/1.Java初阶/7.集合/2.List接口/config.json
data/1.Java初阶/7.集合/2.List接口/config.json
+17
-4
data/1.Java初阶/7.集合/3.Collection集合遍历/config.json
data/1.Java初阶/7.集合/3.Collection集合遍历/config.json
+16
-4
data/1.Java初阶/7.集合/4.Set接口/config.json
data/1.Java初阶/7.集合/4.Set接口/config.json
+16
-4
data/1.Java初阶/7.集合/5.Map接口/config.json
data/1.Java初阶/7.集合/5.Map接口/config.json
+22
-6
data/1.Java初阶/7.集合/6.Java集合框架/config.json
data/1.Java初阶/7.集合/6.Java集合框架/config.json
+16
-4
data/1.Java初阶/7.集合/7.链表/config.json
data/1.Java初阶/7.集合/7.链表/config.json
+6
-1
data/1.Java初阶/7.集合/8.数组列表/config.json
data/1.Java初阶/7.集合/8.数组列表/config.json
+7
-1
data/1.Java初阶/7.集合/9.散列集/config.json
data/1.Java初阶/7.集合/9.散列集/config.json
+7
-1
data/1.Java初阶/7.集合/config.json
data/1.Java初阶/7.集合/config.json
+4
-1
data/1.Java初阶/8.操作符/1.算术操作符/config.json
data/1.Java初阶/8.操作符/1.算术操作符/config.json
+9
-2
data/1.Java初阶/8.操作符/2.自动递增和递减/config.json
data/1.Java初阶/8.操作符/2.自动递增和递减/config.json
+7
-1
data/1.Java初阶/8.操作符/3.关系操作符/config.json
data/1.Java初阶/8.操作符/3.关系操作符/config.json
+10
-2
data/1.Java初阶/8.操作符/4.逻辑操作符/config.json
data/1.Java初阶/8.操作符/4.逻辑操作符/config.json
+10
-2
data/1.Java初阶/8.操作符/5.按位操作符/config.json
data/1.Java初阶/8.操作符/5.按位操作符/config.json
+9
-1
data/1.Java初阶/8.操作符/6.移位操作符/config.json
data/1.Java初阶/8.操作符/6.移位操作符/config.json
+9
-1
data/1.Java初阶/8.操作符/7.三元操作符if-else/config.json
data/1.Java初阶/8.操作符/7.三元操作符if-else/config.json
+7
-1
data/1.Java初阶/8.操作符/8.字符串操作符 + 和 +=/config.json
data/1.Java初阶/8.操作符/8.字符串操作符 + 和 +=/config.json
+7
-1
data/1.Java初阶/8.操作符/config.json
data/1.Java初阶/8.操作符/config.json
+37
-12
data/1.Java初阶/9.控制执行流程/1.if-else/config.json
data/1.Java初阶/9.控制执行流程/1.if-else/config.json
+7
-1
data/1.Java初阶/9.控制执行流程/2.for/config.json
data/1.Java初阶/9.控制执行流程/2.for/config.json
+8
-1
data/1.Java初阶/9.控制执行流程/3.switch/config.json
data/1.Java初阶/9.控制执行流程/3.switch/config.json
+6
-1
data/1.Java初阶/9.控制执行流程/4.通过异常处理错误/config.json
data/1.Java初阶/9.控制执行流程/4.通过异常处理错误/config.json
+96
-30
data/1.Java初阶/9.控制执行流程/5.函数/config.json
data/1.Java初阶/9.控制执行流程/5.函数/config.json
+7
-1
data/1.Java初阶/9.控制执行流程/config.json
data/1.Java初阶/9.控制执行流程/config.json
+4
-1
data/1.Java初阶/config.json
data/1.Java初阶/config.json
+4
-1
data/2.Java中阶/1.IO/1.流概述/config.json
data/2.Java中阶/1.IO/1.流概述/config.json
+7
-1
data/2.Java中阶/1.IO/2.RandomAccessFile/config.json
data/2.Java中阶/1.IO/2.RandomAccessFile/config.json
+7
-1
data/2.Java中阶/1.IO/3.输入输出流/config.json
data/2.Java中阶/1.IO/3.输入输出流/config.json
+14
-3
data/2.Java中阶/1.IO/4.文件输入输出流/config.json
data/2.Java中阶/1.IO/4.文件输入输出流/config.json
+16
-3
data/2.Java中阶/1.IO/5.对象序列化/config.json
data/2.Java中阶/1.IO/5.对象序列化/config.json
+8
-1
data/2.Java中阶/1.IO/6.ZIP压缩输入输出流/config.json
data/2.Java中阶/1.IO/6.ZIP压缩输入输出流/config.json
+12
-3
data/2.Java中阶/1.IO/7.InputStream类型/config.json
data/2.Java中阶/1.IO/7.InputStream类型/config.json
+6
-1
data/2.Java中阶/1.IO/8.OutputStream类型/config.json
data/2.Java中阶/1.IO/8.OutputStream类型/config.json
+6
-1
data/2.Java中阶/1.IO/config.json
data/2.Java中阶/1.IO/config.json
+4
-1
data/2.Java中阶/2.使用JDBC操作数据库/1.JDBC概述/config.json
data/2.Java中阶/2.使用JDBC操作数据库/1.JDBC概述/config.json
+15
-4
data/2.Java中阶/2.使用JDBC操作数据库/2.数据库操作/config.json
data/2.Java中阶/2.使用JDBC操作数据库/2.数据库操作/config.json
+45
-14
data/2.Java中阶/2.使用JDBC操作数据库/config.json
data/2.Java中阶/2.使用JDBC操作数据库/config.json
+4
-1
data/2.Java中阶/3.NIO/1.NIO概述/config.json
data/2.Java中阶/3.NIO/1.NIO概述/config.json
+6
-1
data/2.Java中阶/3.NIO/2.Buffer(缓冲器)/config.json
data/2.Java中阶/3.NIO/2.Buffer(缓冲器)/config.json
+7
-1
data/2.Java中阶/3.NIO/3.Channel(通道)/config.json
data/2.Java中阶/3.NIO/3.Channel(通道)/config.json
+7
-1
data/2.Java中阶/3.NIO/4.字符集和Charset/config.json
data/2.Java中阶/3.NIO/4.字符集和Charset/config.json
+7
-1
data/2.Java中阶/3.NIO/5.文件锁/config.json
data/2.Java中阶/3.NIO/5.文件锁/config.json
+7
-1
data/2.Java中阶/3.NIO/6.Path接口/config.json
data/2.Java中阶/3.NIO/6.Path接口/config.json
+6
-1
data/2.Java中阶/3.NIO/7.Files工具类/config.json
data/2.Java中阶/3.NIO/7.Files工具类/config.json
+6
-1
data/2.Java中阶/3.NIO/config.json
data/2.Java中阶/3.NIO/config.json
+43
-14
data/2.Java中阶/4.网络编程/1.网络编程基础/config.json
data/2.Java中阶/4.网络编程/1.网络编程基础/config.json
+18
-5
data/2.Java中阶/4.网络编程/2.UDP通信/config.json
data/2.Java中阶/4.网络编程/2.UDP通信/config.json
+21
-6
data/2.Java中阶/4.网络编程/3.TCP通信/config.json
data/2.Java中阶/4.网络编程/3.TCP通信/config.json
+24
-7
data/2.Java中阶/4.网络编程/4.Java的基本网络支持/config.json
data/2.Java中阶/4.网络编程/4.Java的基本网络支持/config.json
+12
-3
data/2.Java中阶/4.网络编程/5.使用代理服务器/config.json
data/2.Java中阶/4.网络编程/5.使用代理服务器/config.json
+12
-3
data/2.Java中阶/4.网络编程/6.Java 11标准化的HTTP Client/config.json
data/2.Java中阶/4.网络编程/6.Java 11标准化的HTTP Client/config.json
+21
-6
data/2.Java中阶/4.网络编程/config.json
data/2.Java中阶/4.网络编程/config.json
+4
-1
data/2.Java中阶/5.类型信息/1.Class对象/config.json
data/2.Java中阶/5.类型信息/1.Class对象/config.json
+15
-4
data/2.Java中阶/5.类型信息/2.类型转换前先做检查/config.json
data/2.Java中阶/5.类型信息/2.类型转换前先做检查/config.json
+15
-4
data/2.Java中阶/5.类型信息/3.instanceof与Class的等价性/config.json
data/2.Java中阶/5.类型信息/3.instanceof与Class的等价性/config.json
+7
-1
data/2.Java中阶/5.类型信息/4.反射:运行时类信息/config.json
data/2.Java中阶/5.类型信息/4.反射:运行时类信息/config.json
+58
-18
data/2.Java中阶/5.类型信息/5.动态代理/config.json
data/2.Java中阶/5.类型信息/5.动态代理/config.json
+6
-1
data/2.Java中阶/5.类型信息/6.空对象/config.json
data/2.Java中阶/5.类型信息/6.空对象/config.json
+9
-2
data/2.Java中阶/5.类型信息/config.json
data/2.Java中阶/5.类型信息/config.json
+19
-6
data/2.Java中阶/6.深入研究容器/1.Collection的功能方法/config.json
data/2.Java中阶/6.深入研究容器/1.Collection的功能方法/config.json
+12
-2
data/2.Java中阶/6.深入研究容器/2.List的功能方法/config.json
data/2.Java中阶/6.深入研究容器/2.List的功能方法/config.json
+7
-1
data/2.Java中阶/6.深入研究容器/3.Set和存储顺序/config.json
data/2.Java中阶/6.深入研究容器/3.Set和存储顺序/config.json
+6
-1
data/2.Java中阶/6.深入研究容器/4.队列/config.json
data/2.Java中阶/6.深入研究容器/4.队列/config.json
+13
-3
data/2.Java中阶/6.深入研究容器/5.理解Map/config.json
data/2.Java中阶/6.深入研究容器/5.理解Map/config.json
+16
-4
data/2.Java中阶/6.深入研究容器/6.选择接口的不同实现/config.json
data/2.Java中阶/6.深入研究容器/6.选择接口的不同实现/config.json
+21
-6
data/2.Java中阶/6.深入研究容器/7.Collections实用方法/config.json
data/2.Java中阶/6.深入研究容器/7.Collections实用方法/config.json
+15
-4
data/2.Java中阶/6.深入研究容器/config.json
data/2.Java中阶/6.深入研究容器/config.json
+7
-2
data/2.Java中阶/7.注解/1.基本语法/config.json
data/2.Java中阶/7.注解/1.基本语法/config.json
+12
-3
data/2.Java中阶/7.注解/2.使用apt处理注解/config.json
data/2.Java中阶/7.注解/2.使用apt处理注解/config.json
+6
-1
data/2.Java中阶/7.注解/3.基于注解的单元测试/config.json
data/2.Java中阶/7.注解/3.基于注解的单元测试/config.json
+20
-5
data/2.Java中阶/7.注解/config.json
data/2.Java中阶/7.注解/config.json
+4
-1
data/2.Java中阶/8.并发/1.并发的定义/config.json
data/2.Java中阶/8.并发/1.并发的定义/config.json
+12
-3
data/2.Java中阶/8.并发/2.线程属性/config.json
data/2.Java中阶/8.并发/2.线程属性/config.json
+18
-5
data/2.Java中阶/8.并发/3.线程状态/config.json
data/2.Java中阶/8.并发/3.线程状态/config.json
+18
-5
data/2.Java中阶/8.并发/4.线程之间的协作/config.json
data/2.Java中阶/8.并发/4.线程之间的协作/config.json
+19
-5
data/2.Java中阶/8.并发/5.死锁/config.json
data/2.Java中阶/8.并发/5.死锁/config.json
+6
-1
data/2.Java中阶/8.并发/6.线程安全的集合/config.json
data/2.Java中阶/8.并发/6.线程安全的集合/config.json
+28
-8
data/2.Java中阶/8.并发/config.json
data/2.Java中阶/8.并发/config.json
+4
-1
data/2.Java中阶/config.json
data/2.Java中阶/config.json
+4
-1
data/3.Java高阶/1.行为抽象和Lambda/1.流和行为抽象/config.json
data/3.Java高阶/1.行为抽象和Lambda/1.流和行为抽象/config.json
+6
-1
data/3.Java高阶/1.行为抽象和Lambda/2.Lambda表达式/config.json
data/3.Java高阶/1.行为抽象和Lambda/2.Lambda表达式/config.json
+6
-1
data/3.Java高阶/1.行为抽象和Lambda/3.流/config.json
data/3.Java高阶/1.行为抽象和Lambda/3.流/config.json
+7
-1
data/3.Java高阶/1.行为抽象和Lambda/4.收集器/config.json
data/3.Java高阶/1.行为抽象和Lambda/4.收集器/config.json
+6
-1
data/3.Java高阶/1.行为抽象和Lambda/5.分组/config.json
data/3.Java高阶/1.行为抽象和Lambda/5.分组/config.json
+7
-1
data/3.Java高阶/1.行为抽象和Lambda/6.分区/config.json
data/3.Java高阶/1.行为抽象和Lambda/6.分区/config.json
+7
-1
data/3.Java高阶/1.行为抽象和Lambda/config.json
data/3.Java高阶/1.行为抽象和Lambda/config.json
+4
-1
data/3.Java高阶/2.Optional/1.Optional与Null/config.json
data/3.Java高阶/2.Optional/1.Optional与Null/config.json
+7
-1
data/3.Java高阶/2.Optional/2.一致性/config.json
data/3.Java高阶/2.Optional/2.一致性/config.json
+7
-1
data/3.Java高阶/2.Optional/config.json
data/3.Java高阶/2.Optional/config.json
+4
-1
data/3.Java高阶/3.Java异步任务/1.线程与进程/config.json
data/3.Java高阶/3.Java异步任务/1.线程与进程/config.json
+8
-1
data/3.Java高阶/3.Java异步任务/2.Future与CompletableFuture/config.json
....Java高阶/3.Java异步任务/2.Future与CompletableFuture/config.json
+11
-2
data/3.Java高阶/3.Java异步任务/config.json
data/3.Java高阶/3.Java异步任务/config.json
+19
-6
data/3.Java高阶/config.json
data/3.Java高阶/config.json
+4
-1
data/config.json
data/config.json
+3
-1
data/tree.json
data/tree.json
+1204
-303
src/tree.py
src/tree.py
+69
-34
未找到文件。
data/1.Java初阶/1.Java概览/1.编辑Java源代码/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,12 @@
...
@@ -9,5 +9,12 @@
"export"
:
[
"export"
:
[
"HelloWorld.json"
"HelloWorld.json"
],
],
"title"
:
"编辑Java源代码"
"title"
:
"编辑Java源代码"
,
"keywords_must"
:
[
[
"编辑"
,
"源代码"
]
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/1.Java概览/2.编译Java程序/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-3c458ea864a540468e0b10cd82df0662"
,
"node_id"
:
"java-3c458ea864a540468e0b10cd82df0662"
,
"keywords"
:
[
"hello world"
,
"app"
],
"keywords"
:
[
"hello world"
,
"app"
],
"children"
:
[],
"children"
:
[],
"export"
:
[
"app.json"
],
"export"
:
[
"title"
:
"编译Java程序"
"app.json"
],
"title"
:
"编译Java程序"
,
"keywords_must"
:
[
"编译"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/1.Java概览/3.Java的运行机制/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-2af8b309ed874ad6bd06c6f2363d098d"
,
"node_id"
:
"java-2af8b309ed874ad6bd06c6f2363d098d"
,
"keywords"
:
[
"runtime"
,
"运行机制"
],
"keywords"
:
[
"runtime"
,
"运行机制"
],
"children"
:
[],
"children"
:
[],
"export"
:
[
"export"
:
[
"runtime.json"
"runtime.json"
],
],
"title"
:
"Java的运行机制"
"title"
:
"Java的运行机制"
,
"keywords_must"
:
[
"运行机制"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/1.Java概览/4.根据CLASSPATH环境变量定位类/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-4ddfc05dbbe54300905f404c1ed1b4f9"
,
"node_id"
:
"java-4ddfc05dbbe54300905f404c1ed1b4f9"
,
"keywords"
:
[
"classpath"
],
"keywords"
:
[
"classpath"
],
"children"
:
[],
"children"
:
[],
"export"
:
[
"export"
:
[
"classpath.json"
"classpath.json"
],
],
"title"
:
"根据CLASSPATH环境变量定位类"
"title"
:
"根据CLASSPATH环境变量定位类"
,
"keywords_must"
:
[
"CLASSPATH"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/1.Java概览/5.Maven基础/config.json
浏览文件 @
114c7e87
...
@@ -7,5 +7,9 @@
...
@@ -7,5 +7,9 @@
"export"
:
[
"export"
:
[
"MavenDesc.json"
,
"MavenDesc.json"
,
"MavenScript.json"
"MavenScript.json"
]
],
"keywords_must"
:
[
"maven"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/1.Java概览/config.json
浏览文件 @
114c7e87
...
@@ -3,5 +3,7 @@
...
@@ -3,5 +3,7 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[],
"title"
:
"第一个Java程序"
"title"
:
"第一个Java程序"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/10.类和接口/1.类和面向对象/config.json
浏览文件 @
114c7e87
{
{
"keywords"
:
[
"class"
,
"类"
,
"面向对象"
,
"oo"
],
"keywords"
:
[
"class"
,
"类"
,
"面向对象"
,
"oo"
],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0593e0b9c9f74799a204d697f0db488b"
,
"node_id"
:
"java-0593e0b9c9f74799a204d697f0db488b"
,
"export"
:
[
"export"
:
[
"classic.json"
"classic.json"
]
],
"keywords_must"
:
[
"类"
,
"面向对象"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/10.类和接口/2.抽象类/config.json
浏览文件 @
114c7e87
...
@@ -6,5 +6,11 @@
...
@@ -6,5 +6,11 @@
],
],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-968fb08ea9294e3c99aab38cbfe916cb"
,
"node_id"
:
"java-968fb08ea9294e3c99aab38cbfe916cb"
,
"export"
:
[
"abstract.json"
]
"export"
:
[
"abstract.json"
],
"keywords_must"
:
[
"抽象类"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/10.类和接口/3.接口/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,9 @@
...
@@ -8,5 +8,9 @@
"node_id"
:
"java-1aabc6ccf62b49b4bbcabcd9a03c30a5"
,
"node_id"
:
"java-1aabc6ccf62b49b4bbcabcd9a03c30a5"
,
"export"
:
[
"export"
:
[
"interface.json"
"interface.json"
]
],
"keywords_must"
:
[
"接口"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/10.类和接口/4.匿名类/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,9 @@
...
@@ -8,5 +8,9 @@
"node_id"
:
"java-a999491b97f44593a18e14690efaad34"
,
"node_id"
:
"java-a999491b97f44593a18e14690efaad34"
,
"export"
:
[
"export"
:
[
"anonymous.json"
"anonymous.json"
]
],
"keywords_must"
:
[
"匿名类"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/10.类和接口/config.json
浏览文件 @
114c7e87
{
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-dbcdebbc3d584d0797d3bc16ef2191b7"
"node_id"
:
"java-dbcdebbc3d584d0797d3bc16ef2191b7"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/11.IO初步/1.字节流/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-3ea06f6d049d4c079a88747ffd0cc51e"
,
"node_id"
:
"java-3ea06f6d049d4c079a88747ffd0cc51e"
,
"keywords"
:
[
"字节流"
,
"bytestream"
],
"keywords"
:
[
"字节流"
,
"bytestream"
],
"children"
:
[],
"children"
:
[],
"export"
:
[
"export"
:
[
"bytestream.json"
"bytestream.json"
]
],
"keywords_must"
:
[
"字节流"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/11.IO初步/2.File类/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-046d129404f14676af135da42fea658b"
,
"node_id"
:
"java-046d129404f14676af135da42fea658b"
,
"keywords"
:
[
"文件"
,
"文件类"
,
"file"
],
"keywords"
:
[
"文件"
,
"文件类"
,
"file"
],
"children"
:
[],
"children"
:
[],
"export"
:
[
"export"
:
[
"file.json"
"file.json"
]
],
"keywords_must"
:
[
"File"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/11.IO初步/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-b9fa688f8fe74e19b6e4b599982a60cc"
,
"node_id"
:
"java-b9fa688f8fe74e19b6e4b599982a60cc"
,
"keywords"
:
[]
"keywords"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/2.Java的基本语法/1.Java的基本语法格式/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,9 @@
...
@@ -8,5 +8,9 @@
"export"
:
[
"export"
:
[
"app.json"
"app.json"
],
],
"title"
:
"Java的基本语法格式"
"title"
:
"Java的基本语法格式"
,
"keywords_must"
:
[
"语法格式"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/2.Java的基本语法/2.Java中的注释/config.json
浏览文件 @
114c7e87
...
@@ -7,5 +7,9 @@
...
@@ -7,5 +7,9 @@
"export"
:
[
"export"
:
[
"comment.json"
"comment.json"
],
],
"title"
:
"Java中的注释"
"title"
:
"Java中的注释"
,
"keywords_must"
:
[
"注释"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/2.Java的基本语法/3.Java中的关键字/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-e16c7862e7cc4feeb54cf6a42dd65cef"
,
"node_id"
:
"java-e16c7862e7cc4feeb54cf6a42dd65cef"
,
"keywords"
:
[
"keywords"
:
[
"关键字"
,
"keyword"
"关键字"
,
"keyword"
],
],
"children"
:
[],
"children"
:
[],
"export"
:
[
"export"
:
[
"keyword.json"
"keyword.json"
],
],
"title"
:
"Java中的关键字"
"title"
:
"Java中的关键字"
,
"keywords_must"
:
[
"关键字"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/2.Java的基本语法/config.json
浏览文件 @
114c7e87
...
@@ -3,5 +3,7 @@
...
@@ -3,5 +3,7 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[],
"title"
:
"Java的基本语法"
"title"
:
"Java的基本语法"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/3.Java中的变量与常量/1.变量的定义/config.json
浏览文件 @
114c7e87
...
@@ -10,5 +10,10 @@
...
@@ -10,5 +10,10 @@
"vars.json"
,
"vars.json"
,
"swap.json"
"swap.json"
],
],
"title"
:
"变量的定义"
"title"
:
"变量的定义"
,
"keywords_must"
:
[
"变量的定义"
,
"变量定义"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/3.Java中的变量与常量/2.变量的数据类型/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,9 @@
...
@@ -8,5 +8,9 @@
"export"
:
[
"export"
:
[
"datatype.json"
"datatype.json"
],
],
"title"
:
"变量的数据类型"
"title"
:
"变量的数据类型"
,
"keywords_must"
:
[
"数据类型"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/3.Java中的变量与常量/3.Java中的常量/config.json
浏览文件 @
114c7e87
...
@@ -10,5 +10,9 @@
...
@@ -10,5 +10,9 @@
"export"
:
[
"export"
:
[
"solidity.json"
"solidity.json"
],
],
"title"
:
"Java中的常量"
"title"
:
"Java中的常量"
,
"keywords_must"
:
[
"常量"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/3.Java中的变量与常量/4.变量的作用域/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,9 @@
...
@@ -9,5 +9,9 @@
"export"
:
[
"export"
:
[
"scope.json"
"scope.json"
],
],
"title"
:
"变量的作用域"
"title"
:
"变量的作用域"
,
"keywords_must"
:
[
"作用域"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/3.Java中的变量与常量/config.json
浏览文件 @
114c7e87
...
@@ -3,5 +3,7 @@
...
@@ -3,5 +3,7 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[],
"title"
:
"Java中的变量与常量"
"title"
:
"Java中的变量与常量"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/4.Java中的运算符/1.比较运算符/config.json
浏览文件 @
114c7e87
...
@@ -12,5 +12,14 @@
...
@@ -12,5 +12,14 @@
"find.json"
,
"find.json"
,
"max.json"
"max.json"
],
],
"title"
:
"比较运算符"
"title"
:
"比较运算符"
,
"keywords_must"
:
[
"大于"
,
"小于"
,
"等于"
,
"比较"
,
"不等于"
,
"比较运算符"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/4.Java中的运算符/2.逻辑运算符/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,9 @@
...
@@ -9,5 +9,9 @@
"export"
:
[
"export"
:
[
"logic.json"
"logic.json"
],
],
"title"
:
"逻辑运算符"
"title"
:
"逻辑运算符"
,
"keywords_must"
:
[
"逻辑运算符"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/4.Java中的运算符/3.算术运算符/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,9 @@
...
@@ -8,5 +8,9 @@
"export"
:
[
"export"
:
[
"arithmetic.json"
"arithmetic.json"
],
],
"title"
:
"算术运算符"
"title"
:
"算术运算符"
,
"keywords_must"
:
[
"算术运算符"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/4.Java中的运算符/config.json
浏览文件 @
114c7e87
...
@@ -3,5 +3,7 @@
...
@@ -3,5 +3,7 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[],
"title"
:
"Java中的运算符"
"title"
:
"Java中的运算符"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/5.选择结构语句/1.if条件语句/config.json
浏览文件 @
114c7e87
...
@@ -10,5 +10,11 @@
...
@@ -10,5 +10,11 @@
"export"
:
[
"export"
:
[
"if.json"
"if.json"
],
],
"title"
:
"if条件语句"
"title"
:
"if条件语句"
,
"keywords_must"
:
[
"if条件"
,
"if语句"
,
"if"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/5.选择结构语句/2.switch条件语句/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,9 @@
...
@@ -9,5 +9,9 @@
"children"
:
[],
"children"
:
[],
"export"
:
[
"export"
:
[
"switch.json"
"switch.json"
]
],
"keywords_must"
:
[
"switch"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/5.选择结构语句/config.json
浏览文件 @
114c7e87
...
@@ -3,5 +3,7 @@
...
@@ -3,5 +3,7 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[],
"title"
:
"选择结构语句"
"title"
:
"选择结构语句"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/6.循环结构语句/1.dowhile循环/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,11 @@
...
@@ -8,5 +8,11 @@
"children"
:
[],
"children"
:
[],
"export"
:
[
"export"
:
[
"dowhile.json"
"dowhile.json"
]
],
"keywords_must"
:
[
"循环"
,
"do"
,
"while"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/6.循环结构语句/2.for循环语句/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,9 @@
...
@@ -8,5 +8,9 @@
"export"
:
[
"export"
:
[
"for.json"
"for.json"
],
],
"title"
:
"for循环语句"
"title"
:
"for循环语句"
,
"keywords_must"
:
[
"for"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/6.循环结构语句/config.json
浏览文件 @
114c7e87
...
@@ -3,5 +3,7 @@
...
@@ -3,5 +3,7 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[],
"title"
:
"循环结构语句"
"title"
:
"循环结构语句"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/1.Collection接口/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,10 @@
...
@@ -8,5 +8,10 @@
"export"
:
[
"export"
:
[
"collection.json"
"collection.json"
],
],
"title"
:
"Collection接口"
"title"
:
"Collection接口"
,
"keywords_must"
:
[
"Collection接口"
,
"collection"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/10.树集/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,10 @@
...
@@ -8,5 +8,10 @@
"export"
:
[
"export"
:
[
"treeset.json"
"treeset.json"
],
],
"title"
:
"树集"
"title"
:
"树集"
,
"keywords_must"
:
[
"树集"
,
"treeset"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/11.映射/config.json
浏览文件 @
114c7e87
...
@@ -11,7 +11,9 @@
...
@@ -11,7 +11,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e5ffd95da6854271921fcd063a8e9474"
,
"node_id"
:
"java-e5ffd95da6854271921fcd063a8e9474"
,
"title"
:
"基本映射操作"
"title"
:
"基本映射操作"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -19,7 +21,9 @@
...
@@ -19,7 +21,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-27cbca6c546945238e456fd1402f59b4"
,
"node_id"
:
"java-27cbca6c546945238e456fd1402f59b4"
,
"title"
:
"更新映射条目"
"title"
:
"更新映射条目"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -27,40 +31,54 @@
...
@@ -27,40 +31,54 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f48bf1d3221842f9b45543b1705f870c"
,
"node_id"
:
"java-f48bf1d3221842f9b45543b1705f870c"
,
"title"
:
"映射视图"
"title"
:
"映射视图"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"弱散列映射"
:
{
"弱散列映射"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-ad195243648f4d1b851248f893dbeadd"
"node_id"
:
"java-ad195243648f4d1b851248f893dbeadd"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"链接散列集与映射"
:
{
"链接散列集与映射"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d4b78c6364334984b1c8deea06e6e4d0"
"node_id"
:
"java-d4b78c6364334984b1c8deea06e6e4d0"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"枚举集与映射"
:
{
"枚举集与映射"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a83f26fffc33412cac3e404b57283586"
"node_id"
:
"java-a83f26fffc33412cac3e404b57283586"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"标识散列映射"
:
{
"标识散列映射"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-2f1a04fac2d742e3956e8f633d7fab60"
"node_id"
:
"java-2f1a04fac2d742e3956e8f633d7fab60"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"map.json"
"map.json"
],
],
"title"
:
"映射"
"title"
:
"映射"
,
"keywords_must"
:
[
"映射"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/12.遗留的集合/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-98b609c0de1544bf955cd3e1996224f7"
,
"node_id"
:
"java-98b609c0de1544bf955cd3e1996224f7"
,
"keywords"
:
[
"集合"
,
"legacy"
],
"keywords"
:
[
"集合"
,
"legacy"
],
"children"
:
[
"children"
:
[
{
{
"属性映射"
:
{
"属性映射"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-192390a65e7749569e55494126db91e6"
,
"node_id"
:
"java-192390a65e7749569e55494126db91e6"
,
"title"
:
"属性映射"
"title"
:
"属性映射"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -15,7 +20,9 @@
...
@@ -15,7 +20,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e133d7889d4a4eddbd93fdad42ae04a5"
,
"node_id"
:
"java-e133d7889d4a4eddbd93fdad42ae04a5"
,
"title"
:
"栈"
"title"
:
"栈"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -23,10 +30,18 @@
...
@@ -23,10 +30,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-cc16eefb70744aea9126a1b697d20502"
,
"node_id"
:
"java-cc16eefb70744aea9126a1b697d20502"
,
"title"
:
"位集"
"title"
:
"位集"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"legacy.json"
],
"export"
:
[
"title"
:
"遗留的集合"
"legacy.json"
],
"title"
:
"遗留的集合"
,
"keywords_must"
:
[
"遗留的集合"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/13.编写equals和hashCode/config.json
浏览文件 @
114c7e87
...
@@ -10,5 +10,10 @@
...
@@ -10,5 +10,10 @@
"equals.json"
,
"equals.json"
,
"hashCode.json"
"hashCode.json"
],
],
"title"
:
"编写equals和hashCode"
"title"
:
"编写equals和hashCode"
,
"keywords_must"
:
[
"equals"
,
"hashCode"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/14.使用TreeMap/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,9 @@
...
@@ -9,5 +9,9 @@
"export"
:
[
"export"
:
[
"treemap.json"
"treemap.json"
],
],
"title"
:
"使用TreeMap"
"title"
:
"使用TreeMap"
,
"keywords_must"
:
[
"TreeMap"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/15.使用Properties/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,10 @@
...
@@ -9,5 +9,10 @@
"export"
:
[
"export"
:
[
"properties.json"
"properties.json"
],
],
"title"
:
"使用Properties"
"title"
:
"使用Properties"
,
"keywords_must"
:
[
"属性"
,
"Properties"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/16.使用Deque/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,10 @@
...
@@ -8,5 +8,10 @@
"export"
:
[
"export"
:
[
"deque.json"
"deque.json"
],
],
"title"
:
"使用Deque"
"title"
:
"使用Deque"
,
"keywords_must"
:
[
"Deque"
,
"双端队列"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/2.List接口/config.json
浏览文件 @
114c7e87
...
@@ -11,7 +11,9 @@
...
@@ -11,7 +11,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a65c6affd9d24c05aac81eb991fa544f"
,
"node_id"
:
"java-a65c6affd9d24c05aac81eb991fa544f"
,
"title"
:
"List接口简介"
"title"
:
"List接口简介"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -19,7 +21,9 @@
...
@@ -19,7 +21,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e617fbd29e3e416c980229a8f23ae0a7"
,
"node_id"
:
"java-e617fbd29e3e416c980229a8f23ae0a7"
,
"title"
:
"ArrayList集合"
"title"
:
"ArrayList集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -27,12 +31,20 @@
...
@@ -27,12 +31,20 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-8de89dae93b345ed947abe5cf9f9d572"
,
"node_id"
:
"java-8de89dae93b345ed947abe5cf9f9d572"
,
"title"
:
"LinkedList集合"
"title"
:
"LinkedList集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"list.json"
"list.json"
],
],
"title"
:
"List接口"
"title"
:
"List接口"
,
"keywords_must"
:
[
"list"
,
"列表"
,
"List接口"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/3.Collection集合遍历/config.json
浏览文件 @
114c7e87
...
@@ -11,7 +11,9 @@
...
@@ -11,7 +11,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-71c08f278be9482492f5746259d7fd0c"
,
"node_id"
:
"java-71c08f278be9482492f5746259d7fd0c"
,
"title"
:
"Iterator遍历集合"
"title"
:
"Iterator遍历集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -19,7 +21,9 @@
...
@@ -19,7 +21,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-16725289376e4ff8ba87f63b82f362bc"
,
"node_id"
:
"java-16725289376e4ff8ba87f63b82f362bc"
,
"title"
:
"foreach遍历集合"
"title"
:
"foreach遍历集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -27,12 +31,19 @@
...
@@ -27,12 +31,19 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-33bb9663a9e941c19e0e28bfdc9cfc0c"
,
"node_id"
:
"java-33bb9663a9e941c19e0e28bfdc9cfc0c"
,
"title"
:
"JDK 8的forEach遍历集合"
"title"
:
"JDK 8的forEach遍历集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"iteratable.json"
"iteratable.json"
],
],
"title"
:
"Collection集合遍历"
"title"
:
"Collection集合遍历"
,
"keywords_must"
:
[
"遍历"
,
"迭代"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/4.Set接口/config.json
浏览文件 @
114c7e87
...
@@ -10,7 +10,9 @@
...
@@ -10,7 +10,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-80d1ea8eb29b4d42927df1703fd18027"
,
"node_id"
:
"java-80d1ea8eb29b4d42927df1703fd18027"
,
"title"
:
"Set接口简介"
"title"
:
"Set接口简介"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -18,7 +20,9 @@
...
@@ -18,7 +20,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-70d9c1df4141440f815dcab59fb5d2fe"
,
"node_id"
:
"java-70d9c1df4141440f815dcab59fb5d2fe"
,
"title"
:
"HashSet集合"
"title"
:
"HashSet集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -26,12 +30,19 @@
...
@@ -26,12 +30,19 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5e236f021e0545638e9785a3dde8a870"
,
"node_id"
:
"java-5e236f021e0545638e9785a3dde8a870"
,
"title"
:
"TreeSet集合"
"title"
:
"TreeSet集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"set.json"
"set.json"
],
],
"title"
:
"Set接口"
"title"
:
"Set接口"
,
"keywords_must"
:
[
"set"
,
"集合"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/5.Map接口/config.json
浏览文件 @
114c7e87
...
@@ -11,7 +11,9 @@
...
@@ -11,7 +11,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d5f0355891b4454f959628df25004459"
,
"node_id"
:
"java-d5f0355891b4454f959628df25004459"
,
"title"
:
"Map接口简介"
"title"
:
"Map接口简介"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -19,7 +21,9 @@
...
@@ -19,7 +21,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-7e4b2b11a68a485e97706575f8a53995"
,
"node_id"
:
"java-7e4b2b11a68a485e97706575f8a53995"
,
"title"
:
"HashMap集合"
"title"
:
"HashMap集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -27,26 +31,37 @@
...
@@ -27,26 +31,37 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-4f293ef4f50f441d8e45935103f4c70f"
,
"node_id"
:
"java-4f293ef4f50f441d8e45935103f4c70f"
,
"title"
:
"Map集合遍历"
"title"
:
"Map集合遍历"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"TreeMap集合"
:
{
"TreeMap集合"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-90d9396d834d409181104119600f5ced"
"node_id"
:
"java-90d9396d834d409181104119600f5ced"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"Properties集合"
:
{
"Properties集合"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-4c352b41a0c1470da4a65df2e237a0c0"
"node_id"
:
"java-4c352b41a0c1470da4a65df2e237a0c0"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"map.json"
"map.json"
],
],
"title"
:
"Map接口"
"title"
:
"Map接口"
,
"keywords_must"
:
[
"Map接口"
,
"map"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/6.Java集合框架/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-af0bf70f564b4ac68a7fadda69d55086"
,
"node_id"
:
"java-af0bf70f564b4ac68a7fadda69d55086"
,
"keywords"
:
[
"集合"
,
"collection"
],
"keywords"
:
[
"集合"
,
"collection"
],
"children"
:
[
"children"
:
[
{
{
"集合接口与实现分离"
:
{
"集合接口与实现分离"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-077624845de241b7b7fc51ff1b596357"
,
"node_id"
:
"java-077624845de241b7b7fc51ff1b596357"
,
"title"
:
"集合接口与实现分离"
"title"
:
"集合接口与实现分离"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -15,12 +20,18 @@
...
@@ -15,12 +20,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-22ea8a449e214efdb7d4e7c6207ff976"
,
"node_id"
:
"java-22ea8a449e214efdb7d4e7c6207ff976"
,
"title"
:
"泛型实用方法"
"title"
:
"泛型实用方法"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"collection.json"
"collection.json"
],
],
"title"
:
"Java集合框架"
"title"
:
"Java集合框架"
,
"keywords_must"
:
[
"集合框架"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/7.链表/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,9 @@
...
@@ -8,5 +8,9 @@
"export"
:
[
"export"
:
[
"linkedlist.json"
"linkedlist.json"
],
],
"title"
:
"链表"
"title"
:
"链表"
,
"keywords_must"
:
[
"链表"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/8.数组列表/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,10 @@
...
@@ -8,5 +8,10 @@
"export"
:
[
"export"
:
[
"arraylist.json"
"arraylist.json"
],
],
"title"
:
"数组列表"
"title"
:
"数组列表"
,
"keywords_must"
:
[
"数组列表"
,
"ArrayList"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/9.散列集/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,10 @@
...
@@ -8,5 +8,10 @@
"export"
:
[
"export"
:
[
"hashset.json"
"hashset.json"
],
],
"title"
:
"散列集"
"title"
:
"散列集"
,
"keywords_must"
:
[
"散列集"
,
"HashSet"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/7.集合/config.json
浏览文件 @
114c7e87
...
@@ -3,5 +3,7 @@
...
@@ -3,5 +3,7 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[],
"title"
:
"集合"
"title"
:
"集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/8.操作符/1.算术操作符/config.json
浏览文件 @
114c7e87
...
@@ -9,12 +9,18 @@
...
@@ -9,12 +9,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-4bc48dc6ab4246bdb83adbabade26959"
,
"node_id"
:
"java-4bc48dc6ab4246bdb83adbabade26959"
,
"title"
:
"一元加、减操作符"
"title"
:
"一元加、减操作符"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"arithmetic.json"
"arithmetic.json"
],
],
"title"
:
"算术操作符"
"title"
:
"算术操作符"
,
"keywords_must"
:
[
"算术操作符"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/8.操作符/2.自动递增和递减/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,10 @@
...
@@ -8,5 +8,10 @@
"export"
:
[
"export"
:
[
"autoincrease.json"
"autoincrease.json"
],
],
"title"
:
"自动递增和递减"
"title"
:
"自动递增和递减"
,
"keywords_must"
:
[
"自动递增"
,
"自动递减"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/8.操作符/3.关系操作符/config.json
浏览文件 @
114c7e87
...
@@ -9,12 +9,19 @@
...
@@ -9,12 +9,19 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-16c4fd7348aa467e9127ba633a22a5b1"
,
"node_id"
:
"java-16c4fd7348aa467e9127ba633a22a5b1"
,
"title"
:
"测试对象的等价性"
"title"
:
"测试对象的等价性"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"relatship.json"
"relatship.json"
],
],
"title"
:
"关系操作符"
"title"
:
"关系操作符"
,
"keywords_must"
:
[
"关系运算符"
,
"关系操作符"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/8.操作符/4.逻辑操作符/config.json
浏览文件 @
114c7e87
...
@@ -12,12 +12,19 @@
...
@@ -12,12 +12,19 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-cd873cea5a47486aa325d241d78e65c3"
,
"node_id"
:
"java-cd873cea5a47486aa325d241d78e65c3"
,
"title"
:
"短路"
"title"
:
"短路"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"logic.json"
"logic.json"
],
],
"title"
:
"逻辑操作符"
"title"
:
"逻辑操作符"
,
"keywords_must"
:
[
"逻辑操作符"
,
"逻辑运算符"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/8.操作符/5.按位操作符/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,12 @@
...
@@ -9,5 +9,12 @@
"export"
:
[
"export"
:
[
"bit.json"
"bit.json"
],
],
"title"
:
"按位操作符"
"title"
:
"按位操作符"
,
"keywords_must"
:
[
"按位操作符"
,
"位运算"
,
"bit"
,
"比特"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/8.操作符/6.移位操作符/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,12 @@
...
@@ -9,5 +9,12 @@
"export"
:
[
"export"
:
[
"move.json"
"move.json"
],
],
"title"
:
"移位操作符"
"title"
:
"移位操作符"
,
"keywords_must"
:
[
"移位操作符"
,
"移位"
,
"左移"
,
"右移"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/8.操作符/7.三元操作符if-else/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,10 @@
...
@@ -8,5 +8,10 @@
"export"
:
[
"export"
:
[
"three.json"
"three.json"
],
],
"title"
:
"三元操作符if-else"
"title"
:
"三元操作符if-else"
,
"keywords_must"
:
[
"三元操作符"
,
"三元运算符"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/8.操作符/8.字符串操作符 + 和 +=/config.json
浏览文件 @
114c7e87
...
@@ -7,5 +7,10 @@
...
@@ -7,5 +7,10 @@
"export"
:
[
"export"
:
[
"String.json"
"String.json"
],
],
"title"
:
"字符串操作符 + 和 +="
"title"
:
"字符串操作符 + 和 +="
,
"keywords_must"
:
[
"字符串操作符"
,
"字符串运算符"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/8.操作符/config.json
浏览文件 @
114c7e87
...
@@ -7,7 +7,9 @@
...
@@ -7,7 +7,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-dd5d556c5c1c4d8e846b4c86dc20efa5"
,
"node_id"
:
"java-dd5d556c5c1c4d8e846b4c86dc20efa5"
,
"title"
:
"File类的常用方法"
"title"
:
"File类的常用方法"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -15,7 +17,9 @@
...
@@ -15,7 +17,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-bf56f83199e94ca58681a5c8faa7e629"
,
"node_id"
:
"java-bf56f83199e94ca58681a5c8faa7e629"
,
"title"
:
"遍历目录下的文件"
"title"
:
"遍历目录下的文件"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -23,66 +27,86 @@
...
@@ -23,66 +27,86 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-61ba29dce9c84bcdaca695d6758723b6"
,
"node_id"
:
"java-61ba29dce9c84bcdaca695d6758723b6"
,
"title"
:
"删除文件及目录"
"title"
:
"删除文件及目录"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"创建文件对象"
:
{
"创建文件对象"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-04e28b87bd7c4f7fb1b6dbbad86644ce"
"node_id"
:
"java-04e28b87bd7c4f7fb1b6dbbad86644ce"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"文件操作"
:
{
"文件操作"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-245d52da871f47b680a2df5424ee5537"
"node_id"
:
"java-245d52da871f47b680a2df5424ee5537"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"文件夹操作"
:
{
"文件夹操作"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-cc521bb4f0e9416fbc4e409d9140fde8"
"node_id"
:
"java-cc521bb4f0e9416fbc4e409d9140fde8"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"目录列表器"
:
{
"目录列表器"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9fa9bdffce824b308879ea5dcd122e24"
"node_id"
:
"java-9fa9bdffce824b308879ea5dcd122e24"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"目录实用工具"
:
{
"目录实用工具"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-cd3380af5c62475295c52f5487315d27"
"node_id"
:
"java-cd3380af5c62475295c52f5487315d27"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"目录的检查及创建"
:
{
"目录的检查及创建"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-4189262092324533bbdec5e27f1d1a47"
"node_id"
:
"java-4189262092324533bbdec5e27f1d1a47"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"文件的创建与删除"
:
{
"文件的创建与删除"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-67f067f70bfd4cfb953f82d035c482fe"
"node_id"
:
"java-67f067f70bfd4cfb953f82d035c482fe"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"获取文件信息"
:
{
"获取文件信息"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-3105a50be8124cbab80ffb5a34e3979d"
"node_id"
:
"java-3105a50be8124cbab80ffb5a34e3979d"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[],
"export"
:
[],
"title"
:
"操作符"
"title"
:
"操作符"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/9.控制执行流程/1.if-else/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,10 @@
...
@@ -9,5 +9,10 @@
"export"
:
[
"export"
:
[
"ifelse.json"
"ifelse.json"
],
],
"title"
:
"if-else"
"title"
:
"if-else"
,
"keywords_must"
:
[
"if"
,
"else"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/9.控制执行流程/2.for/config.json
浏览文件 @
114c7e87
...
@@ -11,5 +11,11 @@
...
@@ -11,5 +11,11 @@
"for.json"
,
"for.json"
,
"foreach.json"
"foreach.json"
],
],
"title"
:
"Foreach语法"
"title"
:
"Foreach语法"
,
"keywords_must"
:
[
"for"
,
"for循环"
,
"foreach"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/9.控制执行流程/3.switch/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,9 @@
...
@@ -8,5 +8,9 @@
"export"
:
[
"export"
:
[
"switch.json"
"switch.json"
],
],
"title"
:
"switch"
"title"
:
"switch"
,
"keywords_must"
:
[
"switch"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/9.控制执行流程/4.通过异常处理错误/config.json
浏览文件 @
114c7e87
...
@@ -13,7 +13,9 @@
...
@@ -13,7 +13,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-22d139aee4b640beaff3f5f983c9f4e8"
,
"node_id"
:
"java-22d139aee4b640beaff3f5f983c9f4e8"
,
"title"
:
"概念"
"title"
:
"概念"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -25,54 +27,70 @@
...
@@ -25,54 +27,70 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9483eeb4d68842488b3acbc8c9764322"
,
"node_id"
:
"java-9483eeb4d68842488b3acbc8c9764322"
,
"title"
:
"try块"
"title"
:
"try块"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"异常处理程序"
:
{
"异常处理程序"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-34829a03d7b041198477e09029c37f49"
"node_id"
:
"java-34829a03d7b041198477e09029c37f49"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"f?inally子句"
:
{
"f?inally子句"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-27871ba11aeb4aefa542e4ac87620018"
"node_id"
:
"java-27871ba11aeb4aefa542e4ac87620018"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"try-with-Resources语句"
:
{
"try-with-Resources语句"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-20c0416fd93848d182e67ffa2cc67e35"
"node_id"
:
"java-20c0416fd93848d182e67ffa2cc67e35"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"分析堆栈轨迹元素"
:
{
"分析堆栈轨迹元素"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-fc4ca42328554153846c7ac13704d030"
"node_id"
:
"java-fc4ca42328554153846c7ac13704d030"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-a2f7a14e5a2743e297ae25d808b6a5aa"
,
"node_id"
:
"java-a2f7a14e5a2743e297ae25d808b6a5aa"
,
"title"
:
"捕获异常"
"title"
:
"捕获异常"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"创建自定义异常"
:
{
"创建自定义异常"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c2463f0ab5784161a9b3c086ca8f31ff"
"node_id"
:
"java-c2463f0ab5784161a9b3c086ca8f31ff"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"异常说明"
:
{
"异常说明"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c3aea15c0f494a078ffd747a1f3dd271"
"node_id"
:
"java-c3aea15c0f494a078ffd747a1f3dd271"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -83,25 +101,33 @@
...
@@ -83,25 +101,33 @@
"栈轨迹"
:
{
"栈轨迹"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9741356278ec4ecda2af9baddde74e01"
"node_id"
:
"java-9741356278ec4ecda2af9baddde74e01"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"重新抛出异常"
:
{
"重新抛出异常"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-81f1f5af115648338a8ea8d11f2c0ec1"
"node_id"
:
"java-81f1f5af115648338a8ea8d11f2c0ec1"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"异常链"
:
{
"异常链"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-dc3ceecd4a0943dcb4e1e18d0e6131ca"
"node_id"
:
"java-dc3ceecd4a0943dcb4e1e18d0e6131ca"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-e821208680094805a93e1e6f46bca86d"
"node_id"
:
"java-e821208680094805a93e1e6f46bca86d"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -112,11 +138,15 @@
...
@@ -112,11 +138,15 @@
"特例: RuntimeException(运行时异常)"
:
{
"特例: RuntimeException(运行时异常)"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-27967b17e29d4855907f199a4172fe9e"
"node_id"
:
"java-27967b17e29d4855907f199a4172fe9e"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-cce481b5ed99444e8205d59de0c80d55"
"node_id"
:
"java-cce481b5ed99444e8205d59de0c80d55"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -127,25 +157,33 @@
...
@@ -127,25 +157,33 @@
"finally用来做什么"
:
{
"finally用来做什么"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-1d8dfbe207ab4ee289783363fabb2eef"
"node_id"
:
"java-1d8dfbe207ab4ee289783363fabb2eef"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"在return中使用finally"
:
{
"在return中使用finally"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-2185abe1d4d947e09953dd9c0b690a30"
"node_id"
:
"java-2185abe1d4d947e09953dd9c0b690a30"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"缺憾:异常丢失"
:
{
"缺憾:异常丢失"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5c49dbfd363c4a6da7c3f8b7f4f8e6e3"
"node_id"
:
"java-5c49dbfd363c4a6da7c3f8b7f4f8e6e3"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-8cb3b3570df04f34a49497691839c64a"
"node_id"
:
"java-8cb3b3570df04f34a49497691839c64a"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -156,25 +194,33 @@
...
@@ -156,25 +194,33 @@
"使用构造器执行初始化"
:
{
"使用构造器执行初始化"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f1f617dafd7c4cff9fa6ab53a8c4a24f"
"node_id"
:
"java-f1f617dafd7c4cff9fa6ab53a8c4a24f"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"构造器重载"
:
{
"构造器重载"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-6774bbb97e27423090f2446f14f370b5"
"node_id"
:
"java-6774bbb97e27423090f2446f14f370b5"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-0b5559794c0d42f6b323e0db663d4e20"
"node_id"
:
"java-0b5559794c0d42f6b323e0db663d4e20"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"异常匹配"
:
{
"异常匹配"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-54a2a15979ac4d5db7813bb86d9d3ba4"
"node_id"
:
"java-54a2a15979ac4d5db7813bb86d9d3ba4"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -185,39 +231,51 @@
...
@@ -185,39 +231,51 @@
"历史"
:
{
"历史"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9fd5d926c8714cb8b533735e2516af3b"
"node_id"
:
"java-9fd5d926c8714cb8b533735e2516af3b"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"观点"
:
{
"观点"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-8adfa2512354498fa87e1272412372a1"
"node_id"
:
"java-8adfa2512354498fa87e1272412372a1"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"把异常传递给控制台"
:
{
"把异常传递给控制台"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c977e83a138c492197e596c052f61901"
"node_id"
:
"java-c977e83a138c492197e596c052f61901"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"把“受检查异常”转换为“不受检查的异常”"
:
{
"把“受检查异常”转换为“不受检查的异常”"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-b8e0c52eb6734b78b5903d46f7ed8b8d"
"node_id"
:
"java-b8e0c52eb6734b78b5903d46f7ed8b8d"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-fcc8f860a91547a69eb95aa905a36e11"
"node_id"
:
"java-fcc8f860a91547a69eb95aa905a36e11"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"异常使用指南"
:
{
"异常使用指南"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-db2eed2dbf644d468f2b83cd15f736d2"
"node_id"
:
"java-db2eed2dbf644d468f2b83cd15f736d2"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
...
@@ -227,5 +285,12 @@
...
@@ -227,5 +285,12 @@
"runtime_exception.json"
,
"runtime_exception.json"
,
"checked_exception.json"
"checked_exception.json"
],
],
"title"
:
"通过异常处理错误"
"title"
:
"通过异常处理错误"
,
"keywords_must"
:
[
"异常"
,
"try"
,
"catch"
,
"finally"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/9.控制执行流程/5.函数/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,10 @@
...
@@ -9,5 +9,10 @@
"call.json"
,
"call.json"
,
"parser.json"
,
"parser.json"
,
"permutation.json"
"permutation.json"
]
],
"keywords_must"
:
[
"函数"
,
"function"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/9.控制执行流程/config.json
浏览文件 @
114c7e87
...
@@ -3,5 +3,7 @@
...
@@ -3,5 +3,7 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[],
"title"
:
"控制执行流程"
"title"
:
"控制执行流程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.Java初阶/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-4954429a60de4bb6873ccae89d58bb2d"
,
"node_id"
:
"java-4954429a60de4bb6873ccae89d58bb2d"
,
"keywords"
:
[],
"keywords"
:
[],
"title"
:
"Java初阶"
"title"
:
"Java初阶"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/1.IO/1.流概述/config.json
浏览文件 @
114c7e87
...
@@ -10,5 +10,10 @@
...
@@ -10,5 +10,10 @@
"export"
:
[
"export"
:
[
"Abstract.json"
"Abstract.json"
],
],
"title"
:
"流概述"
"title"
:
"流概述"
,
"keywords_must"
:
[
"流概述"
,
"stream"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/1.IO/2.RandomAccessFile/config.json
浏览文件 @
114c7e87
...
@@ -10,5 +10,10 @@
...
@@ -10,5 +10,10 @@
"export"
:
[
"export"
:
[
"RandomAccessFile.json"
"RandomAccessFile.json"
],
],
"title"
:
"RandomAccessFile"
"title"
:
"RandomAccessFile"
,
"keywords_must"
:
[
"随机访问文件"
,
"RandomAccessFile"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/1.IO/3.输入输出流/config.json
浏览文件 @
114c7e87
...
@@ -13,7 +13,9 @@
...
@@ -13,7 +13,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-31c61c28f4f14905a0284be89b245dcf"
,
"node_id"
:
"java-31c61c28f4f14905a0284be89b245dcf"
,
"title"
:
"输入流"
"title"
:
"输入流"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -21,12 +23,20 @@
...
@@ -21,12 +23,20 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-de7d542804424ec0986fa6ca0fd2ec45"
,
"node_id"
:
"java-de7d542804424ec0986fa6ca0fd2ec45"
,
"title"
:
"输出流"
"title"
:
"输出流"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Input.json"
"Input.json"
],
],
"title"
:
"输入输出流"
"title"
:
"输入输出流"
,
"keywords_must"
:
[
"输入输出流"
,
"输入流"
,
"输出流"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/1.IO/4.文件输入输出流/config.json
浏览文件 @
114c7e87
...
@@ -16,7 +16,9 @@
...
@@ -16,7 +16,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0aba4828a38347a9b703e7c3ae608530"
,
"node_id"
:
"java-0aba4828a38347a9b703e7c3ae608530"
,
"title"
:
"FileInputStream类与FileOutputStream类"
"title"
:
"FileInputStream类与FileOutputStream类"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -24,7 +26,9 @@
...
@@ -24,7 +26,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d95e2c9886a6441d8a2cdf3710d5204e"
,
"node_id"
:
"java-d95e2c9886a6441d8a2cdf3710d5204e"
,
"title"
:
"FileReader类与FileWriter类"
"title"
:
"FileReader类与FileWriter类"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
...
@@ -32,5 +36,13 @@
...
@@ -32,5 +36,13 @@
"FileRead.json"
,
"FileRead.json"
,
"FileWriter.json"
"FileWriter.json"
],
],
"title"
:
"文件输入输出流"
"title"
:
"文件输入输出流"
,
"keywords_must"
:
[
"文件输入输出流"
,
"文件输入流"
,
"文件输出流"
,
"reader"
,
"writer"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/1.IO/5.对象序列化/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,11 @@
...
@@ -9,5 +9,11 @@
"export"
:
[
"export"
:
[
"ObjectSerializable.json"
"ObjectSerializable.json"
],
],
"title"
:
"对象序列化"
"title"
:
"对象序列化"
,
"keywords_must"
:
[
"序列化"
,
"serialize"
,
"serializable"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/1.IO/6.ZIP压缩输入输出流/config.json
浏览文件 @
114c7e87
...
@@ -16,7 +16,9 @@
...
@@ -16,7 +16,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-2119c3a172d24aab804d8ffaed6ddd18"
,
"node_id"
:
"java-2119c3a172d24aab804d8ffaed6ddd18"
,
"title"
:
"压缩文件"
"title"
:
"压缩文件"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -24,7 +26,9 @@
...
@@ -24,7 +26,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-554dc7711b104ed9a80c5a6b7c1489ee"
,
"node_id"
:
"java-554dc7711b104ed9a80c5a6b7c1489ee"
,
"title"
:
"解压缩ZIP文件"
"title"
:
"解压缩ZIP文件"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
...
@@ -32,5 +36,9 @@
...
@@ -32,5 +36,9 @@
"Zip.json"
,
"Zip.json"
,
"Unzip.json"
"Unzip.json"
],
],
"title"
:
"ZIP压缩输入输出流"
"title"
:
"ZIP压缩输入输出流"
,
"keywords_must"
:
[
"ZIP压缩"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/1.IO/7.InputStream类型/config.json
浏览文件 @
114c7e87
...
@@ -10,5 +10,9 @@
...
@@ -10,5 +10,9 @@
"export"
:
[
"export"
:
[
"unzip.json"
"unzip.json"
],
],
"title"
:
"InputStream类型"
"title"
:
"InputStream类型"
,
"keywords_must"
:
[
"InputStream"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/1.IO/8.OutputStream类型/config.json
浏览文件 @
114c7e87
...
@@ -10,5 +10,9 @@
...
@@ -10,5 +10,9 @@
"export"
:
[
"export"
:
[
"zip.json"
"zip.json"
],
],
"title"
:
"OutputStream类型"
"title"
:
"OutputStream类型"
,
"keywords_must"
:
[
"OutputStream"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/1.IO/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-6205d98db8c64cfaae6dced8c2f96caa"
,
"node_id"
:
"java-6205d98db8c64cfaae6dced8c2f96caa"
,
"keywords"
:
[],
"keywords"
:
[],
"title"
:
"IO(输入输出)"
"title"
:
"IO(输入输出)"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/2.使用JDBC操作数据库/1.JDBC概述/config.json
浏览文件 @
114c7e87
...
@@ -12,7 +12,9 @@
...
@@ -12,7 +12,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5decb41b064a492db20362e136c0b2e2"
,
"node_id"
:
"java-5decb41b064a492db20362e136c0b2e2"
,
"title"
:
"JDBC-ODBC桥"
"title"
:
"JDBC-ODBC桥"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -20,7 +22,9 @@
...
@@ -20,7 +22,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e89787459ec64fbeb80a9ba3cc7eac54"
,
"node_id"
:
"java-e89787459ec64fbeb80a9ba3cc7eac54"
,
"title"
:
"JDBC技术"
"title"
:
"JDBC技术"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -28,7 +32,9 @@
...
@@ -28,7 +32,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-df3cd40dc360446296cf9c97f3a72e61"
,
"node_id"
:
"java-df3cd40dc360446296cf9c97f3a72e61"
,
"title"
:
"JDBC驱动程序的类型"
"title"
:
"JDBC驱动程序的类型"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
...
@@ -36,5 +42,9 @@
...
@@ -36,5 +42,9 @@
"Abstract.json"
,
"Abstract.json"
,
"DriverType.json"
"DriverType.json"
],
],
"title"
:
"JDBC概述"
"title"
:
"JDBC概述"
,
"keywords_must"
:
[
"JDBC概述"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/2.使用JDBC操作数据库/2.数据库操作/config.json
浏览文件 @
114c7e87
...
@@ -16,7 +16,9 @@
...
@@ -16,7 +16,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-6217b237af9545cb8ea45e2390827761"
,
"node_id"
:
"java-6217b237af9545cb8ea45e2390827761"
,
"title"
:
"数据库基础"
"title"
:
"数据库基础"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -24,7 +26,9 @@
...
@@ -24,7 +26,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d836337812bc438a8c527df151870250"
,
"node_id"
:
"java-d836337812bc438a8c527df151870250"
,
"title"
:
"数据查询"
"title"
:
"数据查询"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -32,14 +36,18 @@
...
@@ -32,14 +36,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d54f7e1e96ad44d3bf7240f694e2e53c"
,
"node_id"
:
"java-d54f7e1e96ad44d3bf7240f694e2e53c"
,
"title"
:
"动态查询"
"title"
:
"动态查询"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"添加、修改、删除记录"
:
{
"添加、修改、删除记录"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f2f1d3facff943e9b169dbb6a43a5004"
"node_id"
:
"java-f2f1d3facff943e9b169dbb6a43a5004"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -50,60 +58,78 @@
...
@@ -50,60 +58,78 @@
"什么是数据库"
:
{
"什么是数据库"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-668c52db99de4dad9483809106b38932"
"node_id"
:
"java-668c52db99de4dad9483809106b38932"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"数据库的种类及功能"
:
{
"数据库的种类及功能"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-70a72823b0534f5e9bc397af6b3674f1"
"node_id"
:
"java-70a72823b0534f5e9bc397af6b3674f1"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"SQL语言"
:
{
"SQL语言"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-93da6e5c26914eb7926261276e4b3d3c"
"node_id"
:
"java-93da6e5c26914eb7926261276e4b3d3c"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-987b58f5cc48422f899ac000d51c5bae"
"node_id"
:
"java-987b58f5cc48422f899ac000d51c5bae"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"向数据库发送SQL语句"
:
{
"向数据库发送SQL语句"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a78e2ce00e4a443e9caccf68836c259c"
"node_id"
:
"java-a78e2ce00e4a443e9caccf68836c259c"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"处理查询结果集"
:
{
"处理查询结果集"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-98f0846a37ce4528b8a44c656cbc1bef"
"node_id"
:
"java-98f0846a37ce4528b8a44c656cbc1bef"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"顺序查询"
:
{
"顺序查询"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-10964bbc05c6429aa0a416ffe3d72530"
"node_id"
:
"java-10964bbc05c6429aa0a416ffe3d72530"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"模糊查询"
:
{
"模糊查询"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-bb40f3c631dc4da9a045c47a5a2fcdab"
"node_id"
:
"java-bb40f3c631dc4da9a045c47a5a2fcdab"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"预处理语句"
:
{
"预处理语句"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d57228f74f1d4a2da114c47357729b28"
"node_id"
:
"java-d57228f74f1d4a2da114c47357729b28"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
...
@@ -112,5 +138,9 @@
...
@@ -112,5 +138,9 @@
"CRUD.json"
,
"CRUD.json"
,
"Transaction.json"
"Transaction.json"
],
],
"title"
:
"数据库操作"
"title"
:
"数据库操作"
,
"keywords_must"
:
[
"数据库"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/2.使用JDBC操作数据库/config.json
浏览文件 @
114c7e87
...
@@ -3,5 +3,7 @@
...
@@ -3,5 +3,7 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[],
"title"
:
"使用JDBC操作数据库"
"title"
:
"使用JDBC操作数据库"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/3.NIO/1.NIO概述/config.json
浏览文件 @
114c7e87
...
@@ -7,5 +7,9 @@
...
@@ -7,5 +7,9 @@
"export"
:
[
"export"
:
[
"NIOAbstract.json"
"NIOAbstract.json"
],
],
"title"
:
"NIO概述"
"title"
:
"NIO概述"
,
"keywords_must"
:
[
"nio"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/3.NIO/2.Buffer(缓冲器)/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,10 @@
...
@@ -9,5 +9,10 @@
"BufferType.json"
,
"BufferType.json"
,
"BufferRead.json"
"BufferRead.json"
],
],
"title"
:
"Buffer(缓冲器)"
"title"
:
"Buffer(缓冲器)"
,
"keywords_must"
:
[
"buffer"
,
"缓冲器"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/3.NIO/3.Channel(通道)/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,10 @@
...
@@ -9,5 +9,10 @@
"Channel.json"
,
"Channel.json"
,
"ChannelType.json"
"ChannelType.json"
],
],
"title"
:
"Channel(通道)"
"title"
:
"Channel(通道)"
,
"keywords_must"
:
[
"channel"
,
"通道"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/3.NIO/4.字符集和Charset/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,10 @@
...
@@ -8,5 +8,10 @@
"export"
:
[
"export"
:
[
"Charset.json"
"Charset.json"
],
],
"title"
:
"字符集和Charset"
"title"
:
"字符集和Charset"
,
"keywords_must"
:
[
"字符集"
,
"charset"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/3.NIO/5.文件锁/config.json
浏览文件 @
114c7e87
...
@@ -10,5 +10,10 @@
...
@@ -10,5 +10,10 @@
"export"
:
[
"export"
:
[
"FileLock.json"
"FileLock.json"
],
],
"title"
:
"文件锁"
"title"
:
"文件锁"
,
"keywords_must"
:
[
"文件锁"
,
"lock"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/3.NIO/6.Path接口/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,9 @@
...
@@ -9,5 +9,9 @@
"export"
:
[
"export"
:
[
"Path.json"
"Path.json"
],
],
"title"
:
"Path接口"
"title"
:
"Path接口"
,
"keywords_must"
:
[
"Path接口"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/3.NIO/7.Files工具类/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,9 @@
...
@@ -8,5 +8,9 @@
"export"
:
[
"export"
:
[
"Files.json"
"Files.json"
],
],
"title"
:
"Files工具类"
"title"
:
"Files工具类"
,
"keywords_must"
:
[
"Files"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/3.NIO/config.json
浏览文件 @
114c7e87
...
@@ -7,7 +7,9 @@
...
@@ -7,7 +7,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5d2f136c78e04fa1ac236d2a9f469be2"
,
"node_id"
:
"java-5d2f136c78e04fa1ac236d2a9f469be2"
,
"title"
:
"数据库基础"
"title"
:
"数据库基础"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -15,7 +17,9 @@
...
@@ -15,7 +17,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-54db58ed51fd42668ba64fbd3344461c"
,
"node_id"
:
"java-54db58ed51fd42668ba64fbd3344461c"
,
"title"
:
"数据查询"
"title"
:
"数据查询"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -23,14 +27,18 @@
...
@@ -23,14 +27,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-fc3d4e7b55b04c5fa07fb3fe6979a85d"
,
"node_id"
:
"java-fc3d4e7b55b04c5fa07fb3fe6979a85d"
,
"title"
:
"动态查询"
"title"
:
"动态查询"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"添加、修改、删除记录"
:
{
"添加、修改、删除记录"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5742eb0d261c4387959fb28b519ca047"
"node_id"
:
"java-5742eb0d261c4387959fb28b519ca047"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -41,63 +49,83 @@
...
@@ -41,63 +49,83 @@
"什么是数据库"
:
{
"什么是数据库"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c89fefa8e3a0491eafaad815e0152d21"
"node_id"
:
"java-c89fefa8e3a0491eafaad815e0152d21"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"数据库的种类及功能"
:
{
"数据库的种类及功能"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-083ec3f2978f406888933c00494f1928"
"node_id"
:
"java-083ec3f2978f406888933c00494f1928"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"SQL语言"
:
{
"SQL语言"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a429d7c8c3f444adb145cc503f09bd08"
"node_id"
:
"java-a429d7c8c3f444adb145cc503f09bd08"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-66d1a230060b4fbbbae06ddd1946f9d7"
"node_id"
:
"java-66d1a230060b4fbbbae06ddd1946f9d7"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"向数据库发送SQL语句"
:
{
"向数据库发送SQL语句"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-7d30f61ce372426091be3a2b1c24e61a"
"node_id"
:
"java-7d30f61ce372426091be3a2b1c24e61a"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"处理查询结果集"
:
{
"处理查询结果集"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-fd1a0d435bd647f09b78d73628121af4"
"node_id"
:
"java-fd1a0d435bd647f09b78d73628121af4"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"顺序查询"
:
{
"顺序查询"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d080cbd4bc204694a83f10ac76c7ec91"
"node_id"
:
"java-d080cbd4bc204694a83f10ac76c7ec91"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"模糊查询"
:
{
"模糊查询"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-41d56ea85290428a93737f5ad4f8310a"
"node_id"
:
"java-41d56ea85290428a93737f5ad4f8310a"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"预处理语句"
:
{
"预处理语句"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-1c1a09999d85447caa889618896eed97"
"node_id"
:
"java-1c1a09999d85447caa889618896eed97"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[],
"export"
:
[],
"title"
:
"NIO"
"title"
:
"NIO"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/1.网络编程基础/config.json
浏览文件 @
114c7e87
...
@@ -11,7 +11,9 @@
...
@@ -11,7 +11,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a79ddcf9777d4af48bc5a260933a2e82"
,
"node_id"
:
"java-a79ddcf9777d4af48bc5a260933a2e82"
,
"title"
:
"网络通信协议"
"title"
:
"网络通信协议"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -19,7 +21,9 @@
...
@@ -19,7 +21,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-37985b5801644ce4a823966c72d8db97"
,
"node_id"
:
"java-37985b5801644ce4a823966c72d8db97"
,
"title"
:
"IP地址和端口号"
"title"
:
"IP地址和端口号"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -27,19 +31,27 @@
...
@@ -27,19 +31,27 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-081281446cac46e6ace10be5b85ed596"
,
"node_id"
:
"java-081281446cac46e6ace10be5b85ed596"
,
"title"
:
"InetAddress"
"title"
:
"InetAddress"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"UDP与TCP协议"
:
{
"UDP与TCP协议"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-2d97da4c84734adc97ef08a8f338bdd0"
"node_id"
:
"java-2d97da4c84734adc97ef08a8f338bdd0"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Internet.json"
"Internet.json"
],
],
"title"
:
"网络编程基础"
"title"
:
"网络编程基础"
,
"keywords_must"
:
[
"网络编程"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/2.UDP通信/config.json
浏览文件 @
114c7e87
...
@@ -11,7 +11,9 @@
...
@@ -11,7 +11,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0fbfa7442076484683006362f10305cc"
,
"node_id"
:
"java-0fbfa7442076484683006362f10305cc"
,
"title"
:
"UDP通信简介"
"title"
:
"UDP通信简介"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -19,7 +21,9 @@
...
@@ -19,7 +21,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e2a796a931bf4aa7bb204a05d18dd2ca"
,
"node_id"
:
"java-e2a796a931bf4aa7bb204a05d18dd2ca"
,
"title"
:
"DatagramPacket"
"title"
:
"DatagramPacket"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -27,26 +31,36 @@
...
@@ -27,26 +31,36 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c498a7116c9548b283eac0a3bc3e9766"
,
"node_id"
:
"java-c498a7116c9548b283eac0a3bc3e9766"
,
"title"
:
"DatagramSocket"
"title"
:
"DatagramSocket"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"UDP网络程序"
:
{
"UDP网络程序"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-1d8a509258aa48b99c8870aa2ea2f7da"
"node_id"
:
"java-1d8a509258aa48b99c8870aa2ea2f7da"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"UDP案例——聊天程序"
:
{
"UDP案例——聊天程序"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-2648409476dd4809aab31299bb47a782"
"node_id"
:
"java-2648409476dd4809aab31299bb47a782"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"UDP.json"
"UDP.json"
],
],
"title"
:
"UDP通信"
"title"
:
"UDP通信"
,
"keywords_must"
:
[
"udp"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/3.TCP通信/config.json
浏览文件 @
114c7e87
...
@@ -10,7 +10,9 @@
...
@@ -10,7 +10,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0e32134022e94f13a89fc1536e8b7dc9"
,
"node_id"
:
"java-0e32134022e94f13a89fc1536e8b7dc9"
,
"title"
:
"TCP通信简介"
"title"
:
"TCP通信简介"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -18,7 +20,9 @@
...
@@ -18,7 +20,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-61d6532c567640bbb369c1880f584d47"
,
"node_id"
:
"java-61d6532c567640bbb369c1880f584d47"
,
"title"
:
"ServerSocket"
"title"
:
"ServerSocket"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -26,33 +30,45 @@
...
@@ -26,33 +30,45 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-90bf889f7fc04403aa109f638bb7bb28"
,
"node_id"
:
"java-90bf889f7fc04403aa109f638bb7bb28"
,
"title"
:
"Socket"
"title"
:
"Socket"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"简单的TCP网络程序"
:
{
"简单的TCP网络程序"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c084edbe768a4d43bcf551c5d3b37fa3"
"node_id"
:
"java-c084edbe768a4d43bcf551c5d3b37fa3"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"多线程的TCP网络程序"
:
{
"多线程的TCP网络程序"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-dcc1f999ffc84bb69344c2a233f516c4"
"node_id"
:
"java-dcc1f999ffc84bb69344c2a233f516c4"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"TCP案例——文件上传"
:
{
"TCP案例——文件上传"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-fcc2a6b66f9a4cbf954d86635df20a8a"
"node_id"
:
"java-fcc2a6b66f9a4cbf954d86635df20a8a"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"TCP.json"
"TCP.json"
],
],
"title"
:
"TCP通信"
"title"
:
"TCP通信"
,
"keywords_must"
:
[
"tcp"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/4.Java的基本网络支持/config.json
浏览文件 @
114c7e87
...
@@ -9,7 +9,9 @@
...
@@ -9,7 +9,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a5ada59a43024cd080ed2a7ad6ba8bb7"
,
"node_id"
:
"java-a5ada59a43024cd080ed2a7ad6ba8bb7"
,
"title"
:
"使用URLDecoder和URLEncoder"
"title"
:
"使用URLDecoder和URLEncoder"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -17,12 +19,18 @@
...
@@ -17,12 +19,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9042eac8712642c98c5fc9e4a5165dc0"
,
"node_id"
:
"java-9042eac8712642c98c5fc9e4a5165dc0"
,
"title"
:
"URL、URLConnection和URLPermission"
"title"
:
"URL、URLConnection和URLPermission"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Support.json"
"Support.json"
],
],
"title"
:
"Java的基本网络支持"
"title"
:
"Java的基本网络支持"
,
"keywords_must"
:
[
"基本网络支持"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/5.使用代理服务器/config.json
浏览文件 @
114c7e87
...
@@ -10,7 +10,9 @@
...
@@ -10,7 +10,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-b5efe86ed01b464799fc32edc3e2862f"
,
"node_id"
:
"java-b5efe86ed01b464799fc32edc3e2862f"
,
"title"
:
"直接使用Proxy创建连接"
"title"
:
"直接使用Proxy创建连接"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -18,12 +20,18 @@
...
@@ -18,12 +20,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-bcc6e1c8fbe248278f3d55e61f282ec8"
,
"node_id"
:
"java-bcc6e1c8fbe248278f3d55e61f282ec8"
,
"title"
:
"使用ProxySelector自动选择代理服务器"
"title"
:
"使用ProxySelector自动选择代理服务器"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Proxy.json"
"Proxy.json"
],
],
"title"
:
"使用代理服务器"
"title"
:
"使用代理服务器"
,
"keywords_must"
:
[
"代理服务器"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/6.Java 11标准化的HTTP Client/config.json
浏览文件 @
114c7e87
...
@@ -14,7 +14,9 @@
...
@@ -14,7 +14,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f6d4f9e683b84e53ad0b1c5c2c9c4988"
,
"node_id"
:
"java-f6d4f9e683b84e53ad0b1c5c2c9c4988"
,
"title"
:
"发送同步GET请求"
"title"
:
"发送同步GET请求"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -22,7 +24,9 @@
...
@@ -22,7 +24,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f1d63ba6664747239aa3b84f697b1a84"
,
"node_id"
:
"java-f1d63ba6664747239aa3b84f697b1a84"
,
"title"
:
"发送带请求体的请求"
"title"
:
"发送带请求体的请求"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -30,21 +34,27 @@
...
@@ -30,21 +34,27 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d0d1295efbec421b87d66ca663629d36"
,
"node_id"
:
"java-d0d1295efbec421b87d66ca663629d36"
,
"title"
:
"发送异步请求"
"title"
:
"发送异步请求"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"WebSocket客户端支持"
:
{
"WebSocket客户端支持"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c43622cc970e4f159433f441d9b3aeec"
"node_id"
:
"java-c43622cc970e4f159433f441d9b3aeec"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"基于WebSocket的多人实时聊天"
:
{
"基于WebSocket的多人实时聊天"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-b6be48e26bf5490f8337daad17059e6c"
"node_id"
:
"java-b6be48e26bf5490f8337daad17059e6c"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
...
@@ -52,5 +62,9 @@
...
@@ -52,5 +62,9 @@
"HTTPClient.json"
,
"HTTPClient.json"
,
"WebSocket.json"
"WebSocket.json"
],
],
"title"
:
"Java 11标准化的HTTP Client"
"title"
:
"Java 11标准化的HTTP Client"
,
"keywords_must"
:
[
"HTTP Client"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/config.json
浏览文件 @
114c7e87
...
@@ -3,5 +3,7 @@
...
@@ -3,5 +3,7 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[],
"title"
:
"网络编程"
"title"
:
"网络编程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/1.Class对象/config.json
浏览文件 @
114c7e87
...
@@ -11,7 +11,9 @@
...
@@ -11,7 +11,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-16ceaee391ff4ec0a520211b5d0dc506"
,
"node_id"
:
"java-16ceaee391ff4ec0a520211b5d0dc506"
,
"title"
:
"类字面常量"
"title"
:
"类字面常量"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -19,7 +21,9 @@
...
@@ -19,7 +21,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e2c66e3ba49746de87779dcab4a686f7"
,
"node_id"
:
"java-e2c66e3ba49746de87779dcab4a686f7"
,
"title"
:
"泛化的Class引用"
"title"
:
"泛化的Class引用"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -27,12 +31,18 @@
...
@@ -27,12 +31,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-27e7ea709e5b448fbd0dcadb70d425b6"
,
"node_id"
:
"java-27e7ea709e5b448fbd0dcadb70d425b6"
,
"title"
:
"新的转型语法"
"title"
:
"新的转型语法"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Class.json"
"Class.json"
],
],
"title"
:
"Class对象"
"title"
:
"Class对象"
,
"keywords_must"
:
[
"Class对象"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/2.类型转换前先做检查/config.json
浏览文件 @
114c7e87
...
@@ -10,7 +10,9 @@
...
@@ -10,7 +10,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5d348625455e40ba82b46a569d3c9719"
,
"node_id"
:
"java-5d348625455e40ba82b46a569d3c9719"
,
"title"
:
"使用类字面常量"
"title"
:
"使用类字面常量"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -18,7 +20,9 @@
...
@@ -18,7 +20,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-92f8dd9e046b407481302197423e95aa"
,
"node_id"
:
"java-92f8dd9e046b407481302197423e95aa"
,
"title"
:
"动态instanceof"
"title"
:
"动态instanceof"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -26,12 +30,18 @@
...
@@ -26,12 +30,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a66273b2dcdf46249ceb1b88cd3c90cb"
,
"node_id"
:
"java-a66273b2dcdf46249ceb1b88cd3c90cb"
,
"title"
:
"递归计数"
"title"
:
"递归计数"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Instanceof.json"
"Instanceof.json"
],
],
"title"
:
"类型转换前先做检查"
"title"
:
"类型转换前先做检查"
,
"keywords_must"
:
[
"类型转换"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/3.instanceof与Class的等价性/config.json
浏览文件 @
114c7e87
...
@@ -7,5 +7,10 @@
...
@@ -7,5 +7,10 @@
"export"
:
[
"export"
:
[
"Instanceof.json"
"Instanceof.json"
],
],
"title"
:
"instanceof与Class的等价性"
"title"
:
"instanceof与Class的等价性"
,
"keywords_must"
:
[
"instanceof"
,
"等价性"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/4.反射:运行时类信息/config.json
浏览文件 @
114c7e87
...
@@ -10,7 +10,9 @@
...
@@ -10,7 +10,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5149ec714a624c8da96f195b7de73419"
,
"node_id"
:
"java-5149ec714a624c8da96f195b7de73419"
,
"title"
:
"类方法抽取器"
"title"
:
"类方法抽取器"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -22,26 +24,34 @@
...
@@ -22,26 +24,34 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-6dd73a33a7aa42f8b60f237a539568fe"
,
"node_id"
:
"java-6dd73a33a7aa42f8b60f237a539568fe"
,
"title"
:
"访问构造方法"
"title"
:
"访问构造方法"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"访问成员变量"
:
{
"访问成员变量"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5dd955d5f50747feb3ed19c8ee1ba8b2"
"node_id"
:
"java-5dd955d5f50747feb3ed19c8ee1ba8b2"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"访问方法"
:
{
"访问方法"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c9513a7b28ec47bfa13c0656e7196f55"
"node_id"
:
"java-c9513a7b28ec47bfa13c0656e7196f55"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-9be972504f4440079f535753d8d73811"
,
"node_id"
:
"java-9be972504f4440079f535753d8d73811"
,
"title"
:
"Class类与Java反射"
"title"
:
"Class类与Java反射"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -52,81 +62,105 @@
...
@@ -52,81 +62,105 @@
"定义Annotation类型"
:
{
"定义Annotation类型"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e06a14d142c04858a017baf0ab1adf29"
"node_id"
:
"java-e06a14d142c04858a017baf0ab1adf29"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"访问Annotation信息"
:
{
"访问Annotation信息"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f8aa68a5a30f450ca21af672448a653f"
"node_id"
:
"java-f8aa68a5a30f450ca21af672448a653f"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-f288867c2d654836b9d93af8790b67b0"
"node_id"
:
"java-f288867c2d654836b9d93af8790b67b0"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"声明异常入门"
:
{
"声明异常入门"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d35d19ec1d154b9d9e6e06a147305f9e"
"node_id"
:
"java-d35d19ec1d154b9d9e6e06a147305f9e"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"资源"
:
{
"资源"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c03a7a45c5c246ceba0ac3df1e426fb6"
"node_id"
:
"java-c03a7a45c5c246ceba0ac3df1e426fb6"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"利用反射分析类的能力"
:
{
"利用反射分析类的能力"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-170ca43f1b46492d94594937635cda12"
"node_id"
:
"java-170ca43f1b46492d94594937635cda12"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"使用反射在运行时分析"
:
{
"使用反射在运行时分析"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-046f5ea7441847a0be59cd9b07cefa2c"
"node_id"
:
"java-046f5ea7441847a0be59cd9b07cefa2c"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"使用反射编写泛型数组"
:
{
"使用反射编写泛型数组"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0a28c7f21a6a4a48ba3ad52eb364410f"
"node_id"
:
"java-0a28c7f21a6a4a48ba3ad52eb364410f"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"访问字段"
:
{
"访问字段"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-111c415f827c4db698e003a2365357e9"
"node_id"
:
"java-111c415f827c4db698e003a2365357e9"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"调用方法"
:
{
"调用方法"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-6a24720b8a4c4102aef7aa8c5ddeb870"
"node_id"
:
"java-6a24720b8a4c4102aef7aa8c5ddeb870"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"调用构造方法"
:
{
"调用构造方法"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d7ab012406a049518931e809cc364c81"
"node_id"
:
"java-d7ab012406a049518931e809cc364c81"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"获取继承关系"
:
{
"获取继承关系"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9e70bf59fb9d4a52b22981b15001f420"
"node_id"
:
"java-9e70bf59fb9d4a52b22981b15001f420"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
...
@@ -134,5 +168,10 @@
...
@@ -134,5 +168,10 @@
"Reflect.json"
,
"Reflect.json"
,
"ReflectTest.json"
"ReflectTest.json"
],
],
"title"
:
"反射:运行时类信息"
"title"
:
"反射:运行时类信息"
,
"keywords_must"
:
[
"反射"
,
"运行时类信息"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/5.动态代理/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,9 @@
...
@@ -8,5 +8,9 @@
"DynamicProxy.json"
,
"DynamicProxy.json"
,
"DynamicProxyTest.json"
"DynamicProxyTest.json"
],
],
"title"
:
"动态代理"
"title"
:
"动态代理"
,
"keywords_must"
:
[
"动态代理"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/6.空对象/config.json
浏览文件 @
114c7e87
...
@@ -9,12 +9,18 @@
...
@@ -9,12 +9,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-79ecb6c77f734cbaba7264deb8ca2a22"
,
"node_id"
:
"java-79ecb6c77f734cbaba7264deb8ca2a22"
,
"title"
:
"模拟对象与桩"
"title"
:
"模拟对象与桩"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"None.json"
"None.json"
],
],
"title"
:
"空对象"
"title"
:
"空对象"
,
"keywords_must"
:
[
"空对象"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/config.json
浏览文件 @
114c7e87
...
@@ -7,7 +7,9 @@
...
@@ -7,7 +7,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-fbc4fe4a64f348f8b21daf95084098ce"
,
"node_id"
:
"java-fbc4fe4a64f348f8b21daf95084098ce"
,
"title"
:
"发送同步GET请求"
"title"
:
"发送同步GET请求"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -15,7 +17,9 @@
...
@@ -15,7 +17,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-fabec97a784943e5a5a045f62ceae716"
,
"node_id"
:
"java-fabec97a784943e5a5a045f62ceae716"
,
"title"
:
"发送带请求体的请求"
"title"
:
"发送带请求体的请求"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -23,24 +27,32 @@
...
@@ -23,24 +27,32 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-388099373c8944e599ea0e9a687d3d89"
,
"node_id"
:
"java-388099373c8944e599ea0e9a687d3d89"
,
"title"
:
"发送异步请求"
"title"
:
"发送异步请求"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"WebSocket客户端支持"
:
{
"WebSocket客户端支持"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e633f953bed24b12bd896c57c5252454"
"node_id"
:
"java-e633f953bed24b12bd896c57c5252454"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"基于WebSocket的多人实时聊天"
:
{
"基于WebSocket的多人实时聊天"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9f2893007ace496b908b5693c7c3c89c"
"node_id"
:
"java-9f2893007ace496b908b5693c7c3c89c"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[],
"export"
:
[],
"title"
:
"类型信息"
"title"
:
"类型信息"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/6.深入研究容器/1.Collection的功能方法/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-20cad95081b4475aaac1c1ebf7af0253"
,
"node_id"
:
"java-20cad95081b4475aaac1c1ebf7af0253"
,
"keywords"
:
[
"容器"
,
"collection"
,
"方法"
],
"keywords"
:
[
"容器"
,
"collection"
,
"方法"
],
"children"
:
[],
"children"
:
[],
"export"
:
[
"export"
:
[
"Collection.json"
"Collection.json"
],
],
"title"
:
"Collection的功能方法"
"title"
:
"Collection的功能方法"
,
"keywords_must"
:
[
"功能"
,
"方法"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/6.深入研究容器/2.List的功能方法/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,10 @@
...
@@ -8,5 +8,10 @@
"export"
:
[
"export"
:
[
"List.json"
"List.json"
],
],
"title"
:
"List的功能方法"
"title"
:
"List的功能方法"
,
"keywords_must"
:
[
"功能"
,
"方法"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/6.深入研究容器/3.Set和存储顺序/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,9 @@
...
@@ -8,5 +8,9 @@
"export"
:
[
"export"
:
[
"Set.json"
"Set.json"
],
],
"title"
:
"Set和存储顺序"
"title"
:
"Set和存储顺序"
,
"keywords_must"
:
[
"存储顺序"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/6.深入研究容器/4.队列/config.json
浏览文件 @
114c7e87
...
@@ -11,7 +11,9 @@
...
@@ -11,7 +11,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a17735f4ca70413cb8053faf3b11db21"
,
"node_id"
:
"java-a17735f4ca70413cb8053faf3b11db21"
,
"title"
:
"优先级队列"
"title"
:
"优先级队列"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -19,12 +21,19 @@
...
@@ -19,12 +21,19 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-088b40b3ec034906b2147ffb9bd97b91"
,
"node_id"
:
"java-088b40b3ec034906b2147ffb9bd97b91"
,
"title"
:
"双向队列"
"title"
:
"双向队列"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Queue.json"
"Queue.json"
],
],
"title"
:
"队列"
"title"
:
"队列"
,
"keywords_must"
:
[
"队列"
,
"queue"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/6.深入研究容器/5.理解Map/config.json
浏览文件 @
114c7e87
...
@@ -11,7 +11,9 @@
...
@@ -11,7 +11,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-4ecb278ae1c849e88e67f0de13e88ec0"
,
"node_id"
:
"java-4ecb278ae1c849e88e67f0de13e88ec0"
,
"title"
:
"性能"
"title"
:
"性能"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -19,7 +21,9 @@
...
@@ -19,7 +21,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-b2019b3c3f5f48efaf16d5fcda4ab22e"
,
"node_id"
:
"java-b2019b3c3f5f48efaf16d5fcda4ab22e"
,
"title"
:
"SortedMap"
"title"
:
"SortedMap"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -27,12 +31,19 @@
...
@@ -27,12 +31,19 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-455d76b244e84f2a8d62ce4d2f546214"
,
"node_id"
:
"java-455d76b244e84f2a8d62ce4d2f546214"
,
"title"
:
"LinkedHashMap"
"title"
:
"LinkedHashMap"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Map.json"
"Map.json"
],
],
"title"
:
"理解Map"
"title"
:
"理解Map"
,
"keywords_must"
:
[
"map"
,
"字典"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/6.深入研究容器/6.选择接口的不同实现/config.json
浏览文件 @
114c7e87
...
@@ -9,7 +9,9 @@
...
@@ -9,7 +9,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-ab0d376e43cc44da80b4954054eeca9d"
,
"node_id"
:
"java-ab0d376e43cc44da80b4954054eeca9d"
,
"title"
:
"性能测试框架"
"title"
:
"性能测试框架"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -17,7 +19,9 @@
...
@@ -17,7 +19,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0827bea6ef504e5cbb462bce56893a7d"
,
"node_id"
:
"java-0827bea6ef504e5cbb462bce56893a7d"
,
"title"
:
"对List的选择"
"title"
:
"对List的选择"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -25,26 +29,36 @@
...
@@ -25,26 +29,36 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f900efdf13e84d668476fa6150381f52"
,
"node_id"
:
"java-f900efdf13e84d668476fa6150381f52"
,
"title"
:
"微基准测试的危险"
"title"
:
"微基准测试的危险"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"对Set的选择"
:
{
"对Set的选择"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-eab8ea85ddd5464888fd8e6f4277f127"
"node_id"
:
"java-eab8ea85ddd5464888fd8e6f4277f127"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"对Map的选择"
:
{
"对Map的选择"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-7cc209ce394f4cfaad6845aaf2b59312"
"node_id"
:
"java-7cc209ce394f4cfaad6845aaf2b59312"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Select.json"
"Select.json"
],
],
"title"
:
"选择接口的不同实现"
"title"
:
"选择接口的不同实现"
,
"keywords_must"
:
[
"选择接口"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/6.深入研究容器/7.Collections实用方法/config.json
浏览文件 @
114c7e87
...
@@ -9,7 +9,9 @@
...
@@ -9,7 +9,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-96ef5521b9ea47a6b7b4ba7d9e3b66a7"
,
"node_id"
:
"java-96ef5521b9ea47a6b7b4ba7d9e3b66a7"
,
"title"
:
"List的排序和查询"
"title"
:
"List的排序和查询"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -17,7 +19,9 @@
...
@@ -17,7 +19,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-7a7a4d7e8d234834a8ee9a9e89aca406"
,
"node_id"
:
"java-7a7a4d7e8d234834a8ee9a9e89aca406"
,
"title"
:
"设定Collection或Map为不可修改"
"title"
:
"设定Collection或Map为不可修改"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -25,12 +29,18 @@
...
@@ -25,12 +29,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-103035017b954141a825adce390593fa"
,
"node_id"
:
"java-103035017b954141a825adce390593fa"
,
"title"
:
"Collection或Map的同步控制"
"title"
:
"Collection或Map的同步控制"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"StaticMethod.json"
"StaticMethod.json"
],
],
"title"
:
"Collections实用方法"
"title"
:
"Collections实用方法"
,
"keywords_must"
:
[
"Collections"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/6.深入研究容器/config.json
浏览文件 @
114c7e87
...
@@ -7,10 +7,14 @@
...
@@ -7,10 +7,14 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f66a77a76f98493f8f65e3a5c314b605"
,
"node_id"
:
"java-f66a77a76f98493f8f65e3a5c314b605"
,
"title"
:
"模拟对象与桩"
"title"
:
"模拟对象与桩"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[],
"export"
:
[],
"title"
:
"容器深入研究"
"title"
:
"容器深入研究"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/7.注解/1.基本语法/config.json
浏览文件 @
114c7e87
...
@@ -10,7 +10,9 @@
...
@@ -10,7 +10,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9da72212f00d4634bb4a41816a6c6373"
,
"node_id"
:
"java-9da72212f00d4634bb4a41816a6c6373"
,
"title"
:
"定义注解"
"title"
:
"定义注解"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -18,12 +20,18 @@
...
@@ -18,12 +20,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e9cfa24eb43646cdb4530abdea7828e6"
,
"node_id"
:
"java-e9cfa24eb43646cdb4530abdea7828e6"
,
"title"
:
"元注解"
"title"
:
"元注解"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Annotation.json"
"Annotation.json"
],
],
"title"
:
"基本语法"
"title"
:
"基本语法"
,
"keywords_must"
:
[
"注解"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/7.注解/2.使用apt处理注解/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,9 @@
...
@@ -9,5 +9,9 @@
"export"
:
[
"export"
:
[
"apt.json"
"apt.json"
],
],
"title"
:
"使用apt处理注解"
"title"
:
"使用apt处理注解"
,
"keywords_must"
:
[
"apt"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/7.注解/3.基于注解的单元测试/config.json
浏览文件 @
114c7e87
...
@@ -12,7 +12,9 @@
...
@@ -12,7 +12,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-778a97d11dfe4373b20080ce72b104e8"
,
"node_id"
:
"java-778a97d11dfe4373b20080ce72b104e8"
,
"title"
:
"将@Unit用于泛型"
"title"
:
"将@Unit用于泛型"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -20,7 +22,9 @@
...
@@ -20,7 +22,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-88b23041c80c4551a59f2ef8fee4ed3c"
,
"node_id"
:
"java-88b23041c80c4551a59f2ef8fee4ed3c"
,
"title"
:
"不需要任何“套件”"
"title"
:
"不需要任何“套件”"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -28,19 +32,29 @@
...
@@ -28,19 +32,29 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-52985edbfc4d43c294ef641f2be124fe"
,
"node_id"
:
"java-52985edbfc4d43c294ef641f2be124fe"
,
"title"
:
"实现@Unit"
"title"
:
"实现@Unit"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"移除测试代码"
:
{
"移除测试代码"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-12dbc9262a89470a8856d7dbb4224125"
"node_id"
:
"java-12dbc9262a89470a8856d7dbb4224125"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"junit.json"
"junit.json"
],
],
"title"
:
"基于注解的单元测试"
"title"
:
"基于注解的单元测试"
,
"keywords_must"
:
[
"junit"
,
"单元测试"
,
"annotation"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/7.注解/config.json
浏览文件 @
114c7e87
...
@@ -3,5 +3,7 @@
...
@@ -3,5 +3,7 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[],
"title"
:
"注解"
"title"
:
"注解"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/8.并发/1.并发的定义/config.json
浏览文件 @
114c7e87
...
@@ -9,7 +9,9 @@
...
@@ -9,7 +9,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-fdb6213b58e74216b74613175b4925fc"
,
"node_id"
:
"java-fdb6213b58e74216b74613175b4925fc"
,
"title"
:
"更快的执行"
"title"
:
"更快的执行"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -17,12 +19,18 @@
...
@@ -17,12 +19,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-6169cb2332d140d0afa88cd219a21eba"
,
"node_id"
:
"java-6169cb2332d140d0afa88cd219a21eba"
,
"title"
:
"改进代码设计"
"title"
:
"改进代码设计"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Abstract.json"
"Abstract.json"
],
],
"title"
:
"并发的定义"
"title"
:
"并发的定义"
,
"keywords_must"
:
[
"并发"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/8.并发/2.线程属性/config.json
浏览文件 @
114c7e87
...
@@ -12,7 +12,9 @@
...
@@ -12,7 +12,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-4ccf91e926b548c79f3502fe7e72c301"
,
"node_id"
:
"java-4ccf91e926b548c79f3502fe7e72c301"
,
"title"
:
"中断线程"
"title"
:
"中断线程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -20,7 +22,9 @@
...
@@ -20,7 +22,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-8c992e3f10814c21bd65c0a78fbdaf78"
,
"node_id"
:
"java-8c992e3f10814c21bd65c0a78fbdaf78"
,
"title"
:
"守护线程"
"title"
:
"守护线程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -28,19 +32,27 @@
...
@@ -28,19 +32,27 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-ae11718ecefd44f1b7d490def20f1b7c"
,
"node_id"
:
"java-ae11718ecefd44f1b7d490def20f1b7c"
,
"title"
:
"线程名"
"title"
:
"线程名"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"未捕获异常的处理器"
:
{
"未捕获异常的处理器"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f4a0fc3aa5a64184b4d12f2bf347b3d5"
"node_id"
:
"java-f4a0fc3aa5a64184b4d12f2bf347b3d5"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"Thread.json"
"Thread.json"
],
],
"title"
:
"线程属性"
"title"
:
"线程属性"
,
"keywords_must"
:
[
"线程属性"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/8.并发/3.线程状态/config.json
浏览文件 @
114c7e87
...
@@ -12,7 +12,9 @@
...
@@ -12,7 +12,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-cae8cf168615440ba1790fe654a47e55"
,
"node_id"
:
"java-cae8cf168615440ba1790fe654a47e55"
,
"title"
:
"新建线程"
"title"
:
"新建线程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -20,7 +22,9 @@
...
@@ -20,7 +22,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9be56d2a991f4dea839c68854bb6c9cb"
,
"node_id"
:
"java-9be56d2a991f4dea839c68854bb6c9cb"
,
"title"
:
"可运行线程"
"title"
:
"可运行线程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -28,19 +32,27 @@
...
@@ -28,19 +32,27 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e06bd95cb2504c07827c2c81a88a2f7f"
,
"node_id"
:
"java-e06bd95cb2504c07827c2c81a88a2f7f"
,
"title"
:
"阻塞和等待线程"
"title"
:
"阻塞和等待线程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"终止线程"
:
{
"终止线程"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0ba3f448d6de4b16b02516f52b551b2d"
"node_id"
:
"java-0ba3f448d6de4b16b02516f52b551b2d"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"ThreadStatus.json"
"ThreadStatus.json"
],
],
"title"
:
"线程状态"
"title"
:
"线程状态"
,
"keywords_must"
:
[
"线程状态"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/8.并发/4.线程之间的协作/config.json
浏览文件 @
114c7e87
...
@@ -12,7 +12,9 @@
...
@@ -12,7 +12,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0f812098999a4df2a9b41955308ba530"
,
"node_id"
:
"java-0f812098999a4df2a9b41955308ba530"
,
"title"
:
"wait()与notifyAll()"
"title"
:
"wait()与notifyAll()"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -20,7 +22,9 @@
...
@@ -20,7 +22,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-abcb15b0ad184d03a5753e33bb8ebdf7"
,
"node_id"
:
"java-abcb15b0ad184d03a5753e33bb8ebdf7"
,
"title"
:
"notify()与notifyAll()"
"title"
:
"notify()与notifyAll()"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -28,19 +32,28 @@
...
@@ -28,19 +32,28 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5325268f4ff84234b18b52a40fa15021"
,
"node_id"
:
"java-5325268f4ff84234b18b52a40fa15021"
,
"title"
:
"生产者与消费者"
"title"
:
"生产者与消费者"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"任务间使用管道进行输入输出"
:
{
"任务间使用管道进行输入输出"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-b60c4015c9e643c0866fdbd5bf907776"
"node_id"
:
"java-b60c4015c9e643c0866fdbd5bf907776"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"ProductorAndConsumer.json"
"ProductorAndConsumer.json"
],
],
"title"
:
"线程之间的协作"
"title"
:
"线程之间的协作"
,
"keywords_must"
:
[
"线程之间的协作"
,
"线程协作"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/8.并发/5.死锁/config.json
浏览文件 @
114c7e87
...
@@ -11,5 +11,9 @@
...
@@ -11,5 +11,9 @@
"export"
:
[
"export"
:
[
"DeadLock.json"
"DeadLock.json"
],
],
"title"
:
"死锁"
"title"
:
"死锁"
,
"keywords_must"
:
[
"死锁"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/8.并发/6.线程安全的集合/config.json
浏览文件 @
114c7e87
...
@@ -12,7 +12,9 @@
...
@@ -12,7 +12,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c19c9015f3254441b359f8c77f2064ea"
,
"node_id"
:
"java-c19c9015f3254441b359f8c77f2064ea"
,
"title"
:
"阻塞队列"
"title"
:
"阻塞队列"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -20,7 +22,9 @@
...
@@ -20,7 +22,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-69635e4cd3a84037ab6715a53d7664bd"
,
"node_id"
:
"java-69635e4cd3a84037ab6715a53d7664bd"
,
"title"
:
"映射条目的原子更新"
"title"
:
"映射条目的原子更新"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -28,40 +32,55 @@
...
@@ -28,40 +32,55 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-8e154a8000944afcb2d9a18da8b43680"
,
"node_id"
:
"java-8e154a8000944afcb2d9a18da8b43680"
,
"title"
:
"对并发散列映射的批操作"
"title"
:
"对并发散列映射的批操作"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"并发集视图"
:
{
"并发集视图"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-7cb205a0b7014e329f429be5f25d64f7"
"node_id"
:
"java-7cb205a0b7014e329f429be5f25d64f7"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"写数组的拷贝"
:
{
"写数组的拷贝"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e8873f2f78a64203b681e00536806448"
"node_id"
:
"java-e8873f2f78a64203b681e00536806448"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"并行数组算法"
:
{
"并行数组算法"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d29e14c52c544690bce9b05c1a669a71"
"node_id"
:
"java-d29e14c52c544690bce9b05c1a669a71"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"较早的线程安全集合"
:
{
"较早的线程安全集合"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-32f3143dddff4cad846b9523d791c7b6"
"node_id"
:
"java-32f3143dddff4cad846b9523d791c7b6"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[
"export"
:
[
"ThreadSafe.json"
"ThreadSafe.json"
],
],
"title"
:
"线程安全的集合"
"title"
:
"线程安全的集合"
,
"keywords_must"
:
[
"线程安全的集合"
,
"线程安全集合"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/8.并发/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-03692e56e729461fa95f570620c8d073"
,
"node_id"
:
"java-03692e56e729461fa95f570620c8d073"
,
"keywords"
:
[]
"keywords"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.Java中阶/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-fb87e1c12a1e40b0b9efbd01639098f6"
,
"node_id"
:
"java-fb87e1c12a1e40b0b9efbd01639098f6"
,
"keywords"
:
[],
"keywords"
:
[],
"title"
:
"Java中阶"
"title"
:
"Java中阶"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/1.行为抽象和Lambda/1.流和行为抽象/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,9 @@
...
@@ -9,5 +9,9 @@
"map.json"
,
"map.json"
,
"sum.json"
,
"sum.json"
,
"filter.json"
"filter.json"
]
],
"keywords_must"
:
[
"行为抽象"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/1.行为抽象和Lambda/2.Lambda表达式/config.json
浏览文件 @
114c7e87
...
@@ -12,5 +12,9 @@
...
@@ -12,5 +12,9 @@
"lambda.json"
,
"lambda.json"
,
"sam.json"
,
"sam.json"
,
"handler.json"
"handler.json"
]
],
"keywords_must"
:
[
"lambda"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/1.行为抽象和Lambda/3.流/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,10 @@
...
@@ -8,5 +8,10 @@
"export"
:
[
"export"
:
[
"map_reduce.json"
"map_reduce.json"
],
],
"title"
:
"流简介"
"title"
:
"流简介"
,
"keywords_must"
:
[
"流"
,
"stream"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/1.行为抽象和Lambda/4.收集器/config.json
浏览文件 @
114c7e87
...
@@ -10,5 +10,9 @@
...
@@ -10,5 +10,9 @@
"to_list.json"
,
"to_list.json"
,
"to_set.json"
,
"to_set.json"
,
"to_map.json"
"to_map.json"
]
],
"keywords_must"
:
[
"收集器"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/1.行为抽象和Lambda/5.分组/config.json
浏览文件 @
114c7e87
...
@@ -9,5 +9,10 @@
...
@@ -9,5 +9,10 @@
"export"
:
[
"export"
:
[
"group_by.json"
"group_by.json"
],
],
"title"
:
"分组"
"title"
:
"分组"
,
"keywords_must"
:
[
"分组"
,
"group by"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/1.行为抽象和Lambda/6.分区/config.json
浏览文件 @
114c7e87
...
@@ -8,5 +8,10 @@
...
@@ -8,5 +8,10 @@
"children"
:
[],
"children"
:
[],
"export"
:
[
"export"
:
[
"partition_by.json"
"partition_by.json"
]
],
"keywords_must"
:
[
"分区"
,
"partition by"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/1.行为抽象和Lambda/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-c27b22579e67443393ef5a56f7f4103e"
,
"node_id"
:
"java-c27b22579e67443393ef5a56f7f4103e"
,
"keywords"
:
[]
"keywords"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/2.Optional/1.Optional与Null/config.json
浏览文件 @
114c7e87
...
@@ -7,5 +7,10 @@
...
@@ -7,5 +7,10 @@
"children"
:
[],
"children"
:
[],
"export"
:
[
"export"
:
[
"optional.json"
"optional.json"
]
],
"keywords_must"
:
[
"optional"
,
"null"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/2.Optional/2.一致性/config.json
浏览文件 @
114c7e87
...
@@ -7,5 +7,10 @@
...
@@ -7,5 +7,10 @@
"children"
:
[],
"children"
:
[],
"export"
:
[
"export"
:
[
"optional.json"
"optional.json"
]
],
"keywords_must"
:
[
"optional"
,
"一致性"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/2.Optional/config.json
浏览文件 @
114c7e87
...
@@ -2,5 +2,7 @@
...
@@ -2,5 +2,7 @@
"node_id"
:
"java-276424b96cfd4f43955531c41fc8edcb"
,
"node_id"
:
"java-276424b96cfd4f43955531c41fc8edcb"
,
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[]
"export"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/3.Java异步任务/1.线程与进程/config.json
浏览文件 @
114c7e87
...
@@ -10,5 +10,11 @@
...
@@ -10,5 +10,11 @@
"export"
:
[
"export"
:
[
"thread.json"
,
"thread.json"
,
"counter.json"
"counter.json"
]
],
"keywords_must"
:
[
"进程"
,
"线程"
,
"thread"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/3.Java异步任务/2.Future与CompletableFuture/config.json
浏览文件 @
114c7e87
...
@@ -6,6 +6,14 @@
...
@@ -6,6 +6,14 @@
"future"
"future"
],
],
"children"
:
[],
"children"
:
[],
"export"
:
[
"future.json"
],
"export"
:
[
"title"
:
"为并发而生的CompletableFuture和结合器"
"future.json"
],
"title"
:
"为并发而生的CompletableFuture和结合器"
,
"keywords_must"
:
[
"并发"
,
"异步"
,
"future"
],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/3.Java异步任务/config.json
浏览文件 @
114c7e87
...
@@ -7,7 +7,9 @@
...
@@ -7,7 +7,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-45afc55cf7244d9795fa0b63fba45854"
,
"node_id"
:
"java-45afc55cf7244d9795fa0b63fba45854"
,
"title"
:
"HttpServletRequest接口"
"title"
:
"HttpServletRequest接口"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -15,7 +17,9 @@
...
@@ -15,7 +17,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-b0e99b86fbce4cc291bb1d301ee440cd"
,
"node_id"
:
"java-b0e99b86fbce4cc291bb1d301ee440cd"
,
"title"
:
"HttpServletResponse接口"
"title"
:
"HttpServletResponse接口"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -23,24 +27,32 @@
...
@@ -23,24 +27,32 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e178f398ea6b46e0894d2a2cfbc9cb25"
,
"node_id"
:
"java-e178f398ea6b46e0894d2a2cfbc9cb25"
,
"title"
:
"HttpSession接口"
"title"
:
"HttpSession接口"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"Cookie类"
:
{
"Cookie类"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-54c4822850ee49d4a71dce573eeded87"
"node_id"
:
"java-54c4822850ee49d4a71dce573eeded87"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"HttpServlet类"
:
{
"HttpServlet类"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-348a66d38ab54e93b9465900c7021cb7"
"node_id"
:
"java-348a66d38ab54e93b9465900c7021cb7"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"export"
:
[],
"export"
:
[],
"title"
:
"Java异步任务"
"title"
:
"Java异步任务"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/3.Java高阶/config.json
浏览文件 @
114c7e87
{
{
"node_id"
:
"java-da97ad5ea7384ee887da397960bda54a"
,
"node_id"
:
"java-da97ad5ea7384ee887da397960bda54a"
,
"keywords"
:
[],
"keywords"
:
[],
"title"
:
"Java高阶"
"title"
:
"Java高阶"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/config.json
浏览文件 @
114c7e87
...
@@ -2,5 +2,7 @@
...
@@ -2,5 +2,7 @@
"tree_name"
:
"java"
,
"tree_name"
:
"java"
,
"keywords"
:
[],
"keywords"
:
[],
"node_id"
:
"java-65faac79c55243fba87e6e67b3a45e31"
,
"node_id"
:
"java-65faac79c55243fba87e6e67b3a45e31"
,
"title"
:
"Java"
"title"
:
"Java"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/tree.json
浏览文件 @
114c7e87
...
@@ -21,7 +21,14 @@
...
@@ -21,7 +21,14 @@
"main"
,
"main"
,
"程序入口"
"程序入口"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
[
"编辑"
,
"源代码"
]
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -31,7 +38,11 @@
...
@@ -31,7 +38,11 @@
"hello world"
,
"hello world"
,
"app"
"app"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"编译"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -41,7 +52,11 @@
...
@@ -41,7 +52,11 @@
"runtime"
,
"runtime"
,
"运行机制"
"运行机制"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"运行机制"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -50,7 +65,11 @@
...
@@ -50,7 +65,11 @@
"keywords"
:
[
"keywords"
:
[
"classpath"
"classpath"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"CLASSPATH"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -60,10 +79,16 @@
...
@@ -60,10 +79,16 @@
"maven"
,
"maven"
,
"构建"
"构建"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"maven"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -78,7 +103,11 @@
...
@@ -78,7 +103,11 @@
"语法"
,
"语法"
,
"Hello World"
"Hello World"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"语法格式"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -87,7 +116,11 @@
...
@@ -87,7 +116,11 @@
"keywords"
:
[
"keywords"
:
[
"注释 "
"注释 "
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"注释"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -97,10 +130,16 @@
...
@@ -97,10 +130,16 @@
"关键字"
,
"关键字"
,
"keyword"
"keyword"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"关键字"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -116,7 +155,12 @@
...
@@ -116,7 +155,12 @@
"赋值"
,
"赋值"
,
"定义"
"定义"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"变量的定义"
,
"变量定义"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -126,7 +170,11 @@
...
@@ -126,7 +170,11 @@
"变量"
,
"变量"
,
"类型"
"类型"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"数据类型"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -138,7 +186,11 @@
...
@@ -138,7 +186,11 @@
"变量"
,
"变量"
,
"final"
"final"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"常量"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -149,10 +201,16 @@
...
@@ -149,10 +201,16 @@
"定义"
,
"定义"
,
"作用域"
"作用域"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"作用域"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -170,7 +228,16 @@
...
@@ -170,7 +228,16 @@
"比较"
,
"比较"
,
"不等于"
"不等于"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"大于"
,
"小于"
,
"等于"
,
"比较"
,
"不等于"
,
"比较运算符"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -181,7 +248,11 @@
...
@@ -181,7 +248,11 @@
"组合"
,
"组合"
,
"优先级"
"优先级"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"逻辑运算符"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -191,10 +262,16 @@
...
@@ -191,10 +262,16 @@
"算术运算符"
,
"算术运算符"
,
"优先级"
"优先级"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"算术运算符"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -211,7 +288,13 @@
...
@@ -211,7 +288,13 @@
"分支"
,
"分支"
,
"if"
"if"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"if条件"
,
"if语句"
,
"if"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -223,10 +306,16 @@
...
@@ -223,10 +306,16 @@
"分支"
,
"分支"
,
"switch"
"switch"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"switch"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -242,7 +331,13 @@
...
@@ -242,7 +331,13 @@
"do"
,
"do"
,
"while"
"while"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"循环"
,
"do"
,
"while"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -252,10 +347,16 @@
...
@@ -252,10 +347,16 @@
"循环"
,
"循环"
,
"for"
"for"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"for"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -270,7 +371,12 @@
...
@@ -270,7 +371,12 @@
"集合"
,
"集合"
,
"collection"
"collection"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"Collection接口"
,
"collection"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -287,7 +393,9 @@
...
@@ -287,7 +393,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a65c6affd9d24c05aac81eb991fa544f"
,
"node_id"
:
"java-a65c6affd9d24c05aac81eb991fa544f"
,
"title"
:
"List接口简介"
"title"
:
"List接口简介"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -295,7 +403,9 @@
...
@@ -295,7 +403,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e617fbd29e3e416c980229a8f23ae0a7"
,
"node_id"
:
"java-e617fbd29e3e416c980229a8f23ae0a7"
,
"title"
:
"ArrayList集合"
"title"
:
"ArrayList集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -303,10 +413,18 @@
...
@@ -303,10 +413,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-8de89dae93b345ed947abe5cf9f9d572"
,
"node_id"
:
"java-8de89dae93b345ed947abe5cf9f9d572"
,
"title"
:
"LinkedList集合"
"title"
:
"LinkedList集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"list"
,
"列表"
,
"List接口"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -323,7 +441,9 @@
...
@@ -323,7 +441,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-71c08f278be9482492f5746259d7fd0c"
,
"node_id"
:
"java-71c08f278be9482492f5746259d7fd0c"
,
"title"
:
"Iterator遍历集合"
"title"
:
"Iterator遍历集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -331,7 +451,9 @@
...
@@ -331,7 +451,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-16725289376e4ff8ba87f63b82f362bc"
,
"node_id"
:
"java-16725289376e4ff8ba87f63b82f362bc"
,
"title"
:
"foreach遍历集合"
"title"
:
"foreach遍历集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -339,10 +461,17 @@
...
@@ -339,10 +461,17 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-33bb9663a9e941c19e0e28bfdc9cfc0c"
,
"node_id"
:
"java-33bb9663a9e941c19e0e28bfdc9cfc0c"
,
"title"
:
"JDK 8的forEach遍历集合"
"title"
:
"JDK 8的forEach遍历集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"遍历"
,
"迭代"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -358,7 +487,9 @@
...
@@ -358,7 +487,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-80d1ea8eb29b4d42927df1703fd18027"
,
"node_id"
:
"java-80d1ea8eb29b4d42927df1703fd18027"
,
"title"
:
"Set接口简介"
"title"
:
"Set接口简介"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -366,7 +497,9 @@
...
@@ -366,7 +497,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-70d9c1df4141440f815dcab59fb5d2fe"
,
"node_id"
:
"java-70d9c1df4141440f815dcab59fb5d2fe"
,
"title"
:
"HashSet集合"
"title"
:
"HashSet集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -374,10 +507,17 @@
...
@@ -374,10 +507,17 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5e236f021e0545638e9785a3dde8a870"
,
"node_id"
:
"java-5e236f021e0545638e9785a3dde8a870"
,
"title"
:
"TreeSet集合"
"title"
:
"TreeSet集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"set"
,
"集合"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -394,7 +534,9 @@
...
@@ -394,7 +534,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d5f0355891b4454f959628df25004459"
,
"node_id"
:
"java-d5f0355891b4454f959628df25004459"
,
"title"
:
"Map接口简介"
"title"
:
"Map接口简介"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -402,7 +544,9 @@
...
@@ -402,7 +544,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-7e4b2b11a68a485e97706575f8a53995"
,
"node_id"
:
"java-7e4b2b11a68a485e97706575f8a53995"
,
"title"
:
"HashMap集合"
"title"
:
"HashMap集合"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -410,24 +554,35 @@
...
@@ -410,24 +554,35 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-4f293ef4f50f441d8e45935103f4c70f"
,
"node_id"
:
"java-4f293ef4f50f441d8e45935103f4c70f"
,
"title"
:
"Map集合遍历"
"title"
:
"Map集合遍历"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"TreeMap集合"
:
{
"TreeMap集合"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-90d9396d834d409181104119600f5ced"
"node_id"
:
"java-90d9396d834d409181104119600f5ced"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"Properties集合"
:
{
"Properties集合"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-4c352b41a0c1470da4a65df2e237a0c0"
"node_id"
:
"java-4c352b41a0c1470da4a65df2e237a0c0"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"Map接口"
,
"map"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -443,7 +598,9 @@
...
@@ -443,7 +598,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-077624845de241b7b7fc51ff1b596357"
,
"node_id"
:
"java-077624845de241b7b7fc51ff1b596357"
,
"title"
:
"集合接口与实现分离"
"title"
:
"集合接口与实现分离"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -451,10 +608,16 @@
...
@@ -451,10 +608,16 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-22ea8a449e214efdb7d4e7c6207ff976"
,
"node_id"
:
"java-22ea8a449e214efdb7d4e7c6207ff976"
,
"title"
:
"泛型实用方法"
"title"
:
"泛型实用方法"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"集合框架"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -464,7 +627,11 @@
...
@@ -464,7 +627,11 @@
"集合"
,
"集合"
,
"链表"
"链表"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"链表"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -474,7 +641,12 @@
...
@@ -474,7 +641,12 @@
"集合"
,
"集合"
,
"ArrayList"
"ArrayList"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"数组列表"
,
"ArrayList"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -484,7 +656,12 @@
...
@@ -484,7 +656,12 @@
"集合"
,
"集合"
,
"HashSet"
"HashSet"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"散列集"
,
"HashSet"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -494,7 +671,12 @@
...
@@ -494,7 +671,12 @@
"集合"
,
"集合"
,
"树"
"树"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"树集"
,
"treeset"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -511,7 +693,9 @@
...
@@ -511,7 +693,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e5ffd95da6854271921fcd063a8e9474"
,
"node_id"
:
"java-e5ffd95da6854271921fcd063a8e9474"
,
"title"
:
"基本映射操作"
"title"
:
"基本映射操作"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -519,7 +703,9 @@
...
@@ -519,7 +703,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-27cbca6c546945238e456fd1402f59b4"
,
"node_id"
:
"java-27cbca6c546945238e456fd1402f59b4"
,
"title"
:
"更新映射条目"
"title"
:
"更新映射条目"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -527,38 +713,52 @@
...
@@ -527,38 +713,52 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f48bf1d3221842f9b45543b1705f870c"
,
"node_id"
:
"java-f48bf1d3221842f9b45543b1705f870c"
,
"title"
:
"映射视图"
"title"
:
"映射视图"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"弱散列映射"
:
{
"弱散列映射"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-ad195243648f4d1b851248f893dbeadd"
"node_id"
:
"java-ad195243648f4d1b851248f893dbeadd"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"链接散列集与映射"
:
{
"链接散列集与映射"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d4b78c6364334984b1c8deea06e6e4d0"
"node_id"
:
"java-d4b78c6364334984b1c8deea06e6e4d0"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"枚举集与映射"
:
{
"枚举集与映射"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a83f26fffc33412cac3e404b57283586"
"node_id"
:
"java-a83f26fffc33412cac3e404b57283586"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"标识散列映射"
:
{
"标识散列映射"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-2f1a04fac2d742e3956e8f633d7fab60"
"node_id"
:
"java-2f1a04fac2d742e3956e8f633d7fab60"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"映射"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -574,7 +774,9 @@
...
@@ -574,7 +774,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-192390a65e7749569e55494126db91e6"
,
"node_id"
:
"java-192390a65e7749569e55494126db91e6"
,
"title"
:
"属性映射"
"title"
:
"属性映射"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -582,7 +784,9 @@
...
@@ -582,7 +784,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e133d7889d4a4eddbd93fdad42ae04a5"
,
"node_id"
:
"java-e133d7889d4a4eddbd93fdad42ae04a5"
,
"title"
:
"栈"
"title"
:
"栈"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -590,10 +794,16 @@
...
@@ -590,10 +794,16 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-cc16eefb70744aea9126a1b697d20502"
,
"node_id"
:
"java-cc16eefb70744aea9126a1b697d20502"
,
"title"
:
"位集"
"title"
:
"位集"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"遗留的集合"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -604,7 +814,12 @@
...
@@ -604,7 +814,12 @@
"hash"
,
"hash"
,
"equals"
"equals"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"equals"
,
"hashCode"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -615,7 +830,11 @@
...
@@ -615,7 +830,11 @@
"TreeMap"
,
"TreeMap"
,
"字典"
"字典"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"TreeMap"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -626,7 +845,12 @@
...
@@ -626,7 +845,12 @@
"字典"
,
"字典"
,
"集合"
"集合"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"属性"
,
"Properties"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -636,10 +860,17 @@
...
@@ -636,10 +860,17 @@
"集合"
,
"集合"
,
"队列"
"队列"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"Deque"
,
"双端队列"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -659,10 +890,16 @@
...
@@ -659,10 +890,16 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-4bc48dc6ab4246bdb83adbabade26959"
,
"node_id"
:
"java-4bc48dc6ab4246bdb83adbabade26959"
,
"title"
:
"一元加、减操作符"
"title"
:
"一元加、减操作符"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"算术操作符"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -672,7 +909,12 @@
...
@@ -672,7 +909,12 @@
"递增"
,
"递增"
,
"递减"
"递减"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"自动递增"
,
"自动递减"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -687,10 +929,17 @@
...
@@ -687,10 +929,17 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-16c4fd7348aa467e9127ba633a22a5b1"
,
"node_id"
:
"java-16c4fd7348aa467e9127ba633a22a5b1"
,
"title"
:
"测试对象的等价性"
"title"
:
"测试对象的等价性"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"关系运算符"
,
"关系操作符"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -708,10 +957,17 @@
...
@@ -708,10 +957,17 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-cd873cea5a47486aa325d241d78e65c3"
,
"node_id"
:
"java-cd873cea5a47486aa325d241d78e65c3"
,
"title"
:
"短路"
"title"
:
"短路"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"逻辑操作符"
,
"逻辑运算符"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -722,7 +978,14 @@
...
@@ -722,7 +978,14 @@
"bit"
,
"bit"
,
"比特"
"比特"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"按位操作符"
,
"位运算"
,
"bit"
,
"比特"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -733,7 +996,14 @@
...
@@ -733,7 +996,14 @@
"左移"
,
"左移"
,
"右移"
"右移"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"移位操作符"
,
"移位"
,
"左移"
,
"右移"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -743,7 +1013,12 @@
...
@@ -743,7 +1013,12 @@
"逻辑"
,
"逻辑"
,
"三元运算符"
"三元运算符"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"三元操作符"
,
"三元运算符"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -752,10 +1027,17 @@
...
@@ -752,10 +1027,17 @@
"keywords"
:
[
"keywords"
:
[
"字符串"
"字符串"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"字符串操作符"
,
"字符串运算符"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -771,7 +1053,12 @@
...
@@ -771,7 +1053,12 @@
"if"
,
"if"
,
"else"
"else"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"if"
,
"else"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -783,7 +1070,13 @@
...
@@ -783,7 +1070,13 @@
"循环"
,
"循环"
,
"foreach"
"foreach"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"for"
,
"for循环"
,
"foreach"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -793,7 +1086,11 @@
...
@@ -793,7 +1086,11 @@
"流程控制"
,
"流程控制"
,
"switch"
"switch"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"switch"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -812,7 +1109,9 @@
...
@@ -812,7 +1109,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-22d139aee4b640beaff3f5f983c9f4e8"
,
"node_id"
:
"java-22d139aee4b640beaff3f5f983c9f4e8"
,
"title"
:
"概念"
"title"
:
"概念"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -824,54 +1123,70 @@
...
@@ -824,54 +1123,70 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9483eeb4d68842488b3acbc8c9764322"
,
"node_id"
:
"java-9483eeb4d68842488b3acbc8c9764322"
,
"title"
:
"try块"
"title"
:
"try块"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"异常处理程序"
:
{
"异常处理程序"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-34829a03d7b041198477e09029c37f49"
"node_id"
:
"java-34829a03d7b041198477e09029c37f49"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"f?inally子句"
:
{
"f?inally子句"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-27871ba11aeb4aefa542e4ac87620018"
"node_id"
:
"java-27871ba11aeb4aefa542e4ac87620018"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"try-with-Resources语句"
:
{
"try-with-Resources语句"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-20c0416fd93848d182e67ffa2cc67e35"
"node_id"
:
"java-20c0416fd93848d182e67ffa2cc67e35"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"分析堆栈轨迹元素"
:
{
"分析堆栈轨迹元素"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-fc4ca42328554153846c7ac13704d030"
"node_id"
:
"java-fc4ca42328554153846c7ac13704d030"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-a2f7a14e5a2743e297ae25d808b6a5aa"
,
"node_id"
:
"java-a2f7a14e5a2743e297ae25d808b6a5aa"
,
"title"
:
"捕获异常"
"title"
:
"捕获异常"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"创建自定义异常"
:
{
"创建自定义异常"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c2463f0ab5784161a9b3c086ca8f31ff"
"node_id"
:
"java-c2463f0ab5784161a9b3c086ca8f31ff"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"异常说明"
:
{
"异常说明"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c3aea15c0f494a078ffd747a1f3dd271"
"node_id"
:
"java-c3aea15c0f494a078ffd747a1f3dd271"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -882,25 +1197,33 @@
...
@@ -882,25 +1197,33 @@
"栈轨迹"
:
{
"栈轨迹"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9741356278ec4ecda2af9baddde74e01"
"node_id"
:
"java-9741356278ec4ecda2af9baddde74e01"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"重新抛出异常"
:
{
"重新抛出异常"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-81f1f5af115648338a8ea8d11f2c0ec1"
"node_id"
:
"java-81f1f5af115648338a8ea8d11f2c0ec1"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"异常链"
:
{
"异常链"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-dc3ceecd4a0943dcb4e1e18d0e6131ca"
"node_id"
:
"java-dc3ceecd4a0943dcb4e1e18d0e6131ca"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-e821208680094805a93e1e6f46bca86d"
"node_id"
:
"java-e821208680094805a93e1e6f46bca86d"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -911,11 +1234,15 @@
...
@@ -911,11 +1234,15 @@
"特例: RuntimeException(运行时异常)"
:
{
"特例: RuntimeException(运行时异常)"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-27967b17e29d4855907f199a4172fe9e"
"node_id"
:
"java-27967b17e29d4855907f199a4172fe9e"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-cce481b5ed99444e8205d59de0c80d55"
"node_id"
:
"java-cce481b5ed99444e8205d59de0c80d55"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -926,25 +1253,33 @@
...
@@ -926,25 +1253,33 @@
"finally用来做什么"
:
{
"finally用来做什么"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-1d8dfbe207ab4ee289783363fabb2eef"
"node_id"
:
"java-1d8dfbe207ab4ee289783363fabb2eef"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"在return中使用finally"
:
{
"在return中使用finally"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-2185abe1d4d947e09953dd9c0b690a30"
"node_id"
:
"java-2185abe1d4d947e09953dd9c0b690a30"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"缺憾:异常丢失"
:
{
"缺憾:异常丢失"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5c49dbfd363c4a6da7c3f8b7f4f8e6e3"
"node_id"
:
"java-5c49dbfd363c4a6da7c3f8b7f4f8e6e3"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-8cb3b3570df04f34a49497691839c64a"
"node_id"
:
"java-8cb3b3570df04f34a49497691839c64a"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -955,25 +1290,33 @@
...
@@ -955,25 +1290,33 @@
"使用构造器执行初始化"
:
{
"使用构造器执行初始化"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f1f617dafd7c4cff9fa6ab53a8c4a24f"
"node_id"
:
"java-f1f617dafd7c4cff9fa6ab53a8c4a24f"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"构造器重载"
:
{
"构造器重载"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-6774bbb97e27423090f2446f14f370b5"
"node_id"
:
"java-6774bbb97e27423090f2446f14f370b5"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-0b5559794c0d42f6b323e0db663d4e20"
"node_id"
:
"java-0b5559794c0d42f6b323e0db663d4e20"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"异常匹配"
:
{
"异常匹配"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-54a2a15979ac4d5db7813bb86d9d3ba4"
"node_id"
:
"java-54a2a15979ac4d5db7813bb86d9d3ba4"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -984,42 +1327,61 @@
...
@@ -984,42 +1327,61 @@
"历史"
:
{
"历史"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9fd5d926c8714cb8b533735e2516af3b"
"node_id"
:
"java-9fd5d926c8714cb8b533735e2516af3b"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"观点"
:
{
"观点"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-8adfa2512354498fa87e1272412372a1"
"node_id"
:
"java-8adfa2512354498fa87e1272412372a1"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"把异常传递给控制台"
:
{
"把异常传递给控制台"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c977e83a138c492197e596c052f61901"
"node_id"
:
"java-c977e83a138c492197e596c052f61901"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"把“受检查异常”转换为“不受检查的异常”"
:
{
"把“受检查异常”转换为“不受检查的异常”"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-b8e0c52eb6734b78b5903d46f7ed8b8d"
"node_id"
:
"java-b8e0c52eb6734b78b5903d46f7ed8b8d"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-fcc8f860a91547a69eb95aa905a36e11"
"node_id"
:
"java-fcc8f860a91547a69eb95aa905a36e11"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"异常使用指南"
:
{
"异常使用指南"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-db2eed2dbf644d468f2b83cd15f736d2"
"node_id"
:
"java-db2eed2dbf644d468f2b83cd15f736d2"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"异常"
,
"try"
,
"catch"
,
"finally"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1029,10 +1391,17 @@
...
@@ -1029,10 +1391,17 @@
"函数"
,
"函数"
,
"function"
"function"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"函数"
,
"function"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1049,7 +1418,12 @@
...
@@ -1049,7 +1418,12 @@
"面向对象"
,
"面向对象"
,
"oo"
"oo"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"类"
,
"面向对象"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1060,7 +1434,11 @@
...
@@ -1060,7 +1434,11 @@
"抽象类"
,
"抽象类"
,
"接口"
"接口"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"抽象类"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1071,7 +1449,11 @@
...
@@ -1071,7 +1449,11 @@
"类型"
,
"类型"
,
"接口"
"接口"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"接口"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1082,10 +1464,16 @@
...
@@ -1082,10 +1464,16 @@
"匿名类"
,
"匿名类"
,
"lambda"
"lambda"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"匿名类"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1100,7 +1488,11 @@
...
@@ -1100,7 +1488,11 @@
"字节流"
,
"字节流"
,
"bytestream"
"bytestream"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"字节流"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1111,13 +1503,21 @@
...
@@ -1111,13 +1503,21 @@
"文件类"
,
"文件类"
,
"file"
"file"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"File"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1139,7 +1539,12 @@
...
@@ -1139,7 +1539,12 @@
"input"
,
"input"
,
"output"
"output"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"流概述"
,
"stream"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1151,7 +1556,12 @@
...
@@ -1151,7 +1556,12 @@
"文件"
,
"文件"
,
"file"
"file"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"随机访问文件"
,
"RandomAccessFile"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1170,7 +1580,9 @@
...
@@ -1170,7 +1580,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-31c61c28f4f14905a0284be89b245dcf"
,
"node_id"
:
"java-31c61c28f4f14905a0284be89b245dcf"
,
"title"
:
"输入流"
"title"
:
"输入流"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1178,10 +1590,18 @@
...
@@ -1178,10 +1590,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-de7d542804424ec0986fa6ca0fd2ec45"
,
"node_id"
:
"java-de7d542804424ec0986fa6ca0fd2ec45"
,
"title"
:
"输出流"
"title"
:
"输出流"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"输入输出流"
,
"输入流"
,
"输出流"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1203,7 +1623,9 @@
...
@@ -1203,7 +1623,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0aba4828a38347a9b703e7c3ae608530"
,
"node_id"
:
"java-0aba4828a38347a9b703e7c3ae608530"
,
"title"
:
"FileInputStream类与FileOutputStream类"
"title"
:
"FileInputStream类与FileOutputStream类"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1211,10 +1633,20 @@
...
@@ -1211,10 +1633,20 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d95e2c9886a6441d8a2cdf3710d5204e"
,
"node_id"
:
"java-d95e2c9886a6441d8a2cdf3710d5204e"
,
"title"
:
"FileReader类与FileWriter类"
"title"
:
"FileReader类与FileWriter类"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"文件输入输出流"
,
"文件输入流"
,
"文件输出流"
,
"reader"
,
"writer"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1225,7 +1657,13 @@
...
@@ -1225,7 +1657,13 @@
"serialize"
,
"serialize"
,
"serializable"
"serializable"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"序列化"
,
"serialize"
,
"serializable"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1247,7 +1685,9 @@
...
@@ -1247,7 +1685,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-2119c3a172d24aab804d8ffaed6ddd18"
,
"node_id"
:
"java-2119c3a172d24aab804d8ffaed6ddd18"
,
"title"
:
"压缩文件"
"title"
:
"压缩文件"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1255,10 +1695,16 @@
...
@@ -1255,10 +1695,16 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-554dc7711b104ed9a80c5a6b7c1489ee"
,
"node_id"
:
"java-554dc7711b104ed9a80c5a6b7c1489ee"
,
"title"
:
"解压缩ZIP文件"
"title"
:
"解压缩ZIP文件"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"ZIP压缩"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1270,7 +1716,11 @@
...
@@ -1270,7 +1716,11 @@
"输入"
,
"输入"
,
"流"
"流"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"InputStream"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1282,10 +1732,16 @@
...
@@ -1282,10 +1732,16 @@
"输出"
,
"输出"
,
"流"
"流"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"OutputStream"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1308,7 +1764,9 @@
...
@@ -1308,7 +1764,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5decb41b064a492db20362e136c0b2e2"
,
"node_id"
:
"java-5decb41b064a492db20362e136c0b2e2"
,
"title"
:
"JDBC-ODBC桥"
"title"
:
"JDBC-ODBC桥"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1316,7 +1774,9 @@
...
@@ -1316,7 +1774,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e89787459ec64fbeb80a9ba3cc7eac54"
,
"node_id"
:
"java-e89787459ec64fbeb80a9ba3cc7eac54"
,
"title"
:
"JDBC技术"
"title"
:
"JDBC技术"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1324,10 +1784,16 @@
...
@@ -1324,10 +1784,16 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-df3cd40dc360446296cf9c97f3a72e61"
,
"node_id"
:
"java-df3cd40dc360446296cf9c97f3a72e61"
,
"title"
:
"JDBC驱动程序的类型"
"title"
:
"JDBC驱动程序的类型"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"JDBC概述"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1349,7 +1815,9 @@
...
@@ -1349,7 +1815,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-6217b237af9545cb8ea45e2390827761"
,
"node_id"
:
"java-6217b237af9545cb8ea45e2390827761"
,
"title"
:
"数据库基础"
"title"
:
"数据库基础"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1357,7 +1825,9 @@
...
@@ -1357,7 +1825,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d836337812bc438a8c527df151870250"
,
"node_id"
:
"java-d836337812bc438a8c527df151870250"
,
"title"
:
"数据查询"
"title"
:
"数据查询"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1365,14 +1835,18 @@
...
@@ -1365,14 +1835,18 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d54f7e1e96ad44d3bf7240f694e2e53c"
,
"node_id"
:
"java-d54f7e1e96ad44d3bf7240f694e2e53c"
,
"title"
:
"动态查询"
"title"
:
"动态查询"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"添加、修改、删除记录"
:
{
"添加、修改、删除记录"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f2f1d3facff943e9b169dbb6a43a5004"
"node_id"
:
"java-f2f1d3facff943e9b169dbb6a43a5004"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1383,66 +1857,90 @@
...
@@ -1383,66 +1857,90 @@
"什么是数据库"
:
{
"什么是数据库"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-668c52db99de4dad9483809106b38932"
"node_id"
:
"java-668c52db99de4dad9483809106b38932"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"数据库的种类及功能"
:
{
"数据库的种类及功能"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-70a72823b0534f5e9bc397af6b3674f1"
"node_id"
:
"java-70a72823b0534f5e9bc397af6b3674f1"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"SQL语言"
:
{
"SQL语言"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-93da6e5c26914eb7926261276e4b3d3c"
"node_id"
:
"java-93da6e5c26914eb7926261276e4b3d3c"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-987b58f5cc48422f899ac000d51c5bae"
"node_id"
:
"java-987b58f5cc48422f899ac000d51c5bae"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"向数据库发送SQL语句"
:
{
"向数据库发送SQL语句"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a78e2ce00e4a443e9caccf68836c259c"
"node_id"
:
"java-a78e2ce00e4a443e9caccf68836c259c"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"处理查询结果集"
:
{
"处理查询结果集"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-98f0846a37ce4528b8a44c656cbc1bef"
"node_id"
:
"java-98f0846a37ce4528b8a44c656cbc1bef"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"顺序查询"
:
{
"顺序查询"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-10964bbc05c6429aa0a416ffe3d72530"
"node_id"
:
"java-10964bbc05c6429aa0a416ffe3d72530"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"模糊查询"
:
{
"模糊查询"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-bb40f3c631dc4da9a045c47a5a2fcdab"
"node_id"
:
"java-bb40f3c631dc4da9a045c47a5a2fcdab"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"预处理语句"
:
{
"预处理语句"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d57228f74f1d4a2da114c47357729b28"
"node_id"
:
"java-d57228f74f1d4a2da114c47357729b28"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"数据库"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1456,7 +1954,11 @@
...
@@ -1456,7 +1954,11 @@
"keywords"
:
[
"keywords"
:
[
"nio"
"nio"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"nio"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1466,7 +1968,12 @@
...
@@ -1466,7 +1968,12 @@
"buffer"
,
"buffer"
,
"缓冲"
"缓冲"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"buffer"
,
"缓冲器"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1476,7 +1983,12 @@
...
@@ -1476,7 +1983,12 @@
"channel"
,
"channel"
,
"通道"
"通道"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"channel"
,
"通道"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1486,7 +1998,12 @@
...
@@ -1486,7 +1998,12 @@
"字符集"
,
"字符集"
,
"charset"
"charset"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"字符集"
,
"charset"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1498,7 +2015,12 @@
...
@@ -1498,7 +2015,12 @@
"lock"
,
"lock"
,
"锁"
"锁"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"文件锁"
,
"lock"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1509,7 +2031,11 @@
...
@@ -1509,7 +2031,11 @@
"Path"
,
"Path"
,
"路径"
"路径"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"Path接口"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1519,10 +2045,16 @@
...
@@ -1519,10 +2045,16 @@
"文件"
,
"文件"
,
"file"
"file"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"Files"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1544,7 +2076,9 @@
...
@@ -1544,7 +2076,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a79ddcf9777d4af48bc5a260933a2e82"
,
"node_id"
:
"java-a79ddcf9777d4af48bc5a260933a2e82"
,
"title"
:
"网络通信协议"
"title"
:
"网络通信协议"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1552,7 +2086,9 @@
...
@@ -1552,7 +2086,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-37985b5801644ce4a823966c72d8db97"
,
"node_id"
:
"java-37985b5801644ce4a823966c72d8db97"
,
"title"
:
"IP地址和端口号"
"title"
:
"IP地址和端口号"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1560,17 +2096,25 @@
...
@@ -1560,17 +2096,25 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-081281446cac46e6ace10be5b85ed596"
,
"node_id"
:
"java-081281446cac46e6ace10be5b85ed596"
,
"title"
:
"InetAddress"
"title"
:
"InetAddress"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"UDP与TCP协议"
:
{
"UDP与TCP协议"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-2d97da4c84734adc97ef08a8f338bdd0"
"node_id"
:
"java-2d97da4c84734adc97ef08a8f338bdd0"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"网络编程"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1587,7 +2131,9 @@
...
@@ -1587,7 +2131,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0fbfa7442076484683006362f10305cc"
,
"node_id"
:
"java-0fbfa7442076484683006362f10305cc"
,
"title"
:
"UDP通信简介"
"title"
:
"UDP通信简介"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1595,7 +2141,9 @@
...
@@ -1595,7 +2141,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e2a796a931bf4aa7bb204a05d18dd2ca"
,
"node_id"
:
"java-e2a796a931bf4aa7bb204a05d18dd2ca"
,
"title"
:
"DatagramPacket"
"title"
:
"DatagramPacket"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1603,24 +2151,34 @@
...
@@ -1603,24 +2151,34 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c498a7116c9548b283eac0a3bc3e9766"
,
"node_id"
:
"java-c498a7116c9548b283eac0a3bc3e9766"
,
"title"
:
"DatagramSocket"
"title"
:
"DatagramSocket"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"UDP网络程序"
:
{
"UDP网络程序"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-1d8a509258aa48b99c8870aa2ea2f7da"
"node_id"
:
"java-1d8a509258aa48b99c8870aa2ea2f7da"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"UDP案例——聊天程序"
:
{
"UDP案例——聊天程序"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-2648409476dd4809aab31299bb47a782"
"node_id"
:
"java-2648409476dd4809aab31299bb47a782"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"udp"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1636,7 +2194,9 @@
...
@@ -1636,7 +2194,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0e32134022e94f13a89fc1536e8b7dc9"
,
"node_id"
:
"java-0e32134022e94f13a89fc1536e8b7dc9"
,
"title"
:
"TCP通信简介"
"title"
:
"TCP通信简介"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1644,7 +2204,9 @@
...
@@ -1644,7 +2204,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-61d6532c567640bbb369c1880f584d47"
,
"node_id"
:
"java-61d6532c567640bbb369c1880f584d47"
,
"title"
:
"ServerSocket"
"title"
:
"ServerSocket"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1652,31 +2214,43 @@
...
@@ -1652,31 +2214,43 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-90bf889f7fc04403aa109f638bb7bb28"
,
"node_id"
:
"java-90bf889f7fc04403aa109f638bb7bb28"
,
"title"
:
"Socket"
"title"
:
"Socket"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"简单的TCP网络程序"
:
{
"简单的TCP网络程序"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c084edbe768a4d43bcf551c5d3b37fa3"
"node_id"
:
"java-c084edbe768a4d43bcf551c5d3b37fa3"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"多线程的TCP网络程序"
:
{
"多线程的TCP网络程序"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-dcc1f999ffc84bb69344c2a233f516c4"
"node_id"
:
"java-dcc1f999ffc84bb69344c2a233f516c4"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"TCP案例——文件上传"
:
{
"TCP案例——文件上传"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-fcc2a6b66f9a4cbf954d86635df20a8a"
"node_id"
:
"java-fcc2a6b66f9a4cbf954d86635df20a8a"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"tcp"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1691,7 +2265,9 @@
...
@@ -1691,7 +2265,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a5ada59a43024cd080ed2a7ad6ba8bb7"
,
"node_id"
:
"java-a5ada59a43024cd080ed2a7ad6ba8bb7"
,
"title"
:
"使用URLDecoder和URLEncoder"
"title"
:
"使用URLDecoder和URLEncoder"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1699,10 +2275,16 @@
...
@@ -1699,10 +2275,16 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9042eac8712642c98c5fc9e4a5165dc0"
,
"node_id"
:
"java-9042eac8712642c98c5fc9e4a5165dc0"
,
"title"
:
"URL、URLConnection和URLPermission"
"title"
:
"URL、URLConnection和URLPermission"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"基本网络支持"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1718,7 +2300,9 @@
...
@@ -1718,7 +2300,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-b5efe86ed01b464799fc32edc3e2862f"
,
"node_id"
:
"java-b5efe86ed01b464799fc32edc3e2862f"
,
"title"
:
"直接使用Proxy创建连接"
"title"
:
"直接使用Proxy创建连接"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1726,10 +2310,16 @@
...
@@ -1726,10 +2310,16 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-bcc6e1c8fbe248278f3d55e61f282ec8"
,
"node_id"
:
"java-bcc6e1c8fbe248278f3d55e61f282ec8"
,
"title"
:
"使用ProxySelector自动选择代理服务器"
"title"
:
"使用ProxySelector自动选择代理服务器"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"代理服务器"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1749,7 +2339,9 @@
...
@@ -1749,7 +2339,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f6d4f9e683b84e53ad0b1c5c2c9c4988"
,
"node_id"
:
"java-f6d4f9e683b84e53ad0b1c5c2c9c4988"
,
"title"
:
"发送同步GET请求"
"title"
:
"发送同步GET请求"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1757,7 +2349,9 @@
...
@@ -1757,7 +2349,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f1d63ba6664747239aa3b84f697b1a84"
,
"node_id"
:
"java-f1d63ba6664747239aa3b84f697b1a84"
,
"title"
:
"发送带请求体的请求"
"title"
:
"发送带请求体的请求"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1765,27 +2359,39 @@
...
@@ -1765,27 +2359,39 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d0d1295efbec421b87d66ca663629d36"
,
"node_id"
:
"java-d0d1295efbec421b87d66ca663629d36"
,
"title"
:
"发送异步请求"
"title"
:
"发送异步请求"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"WebSocket客户端支持"
:
{
"WebSocket客户端支持"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c43622cc970e4f159433f441d9b3aeec"
"node_id"
:
"java-c43622cc970e4f159433f441d9b3aeec"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"基于WebSocket的多人实时聊天"
:
{
"基于WebSocket的多人实时聊天"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-b6be48e26bf5490f8337daad17059e6c"
"node_id"
:
"java-b6be48e26bf5490f8337daad17059e6c"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"HTTP Client"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1807,7 +2413,9 @@
...
@@ -1807,7 +2413,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-16ceaee391ff4ec0a520211b5d0dc506"
,
"node_id"
:
"java-16ceaee391ff4ec0a520211b5d0dc506"
,
"title"
:
"类字面常量"
"title"
:
"类字面常量"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1815,7 +2423,9 @@
...
@@ -1815,7 +2423,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e2c66e3ba49746de87779dcab4a686f7"
,
"node_id"
:
"java-e2c66e3ba49746de87779dcab4a686f7"
,
"title"
:
"泛化的Class引用"
"title"
:
"泛化的Class引用"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1823,10 +2433,16 @@
...
@@ -1823,10 +2433,16 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-27e7ea709e5b448fbd0dcadb70d425b6"
,
"node_id"
:
"java-27e7ea709e5b448fbd0dcadb70d425b6"
,
"title"
:
"新的转型语法"
"title"
:
"新的转型语法"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"Class对象"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1842,7 +2458,9 @@
...
@@ -1842,7 +2458,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5d348625455e40ba82b46a569d3c9719"
,
"node_id"
:
"java-5d348625455e40ba82b46a569d3c9719"
,
"title"
:
"使用类字面常量"
"title"
:
"使用类字面常量"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1850,7 +2468,9 @@
...
@@ -1850,7 +2468,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-92f8dd9e046b407481302197423e95aa"
,
"node_id"
:
"java-92f8dd9e046b407481302197423e95aa"
,
"title"
:
"动态instanceof"
"title"
:
"动态instanceof"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1858,10 +2478,16 @@
...
@@ -1858,10 +2478,16 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a66273b2dcdf46249ceb1b88cd3c90cb"
,
"node_id"
:
"java-a66273b2dcdf46249ceb1b88cd3c90cb"
,
"title"
:
"递归计数"
"title"
:
"递归计数"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"类型转换"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1870,7 +2496,12 @@
...
@@ -1870,7 +2496,12 @@
"keywords"
:
[
"keywords"
:
[
"类型"
"类型"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"instanceof"
,
"等价性"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1886,7 +2517,9 @@
...
@@ -1886,7 +2517,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5149ec714a624c8da96f195b7de73419"
,
"node_id"
:
"java-5149ec714a624c8da96f195b7de73419"
,
"title"
:
"类方法抽取器"
"title"
:
"类方法抽取器"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1898,26 +2531,34 @@
...
@@ -1898,26 +2531,34 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-6dd73a33a7aa42f8b60f237a539568fe"
,
"node_id"
:
"java-6dd73a33a7aa42f8b60f237a539568fe"
,
"title"
:
"访问构造方法"
"title"
:
"访问构造方法"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"访问成员变量"
:
{
"访问成员变量"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5dd955d5f50747feb3ed19c8ee1ba8b2"
"node_id"
:
"java-5dd955d5f50747feb3ed19c8ee1ba8b2"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"访问方法"
:
{
"访问方法"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c9513a7b28ec47bfa13c0656e7196f55"
"node_id"
:
"java-c9513a7b28ec47bfa13c0656e7196f55"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-9be972504f4440079f535753d8d73811"
,
"node_id"
:
"java-9be972504f4440079f535753d8d73811"
,
"title"
:
"Class类与Java反射"
"title"
:
"Class类与Java反射"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -1928,84 +2569,113 @@
...
@@ -1928,84 +2569,113 @@
"定义Annotation类型"
:
{
"定义Annotation类型"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e06a14d142c04858a017baf0ab1adf29"
"node_id"
:
"java-e06a14d142c04858a017baf0ab1adf29"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"访问Annotation信息"
:
{
"访问Annotation信息"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f8aa68a5a30f450ca21af672448a653f"
"node_id"
:
"java-f8aa68a5a30f450ca21af672448a653f"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
],
],
"node_id"
:
"java-f288867c2d654836b9d93af8790b67b0"
"node_id"
:
"java-f288867c2d654836b9d93af8790b67b0"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"声明异常入门"
:
{
"声明异常入门"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d35d19ec1d154b9d9e6e06a147305f9e"
"node_id"
:
"java-d35d19ec1d154b9d9e6e06a147305f9e"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"资源"
:
{
"资源"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c03a7a45c5c246ceba0ac3df1e426fb6"
"node_id"
:
"java-c03a7a45c5c246ceba0ac3df1e426fb6"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"利用反射分析类的能力"
:
{
"利用反射分析类的能力"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-170ca43f1b46492d94594937635cda12"
"node_id"
:
"java-170ca43f1b46492d94594937635cda12"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"使用反射在运行时分析"
:
{
"使用反射在运行时分析"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-046f5ea7441847a0be59cd9b07cefa2c"
"node_id"
:
"java-046f5ea7441847a0be59cd9b07cefa2c"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"使用反射编写泛型数组"
:
{
"使用反射编写泛型数组"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0a28c7f21a6a4a48ba3ad52eb364410f"
"node_id"
:
"java-0a28c7f21a6a4a48ba3ad52eb364410f"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"访问字段"
:
{
"访问字段"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-111c415f827c4db698e003a2365357e9"
"node_id"
:
"java-111c415f827c4db698e003a2365357e9"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"调用方法"
:
{
"调用方法"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-6a24720b8a4c4102aef7aa8c5ddeb870"
"node_id"
:
"java-6a24720b8a4c4102aef7aa8c5ddeb870"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"调用构造方法"
:
{
"调用构造方法"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d7ab012406a049518931e809cc364c81"
"node_id"
:
"java-d7ab012406a049518931e809cc364c81"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"获取继承关系"
:
{
"获取继承关系"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9e70bf59fb9d4a52b22981b15001f420"
"node_id"
:
"java-9e70bf59fb9d4a52b22981b15001f420"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"反射"
,
"运行时类信息"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2014,7 +2684,11 @@
...
@@ -2014,7 +2684,11 @@
"keywords"
:
[
"keywords"
:
[
"proxy"
"proxy"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"动态代理"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2029,13 +2703,21 @@
...
@@ -2029,13 +2703,21 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-79ecb6c77f734cbaba7264deb8ca2a22"
,
"node_id"
:
"java-79ecb6c77f734cbaba7264deb8ca2a22"
,
"title"
:
"模拟对象与桩"
"title"
:
"模拟对象与桩"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"空对象"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2051,7 +2733,12 @@
...
@@ -2051,7 +2733,12 @@
"collection"
,
"collection"
,
"方法"
"方法"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"功能"
,
"方法"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2061,7 +2748,12 @@
...
@@ -2061,7 +2748,12 @@
"list"
,
"list"
,
"数据结构"
"数据结构"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"功能"
,
"方法"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2071,7 +2763,11 @@
...
@@ -2071,7 +2763,11 @@
"set"
,
"set"
,
"数据结构"
"数据结构"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"存储顺序"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2088,7 +2784,9 @@
...
@@ -2088,7 +2784,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-a17735f4ca70413cb8053faf3b11db21"
,
"node_id"
:
"java-a17735f4ca70413cb8053faf3b11db21"
,
"title"
:
"优先级队列"
"title"
:
"优先级队列"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2096,10 +2794,17 @@
...
@@ -2096,10 +2794,17 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-088b40b3ec034906b2147ffb9bd97b91"
,
"node_id"
:
"java-088b40b3ec034906b2147ffb9bd97b91"
,
"title"
:
"双向队列"
"title"
:
"双向队列"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"队列"
,
"queue"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2116,7 +2821,9 @@
...
@@ -2116,7 +2821,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-4ecb278ae1c849e88e67f0de13e88ec0"
,
"node_id"
:
"java-4ecb278ae1c849e88e67f0de13e88ec0"
,
"title"
:
"性能"
"title"
:
"性能"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2124,7 +2831,9 @@
...
@@ -2124,7 +2831,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-b2019b3c3f5f48efaf16d5fcda4ab22e"
,
"node_id"
:
"java-b2019b3c3f5f48efaf16d5fcda4ab22e"
,
"title"
:
"SortedMap"
"title"
:
"SortedMap"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2132,10 +2841,17 @@
...
@@ -2132,10 +2841,17 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-455d76b244e84f2a8d62ce4d2f546214"
,
"node_id"
:
"java-455d76b244e84f2a8d62ce4d2f546214"
,
"title"
:
"LinkedHashMap"
"title"
:
"LinkedHashMap"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"map"
,
"字典"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2150,7 +2866,9 @@
...
@@ -2150,7 +2866,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-ab0d376e43cc44da80b4954054eeca9d"
,
"node_id"
:
"java-ab0d376e43cc44da80b4954054eeca9d"
,
"title"
:
"性能测试框架"
"title"
:
"性能测试框架"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2158,7 +2876,9 @@
...
@@ -2158,7 +2876,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0827bea6ef504e5cbb462bce56893a7d"
,
"node_id"
:
"java-0827bea6ef504e5cbb462bce56893a7d"
,
"title"
:
"对List的选择"
"title"
:
"对List的选择"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2166,24 +2886,34 @@
...
@@ -2166,24 +2886,34 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f900efdf13e84d668476fa6150381f52"
,
"node_id"
:
"java-f900efdf13e84d668476fa6150381f52"
,
"title"
:
"微基准测试的危险"
"title"
:
"微基准测试的危险"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"对Set的选择"
:
{
"对Set的选择"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-eab8ea85ddd5464888fd8e6f4277f127"
"node_id"
:
"java-eab8ea85ddd5464888fd8e6f4277f127"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"对Map的选择"
:
{
"对Map的选择"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-7cc209ce394f4cfaad6845aaf2b59312"
"node_id"
:
"java-7cc209ce394f4cfaad6845aaf2b59312"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"选择接口"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2198,7 +2928,9 @@
...
@@ -2198,7 +2928,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-96ef5521b9ea47a6b7b4ba7d9e3b66a7"
,
"node_id"
:
"java-96ef5521b9ea47a6b7b4ba7d9e3b66a7"
,
"title"
:
"List的排序和查询"
"title"
:
"List的排序和查询"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2206,7 +2938,9 @@
...
@@ -2206,7 +2938,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-7a7a4d7e8d234834a8ee9a9e89aca406"
,
"node_id"
:
"java-7a7a4d7e8d234834a8ee9a9e89aca406"
,
"title"
:
"设定Collection或Map为不可修改"
"title"
:
"设定Collection或Map为不可修改"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2214,13 +2948,21 @@
...
@@ -2214,13 +2948,21 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-103035017b954141a825adce390593fa"
,
"node_id"
:
"java-103035017b954141a825adce390593fa"
,
"title"
:
"Collection或Map的同步控制"
"title"
:
"Collection或Map的同步控制"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"Collections"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2241,7 +2983,9 @@
...
@@ -2241,7 +2983,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9da72212f00d4634bb4a41816a6c6373"
,
"node_id"
:
"java-9da72212f00d4634bb4a41816a6c6373"
,
"title"
:
"定义注解"
"title"
:
"定义注解"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2249,10 +2993,16 @@
...
@@ -2249,10 +2993,16 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e9cfa24eb43646cdb4530abdea7828e6"
,
"node_id"
:
"java-e9cfa24eb43646cdb4530abdea7828e6"
,
"title"
:
"元注解"
"title"
:
"元注解"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"注解"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2263,7 +3013,11 @@
...
@@ -2263,7 +3013,11 @@
"注解"
,
"注解"
,
"annotation"
"annotation"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"apt"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2281,7 +3035,9 @@
...
@@ -2281,7 +3035,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-778a97d11dfe4373b20080ce72b104e8"
,
"node_id"
:
"java-778a97d11dfe4373b20080ce72b104e8"
,
"title"
:
"将@Unit用于泛型"
"title"
:
"将@Unit用于泛型"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2289,7 +3045,9 @@
...
@@ -2289,7 +3045,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-88b23041c80c4551a59f2ef8fee4ed3c"
,
"node_id"
:
"java-88b23041c80c4551a59f2ef8fee4ed3c"
,
"title"
:
"不需要任何“套件”"
"title"
:
"不需要任何“套件”"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2297,20 +3055,32 @@
...
@@ -2297,20 +3055,32 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-52985edbfc4d43c294ef641f2be124fe"
,
"node_id"
:
"java-52985edbfc4d43c294ef641f2be124fe"
,
"title"
:
"实现@Unit"
"title"
:
"实现@Unit"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"移除测试代码"
:
{
"移除测试代码"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-12dbc9262a89470a8856d7dbb4224125"
"node_id"
:
"java-12dbc9262a89470a8856d7dbb4224125"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"junit"
,
"单元测试"
,
"annotation"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2330,7 +3100,9 @@
...
@@ -2330,7 +3100,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-fdb6213b58e74216b74613175b4925fc"
,
"node_id"
:
"java-fdb6213b58e74216b74613175b4925fc"
,
"title"
:
"更快的执行"
"title"
:
"更快的执行"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2338,10 +3110,16 @@
...
@@ -2338,10 +3110,16 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-6169cb2332d140d0afa88cd219a21eba"
,
"node_id"
:
"java-6169cb2332d140d0afa88cd219a21eba"
,
"title"
:
"改进代码设计"
"title"
:
"改进代码设计"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"并发"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2359,7 +3137,9 @@
...
@@ -2359,7 +3137,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-4ccf91e926b548c79f3502fe7e72c301"
,
"node_id"
:
"java-4ccf91e926b548c79f3502fe7e72c301"
,
"title"
:
"中断线程"
"title"
:
"中断线程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2367,7 +3147,9 @@
...
@@ -2367,7 +3147,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-8c992e3f10814c21bd65c0a78fbdaf78"
,
"node_id"
:
"java-8c992e3f10814c21bd65c0a78fbdaf78"
,
"title"
:
"守护线程"
"title"
:
"守护线程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2375,17 +3157,25 @@
...
@@ -2375,17 +3157,25 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-ae11718ecefd44f1b7d490def20f1b7c"
,
"node_id"
:
"java-ae11718ecefd44f1b7d490def20f1b7c"
,
"title"
:
"线程名"
"title"
:
"线程名"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"未捕获异常的处理器"
:
{
"未捕获异常的处理器"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-f4a0fc3aa5a64184b4d12f2bf347b3d5"
"node_id"
:
"java-f4a0fc3aa5a64184b4d12f2bf347b3d5"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"线程属性"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2403,7 +3193,9 @@
...
@@ -2403,7 +3193,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-cae8cf168615440ba1790fe654a47e55"
,
"node_id"
:
"java-cae8cf168615440ba1790fe654a47e55"
,
"title"
:
"新建线程"
"title"
:
"新建线程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2411,7 +3203,9 @@
...
@@ -2411,7 +3203,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-9be56d2a991f4dea839c68854bb6c9cb"
,
"node_id"
:
"java-9be56d2a991f4dea839c68854bb6c9cb"
,
"title"
:
"可运行线程"
"title"
:
"可运行线程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2419,17 +3213,25 @@
...
@@ -2419,17 +3213,25 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e06bd95cb2504c07827c2c81a88a2f7f"
,
"node_id"
:
"java-e06bd95cb2504c07827c2c81a88a2f7f"
,
"title"
:
"阻塞和等待线程"
"title"
:
"阻塞和等待线程"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"终止线程"
:
{
"终止线程"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0ba3f448d6de4b16b02516f52b551b2d"
"node_id"
:
"java-0ba3f448d6de4b16b02516f52b551b2d"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"线程状态"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2447,7 +3249,9 @@
...
@@ -2447,7 +3249,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-0f812098999a4df2a9b41955308ba530"
,
"node_id"
:
"java-0f812098999a4df2a9b41955308ba530"
,
"title"
:
"wait()与notifyAll()"
"title"
:
"wait()与notifyAll()"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2455,7 +3259,9 @@
...
@@ -2455,7 +3259,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-abcb15b0ad184d03a5753e33bb8ebdf7"
,
"node_id"
:
"java-abcb15b0ad184d03a5753e33bb8ebdf7"
,
"title"
:
"notify()与notifyAll()"
"title"
:
"notify()与notifyAll()"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2463,17 +3269,26 @@
...
@@ -2463,17 +3269,26 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-5325268f4ff84234b18b52a40fa15021"
,
"node_id"
:
"java-5325268f4ff84234b18b52a40fa15021"
,
"title"
:
"生产者与消费者"
"title"
:
"生产者与消费者"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"任务间使用管道进行输入输出"
:
{
"任务间使用管道进行输入输出"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-b60c4015c9e643c0866fdbd5bf907776"
"node_id"
:
"java-b60c4015c9e643c0866fdbd5bf907776"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"线程之间的协作"
,
"线程协作"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2486,7 +3301,11 @@
...
@@ -2486,7 +3301,11 @@
"并行"
,
"并行"
,
"死锁 "
"死锁 "
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"死锁"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2504,7 +3323,9 @@
...
@@ -2504,7 +3323,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-c19c9015f3254441b359f8c77f2064ea"
,
"node_id"
:
"java-c19c9015f3254441b359f8c77f2064ea"
,
"title"
:
"阻塞队列"
"title"
:
"阻塞队列"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2512,7 +3333,9 @@
...
@@ -2512,7 +3333,9 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-69635e4cd3a84037ab6715a53d7664bd"
,
"node_id"
:
"java-69635e4cd3a84037ab6715a53d7664bd"
,
"title"
:
"映射条目的原子更新"
"title"
:
"映射条目的原子更新"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2520,44 +3343,63 @@
...
@@ -2520,44 +3343,63 @@
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-8e154a8000944afcb2d9a18da8b43680"
,
"node_id"
:
"java-8e154a8000944afcb2d9a18da8b43680"
,
"title"
:
"对并发散列映射的批操作"
"title"
:
"对并发散列映射的批操作"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"并发集视图"
:
{
"并发集视图"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-7cb205a0b7014e329f429be5f25d64f7"
"node_id"
:
"java-7cb205a0b7014e329f429be5f25d64f7"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"写数组的拷贝"
:
{
"写数组的拷贝"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-e8873f2f78a64203b681e00536806448"
"node_id"
:
"java-e8873f2f78a64203b681e00536806448"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"并行数组算法"
:
{
"并行数组算法"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-d29e14c52c544690bce9b05c1a669a71"
"node_id"
:
"java-d29e14c52c544690bce9b05c1a669a71"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
"较早的线程安全集合"
:
{
"较早的线程安全集合"
:
{
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"node_id"
:
"java-32f3143dddff4cad846b9523d791c7b6"
"node_id"
:
"java-32f3143dddff4cad846b9523d791c7b6"
,
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[
"线程安全的集合"
,
"线程安全集合"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2577,7 +3419,11 @@
...
@@ -2577,7 +3419,11 @@
"流"
,
"流"
,
"stream"
"stream"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"行为抽象"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2590,7 +3436,11 @@
...
@@ -2590,7 +3436,11 @@
"SAM"
,
"SAM"
,
"函数式接口"
"函数式接口"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"lambda"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2600,7 +3450,12 @@
...
@@ -2600,7 +3450,12 @@
"流"
,
"流"
,
"stream"
"stream"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"流"
,
"stream"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2611,7 +3466,11 @@
...
@@ -2611,7 +3466,11 @@
"stream"
,
"stream"
,
"collect"
"collect"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"收集器"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2622,7 +3481,12 @@
...
@@ -2622,7 +3481,12 @@
"stream"
,
"stream"
,
"group by"
"group by"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"分组"
,
"group by"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2633,10 +3497,17 @@
...
@@ -2633,10 +3497,17 @@
"stream"
,
"stream"
,
"partition by"
"partition by"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"分区"
,
"partition by"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2651,7 +3522,12 @@
...
@@ -2651,7 +3522,12 @@
"optional"
,
"optional"
,
"null"
"null"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"optional"
,
"null"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2661,10 +3537,17 @@
...
@@ -2661,10 +3537,17 @@
"optional"
,
"optional"
,
"null"
"null"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"optional"
,
"一致性"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2681,7 +3564,13 @@
...
@@ -2681,7 +3564,13 @@
"线程"
,
"线程"
,
"thread"
"thread"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"进程"
,
"线程"
,
"thread"
],
"keywords_forbid"
:
[]
}
}
},
},
{
{
...
@@ -2692,15 +3581,27 @@
...
@@ -2692,15 +3581,27 @@
"异步"
,
"异步"
,
"future"
"future"
],
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
[
"并发"
,
"异步"
,
"future"
],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
]
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
}
}
\ No newline at end of file
src/tree.py
浏览文件 @
114c7e87
...
@@ -2,10 +2,11 @@ import json
...
@@ -2,10 +2,11 @@ import json
import
logging
import
logging
import
os
import
os
import
re
import
re
import
subprocess
import
sys
import
sys
import
uuid
import
uuid
import
re
import
git
id_set
=
set
()
id_set
=
set
()
logger
=
logging
.
getLogger
(
__name__
)
logger
=
logging
.
getLogger
(
__name__
)
...
@@ -14,23 +15,24 @@ handler = logging.StreamHandler(sys.stdout)
...
@@ -14,23 +15,24 @@ handler = logging.StreamHandler(sys.stdout)
formatter
=
logging
.
Formatter
(
'%(asctime)s - %(levelname)s - %(message)s'
)
formatter
=
logging
.
Formatter
(
'%(asctime)s - %(levelname)s - %(message)s'
)
handler
.
setFormatter
(
formatter
)
handler
.
setFormatter
(
formatter
)
logger
.
addHandler
(
handler
)
logger
.
addHandler
(
handler
)
repo
=
git
.
Repo
(
"."
)
def
user_name
():
return
repo
.
config_reader
().
get_value
(
"user"
,
"name"
)
_DEFAULT_ENCODING
=
'utf-8'
def
user_name
(
md_file
,
author_dict
):
def
read_text
(
filepath
):
ret
=
subprocess
.
Popen
([
with
open
(
filepath
,
'r'
,
encoding
=
'utf-8'
)
as
f
:
"git"
,
"log"
,
md_file
return
f
.
read
()
],
stdout
=
subprocess
.
PIPE
)
lines
=
list
(
map
(
lambda
l
:
l
.
decode
(),
ret
.
stdout
.
readlines
()))
author_lines
=
[]
for
line
in
lines
:
if
line
.
startswith
(
'Author'
):
author_lines
.
append
(
line
.
split
(
' '
)[
1
])
author_nick_name
=
author_lines
[
-
1
]
return
author_dict
.
get
(
author_nick_name
,
""
)
def
load_json
(
p
):
def
load_json
(
p
):
return
json
.
loads
(
read_text
(
p
))
with
open
(
p
,
'r'
)
as
f
:
return
json
.
loads
(
f
.
read
())
def
dump_json
(
p
,
j
,
exist_ok
=
False
,
override
=
False
):
def
dump_json
(
p
,
j
,
exist_ok
=
False
,
override
=
False
):
...
@@ -84,7 +86,18 @@ def check_export(base, cfg):
...
@@ -84,7 +86,18 @@ def check_export(base, cfg):
class
TreeWalker
:
class
TreeWalker
:
def
__init__
(
self
,
root
,
tree_name
,
title
=
None
,
log
=
None
):
def
__init__
(
self
,
root
,
tree_name
,
title
=
None
,
log
=
None
,
authors
=
None
,
enable_notebook
=
None
,
ignore_keywords
=
False
):
self
.
ignore_keywords
=
ignore_keywords
self
.
authors
=
authors
if
authors
else
{}
self
.
enable_notebook
=
enable_notebook
self
.
name
=
tree_name
self
.
name
=
tree_name
self
.
root
=
root
self
.
root
=
root
self
.
title
=
tree_name
if
title
is
None
else
title
self
.
title
=
tree_name
if
title
is
None
else
title
...
@@ -96,7 +109,9 @@ class TreeWalker:
...
@@ -96,7 +109,9 @@ class TreeWalker:
root_node
=
{
root_node
=
{
"node_id"
:
root
[
"node_id"
],
"node_id"
:
root
[
"node_id"
],
"keywords"
:
root
[
"keywords"
],
"keywords"
:
root
[
"keywords"
],
"children"
:
[]
"children"
:
[],
"keywords_must"
:
root
[
"keywords_must"
],
"keywords_forbid"
:
root
[
"keywords_forbid"
]
}
}
self
.
tree
[
root
[
"tree_name"
]]
=
root_node
self
.
tree
[
root
[
"tree_name"
]]
=
root_node
self
.
load_levels
(
root_node
)
self
.
load_levels
(
root_node
)
...
@@ -109,11 +124,13 @@ class TreeWalker:
...
@@ -109,11 +124,13 @@ class TreeWalker:
for
index
,
chapter
in
enumerate
(
level_node
[
"children"
]):
for
index
,
chapter
in
enumerate
(
level_node
[
"children"
]):
chapter_title
=
list
(
chapter
.
keys
())[
0
]
chapter_title
=
list
(
chapter
.
keys
())[
0
]
chapter_node
=
list
(
chapter
.
values
())[
0
]
chapter_node
=
list
(
chapter
.
values
())[
0
]
chapter_path
=
os
.
path
.
join
(
level_path
,
f
"
{
index
+
1
}
.
{
chapter_title
}
"
)
chapter_path
=
os
.
path
.
join
(
level_path
,
f
"
{
index
+
1
}
.
{
chapter_title
}
"
)
self
.
load_sections
(
chapter_path
,
chapter_node
)
self
.
load_sections
(
chapter_path
,
chapter_node
)
for
index
,
section_node
in
enumerate
(
chapter_node
[
"children"
]):
for
index
,
section_node
in
enumerate
(
chapter_node
[
"children"
]):
section_title
=
list
(
section_node
.
keys
())[
0
]
section_title
=
list
(
section_node
.
keys
())[
0
]
full_path
=
os
.
path
.
join
(
chapter_path
,
f
"
{
index
+
1
}
.
{
section_title
}
"
)
full_path
=
os
.
path
.
join
(
chapter_path
,
f
"
{
index
+
1
}
.
{
section_title
}
"
)
if
os
.
path
.
isdir
(
full_path
):
if
os
.
path
.
isdir
(
full_path
):
self
.
check_section_keywords
(
full_path
)
self
.
check_section_keywords
(
full_path
)
self
.
ensure_exercises
(
full_path
)
self
.
ensure_exercises
(
full_path
)
...
@@ -149,6 +166,8 @@ class TreeWalker:
...
@@ -149,6 +166,8 @@ class TreeWalker:
"node_id"
:
config
[
"node_id"
],
"node_id"
:
config
[
"node_id"
],
"keywords"
:
config
[
"keywords"
],
"keywords"
:
config
[
"keywords"
],
"children"
:
[],
"children"
:
[],
"keywords_must"
:
config
[
"keywords_must"
],
"keywords_forbid"
:
config
[
"keywords_forbid"
]
}
}
}
}
...
@@ -186,7 +205,7 @@ class TreeWalker:
...
@@ -186,7 +205,7 @@ class TreeWalker:
posted
=
os
.
path
.
join
(
base
,
f
"
{
index
+
1
}
.
{
title
}
"
)
posted
=
os
.
path
.
join
(
base
,
f
"
{
index
+
1
}
.
{
title
}
"
)
if
origin
!=
posted
:
if
origin
!=
posted
:
self
.
logger
.
info
(
f
"rename [
{
origin
}
] to [
{
posted
}
]"
)
self
.
logger
.
info
(
f
"rename [
{
origin
}
] to [
{
posted
}
]"
)
os
.
rename
(
origin
,
posted
)
os
.
rename
(
origin
,
posted
)
return
children
return
children
def
ensure_chapters
(
self
):
def
ensure_chapters
(
self
):
...
@@ -200,6 +219,8 @@ class TreeWalker:
...
@@ -200,6 +219,8 @@ class TreeWalker:
"tree_name"
:
self
.
name
,
"tree_name"
:
self
.
name
,
"keywords"
:
[],
"keywords"
:
[],
"node_id"
:
self
.
gen_node_id
(),
"node_id"
:
self
.
gen_node_id
(),
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
dump_json
(
config_path
,
config
,
exist_ok
=
True
,
override
=
True
)
dump_json
(
config_path
,
config
,
exist_ok
=
True
,
override
=
True
)
else
:
else
:
...
@@ -229,7 +250,9 @@ class TreeWalker:
...
@@ -229,7 +250,9 @@ class TreeWalker:
if
not
os
.
path
.
exists
(
config_path
):
if
not
os
.
path
.
exists
(
config_path
):
config
=
{
config
=
{
"node_id"
:
self
.
gen_node_id
(),
"node_id"
:
self
.
gen_node_id
(),
"keywords"
:
[]
"keywords"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
}
dump_json
(
config_path
,
config
,
exist_ok
=
True
,
override
=
True
)
dump_json
(
config_path
,
config
,
exist_ok
=
True
,
override
=
True
)
else
:
else
:
...
@@ -295,6 +318,8 @@ class TreeWalker:
...
@@ -295,6 +318,8 @@ class TreeWalker:
"node_id"
:
config
[
"node_id"
],
"node_id"
:
config
[
"node_id"
],
"keywords"
:
config
[
"keywords"
],
"keywords"
:
config
[
"keywords"
],
"children"
:
[],
"children"
:
[],
"keywords_must"
:
config
[
"keywords_must"
],
"keywords_forbid"
:
config
[
"keywords_forbid"
]
}
}
}
}
return
num
,
result
return
num
,
result
...
@@ -306,7 +331,9 @@ class TreeWalker:
...
@@ -306,7 +331,9 @@ class TreeWalker:
name
:
{
name
:
{
"node_id"
:
config
[
"node_id"
],
"node_id"
:
config
[
"node_id"
],
"keywords"
:
config
[
"keywords"
],
"keywords"
:
config
[
"keywords"
],
"children"
:
config
.
get
(
"children"
,
[])
"children"
:
config
.
get
(
"children"
,
[]),
"keywords_must"
:
config
[
"keywords_must"
],
"keywords_forbid"
:
config
[
"keywords_forbid"
]
}
}
}
}
# if "children" in config:
# if "children" in config:
...
@@ -323,7 +350,8 @@ class TreeWalker:
...
@@ -323,7 +350,8 @@ class TreeWalker:
continue
continue
mfile
=
base
+
".json"
mfile
=
base
+
".json"
meta_path
=
os
.
path
.
join
(
section_path
,
mfile
)
meta_path
=
os
.
path
.
join
(
section_path
,
mfile
)
self
.
ensure_exercises_meta
(
meta_path
,
source
)
md_file
=
os
.
path
.
join
(
section_path
,
e
)
self
.
ensure_exercises_meta
(
meta_path
,
source
,
md_file
)
export
=
config
.
get
(
"export"
,
[])
export
=
config
.
get
(
"export"
,
[])
if
mfile
not
in
export
and
self
.
name
!=
"algorithm"
:
if
mfile
not
in
export
and
self
.
name
!=
"algorithm"
:
export
.
append
(
mfile
)
export
.
append
(
mfile
)
...
@@ -331,23 +359,25 @@ class TreeWalker:
...
@@ -331,23 +359,25 @@ class TreeWalker:
config
[
"export"
]
=
export
config
[
"export"
]
=
export
if
flag
:
if
flag
:
dump_json
(
os
.
path
.
join
(
section_path
,
"config.json"
),
config
,
True
,
True
)
dump_json
(
os
.
path
.
join
(
section_path
,
"config.json"
),
config
,
True
,
True
)
for
e
in
config
.
get
(
"export"
,
[]):
for
e
in
config
.
get
(
"export"
,
[]):
full_name
=
os
.
path
.
join
(
section_path
,
e
)
full_name
=
os
.
path
.
join
(
section_path
,
e
)
exercise
=
load_json
(
full_name
)
exercise
=
load_json
(
full_name
)
if
not
exercise
.
get
(
"exercise_id"
)
or
exercise
.
get
(
"exercise_id"
)
in
id_set
:
if
"exercise_id"
not
in
exercise
or
exercise
.
get
(
"exercise_id"
)
in
id_set
:
eid
=
uuid
.
uuid4
().
hex
eid
=
uuid
.
uuid4
().
hex
exercise
[
"exercise_id"
]
=
eid
exercise
[
"exercise_id"
]
=
eid
dump_json
(
full_name
,
exercise
,
True
,
True
)
dump_json
(
full_name
,
exercise
,
True
,
True
)
else
:
else
:
id_set
.
add
(
exercise
[
"exercise_id"
])
id_set
.
add
(
exercise
[
"exercise_id"
])
def
ensure_exercises_meta
(
self
,
meta_path
,
source
):
def
ensure_exercises_meta
(
self
,
meta_path
,
source
,
md_file
):
_
,
mfile
=
os
.
path
.
split
(
meta_path
)
_
,
mfile
=
os
.
path
.
split
(
meta_path
)
meta
=
None
meta
=
None
if
os
.
path
.
exists
(
meta_path
):
if
os
.
path
.
exists
(
meta_path
):
content
=
read_text
(
meta_path
)
with
open
(
meta_path
)
as
f
:
content
=
f
.
read
()
if
content
:
if
content
:
meta
=
json
.
loads
(
content
)
meta
=
json
.
loads
(
content
)
if
"exercise_id"
not
in
meta
:
if
"exercise_id"
not
in
meta
:
...
@@ -357,26 +387,31 @@ class TreeWalker:
...
@@ -357,26 +387,31 @@ class TreeWalker:
if
"source"
not
in
meta
:
if
"source"
not
in
meta
:
meta
[
"source"
]
=
source
meta
[
"source"
]
=
source
if
"author"
not
in
meta
:
if
"author"
not
in
meta
:
meta
[
"author"
]
=
user_name
()
meta
[
"author"
]
=
user_name
(
md_file
,
self
.
authors
)
if
"type"
not
in
meta
:
if
"type"
not
in
meta
:
meta
[
"type"
]
=
"code_options"
meta
[
"type"
]
=
"code_options"
if
meta
is
None
:
meta
=
{
if
meta
is
None
:
"type"
:
"code_options"
,
meta
=
{
"author"
:
user_name
(),
"type"
:
"code_options"
,
"source"
:
source
,
"author"
:
user_name
(
md_file
,
self
.
authors
),
"notebook_enable"
:
self
.
default_notebook
(),
"source"
:
source
,
"exercise_id"
:
uuid
.
uuid4
().
hex
"notebook_enable"
:
self
.
default_notebook
(),
}
"exercise_id"
:
uuid
.
uuid4
().
hex
}
dump_json
(
meta_path
,
meta
,
True
,
True
)
dump_json
(
meta_path
,
meta
,
True
,
True
)
def
default_notebook
(
self
):
def
default_notebook
(
self
):
if
self
.
enable_notebook
is
not
None
:
return
self
.
enable_notebook
if
self
.
name
in
[
"python"
,
"java"
,
"c"
]:
if
self
.
name
in
[
"python"
,
"java"
,
"c"
]:
return
True
return
True
else
:
else
:
return
False
return
False
def
check_section_keywords
(
self
,
full_path
):
def
check_section_keywords
(
self
,
full_path
):
if
self
.
ignore_keywords
:
return
config
=
self
.
ensure_section_config
(
full_path
)
config
=
self
.
ensure_section_config
(
full_path
)
if
not
config
.
get
(
"keywords"
,
[]):
if
not
config
.
get
(
"keywords"
,
[]):
self
.
logger
.
error
(
f
"节点 [
{
full_path
}
] 的关键字为空,请修改配置文件写入关键字"
)
self
.
logger
.
error
(
f
"节点 [
{
full_path
}
] 的关键字为空,请修改配置文件写入关键字"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录