Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_java
提交
4738558b
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看板
提交
4738558b
编写于
11月 23, 2021
作者:
M
Mars Liu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add keywords
上级
4f75dd86
变更
80
隐藏空白更改
内联
并排
Showing
80 changed file
with
194 addition
and
1080 deletion
+194
-1080
data/2.Java中阶/1.IO/1.流概述/config.json
data/2.Java中阶/1.IO/1.流概述/config.json
+1
-1
data/2.Java中阶/1.IO/2.RandomAccessFile/config.json
data/2.Java中阶/1.IO/2.RandomAccessFile/config.json
+1
-1
data/2.Java中阶/1.IO/3.输入输出流/config.json
data/2.Java中阶/1.IO/3.输入输出流/config.json
+1
-1
data/2.Java中阶/1.IO/4.文件输入输出流/config.json
data/2.Java中阶/1.IO/4.文件输入输出流/config.json
+1
-1
data/2.Java中阶/1.IO/5.对象序列化/config.json
data/2.Java中阶/1.IO/5.对象序列化/config.json
+1
-1
data/2.Java中阶/1.IO/6.ZIP压缩输入输出流/config.json
data/2.Java中阶/1.IO/6.ZIP压缩输入输出流/config.json
+1
-1
data/2.Java中阶/1.IO/7.InputStream类型/config.json
data/2.Java中阶/1.IO/7.InputStream类型/config.json
+1
-1
data/2.Java中阶/1.IO/8.OutputStream类型/config.json
data/2.Java中阶/1.IO/8.OutputStream类型/config.json
+1
-1
data/2.Java中阶/2.使用JDBC操作数据库/1.JDBC概述/DriverType.json
data/2.Java中阶/2.使用JDBC操作数据库/1.JDBC概述/DriverType.json
+6
-5
data/2.Java中阶/2.使用JDBC操作数据库/1.JDBC概述/config.json
data/2.Java中阶/2.使用JDBC操作数据库/1.JDBC概述/config.json
+3
-2
data/2.Java中阶/2.使用JDBC操作数据库/2.数据库操作/config.json
data/2.Java中阶/2.使用JDBC操作数据库/2.数据库操作/config.json
+1
-1
data/2.Java中阶/3.NIO/1.NIO概述/config.json
data/2.Java中阶/3.NIO/1.NIO概述/config.json
+1
-1
data/2.Java中阶/3.NIO/2.Buffer(缓冲器)/config.json
data/2.Java中阶/3.NIO/2.Buffer(缓冲器)/config.json
+1
-1
data/2.Java中阶/3.NIO/3.Channel(通道)/config.json
data/2.Java中阶/3.NIO/3.Channel(通道)/config.json
+1
-1
data/2.Java中阶/3.NIO/4.字符集和Charset/config.json
data/2.Java中阶/3.NIO/4.字符集和Charset/config.json
+1
-1
data/2.Java中阶/3.NIO/5.文件锁/config.json
data/2.Java中阶/3.NIO/5.文件锁/config.json
+1
-1
data/2.Java中阶/3.NIO/6.Path接口/config.json
data/2.Java中阶/3.NIO/6.Path接口/config.json
+1
-1
data/2.Java中阶/3.NIO/7.Files工具类/config.json
data/2.Java中阶/3.NIO/7.Files工具类/config.json
+1
-1
data/2.Java中阶/4.网络编程/2.UDP通信/config.json
data/2.Java中阶/4.网络编程/2.UDP通信/config.json
+1
-1
data/2.Java中阶/4.网络编程/3.TCP通信/config.json
data/2.Java中阶/4.网络编程/3.TCP通信/config.json
+1
-1
data/2.Java中阶/4.网络编程/4.网络编程的基础知识/config.json
data/2.Java中阶/4.网络编程/4.网络编程的基础知识/config.json
+0
-17
data/2.Java中阶/4.网络编程/5.Java的基本网络支持/Support.json
data/2.Java中阶/4.网络编程/5.Java的基本网络支持/Support.json
+0
-8
data/2.Java中阶/4.网络编程/5.Java的基本网络支持/Support.md
data/2.Java中阶/4.网络编程/5.Java的基本网络支持/Support.md
+0
-31
data/2.Java中阶/4.网络编程/5.Java的基本网络支持/config.json
data/2.Java中阶/4.网络编程/5.Java的基本网络支持/config.json
+0
-25
data/2.Java中阶/4.网络编程/6.基于TCP协议的网络编程/config.json
data/2.Java中阶/4.网络编程/6.基于TCP协议的网络编程/config.json
+0
-61
data/2.Java中阶/4.网络编程/7.基于UDP协议的网络编程/config.json
data/2.Java中阶/4.网络编程/7.基于UDP协议的网络编程/config.json
+0
-33
data/2.Java中阶/4.网络编程/8.使用代理服务器/Proxy.json
data/2.Java中阶/4.网络编程/8.使用代理服务器/Proxy.json
+0
-8
data/2.Java中阶/4.网络编程/8.使用代理服务器/Proxy.md
data/2.Java中阶/4.网络编程/8.使用代理服务器/Proxy.md
+0
-42
data/2.Java中阶/4.网络编程/8.使用代理服务器/config.json
data/2.Java中阶/4.网络编程/8.使用代理服务器/config.json
+0
-25
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/HTTPClient.json
.../2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/HTTPClient.json
+0
-8
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/HTTPClient.md
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/HTTPClient.md
+0
-39
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/WebSocket.json
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/WebSocket.json
+0
-8
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/WebSocket.md
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/WebSocket.md
+0
-31
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/config.json
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/config.json
+0
-47
data/2.Java中阶/5.类型信息/1.Class对象/config.json
data/2.Java中阶/5.类型信息/1.Class对象/config.json
+1
-1
data/2.Java中阶/5.类型信息/2.类型转换前先做检查/config.json
data/2.Java中阶/5.类型信息/2.类型转换前先做检查/config.json
+1
-1
data/2.Java中阶/5.类型信息/3.注册工厂/config.json
data/2.Java中阶/5.类型信息/3.注册工厂/config.json
+0
-8
data/2.Java中阶/5.类型信息/4.instanceof与Class的等价性/Instanceof.json
data/2.Java中阶/5.类型信息/4.instanceof与Class的等价性/Instanceof.json
+0
-8
data/2.Java中阶/5.类型信息/4.instanceof与Class的等价性/Instanceof.md
data/2.Java中阶/5.类型信息/4.instanceof与Class的等价性/Instanceof.md
+0
-39
data/2.Java中阶/5.类型信息/4.instanceof与Class的等价性/config.json
data/2.Java中阶/5.类型信息/4.instanceof与Class的等价性/config.json
+0
-8
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/Reflect.json
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/Reflect.json
+0
-8
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/Reflect.md
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/Reflect.md
+0
-38
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/ReflectTest.json
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/ReflectTest.json
+0
-8
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/ReflectTest.md
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/ReflectTest.md
+0
-75
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/config.json
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/config.json
+0
-133
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxy.json
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxy.json
+0
-8
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxy.md
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxy.md
+0
-32
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxyTest.json
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxyTest.json
+0
-8
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxyTest.md
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxyTest.md
+0
-62
data/2.Java中阶/5.类型信息/6.动态代理/config.json
data/2.Java中阶/5.类型信息/6.动态代理/config.json
+0
-8
data/2.Java中阶/5.类型信息/7.空对象/None.json
data/2.Java中阶/5.类型信息/7.空对象/None.json
+0
-8
data/2.Java中阶/5.类型信息/7.空对象/None.md
data/2.Java中阶/5.类型信息/7.空对象/None.md
+0
-32
data/2.Java中阶/5.类型信息/7.空对象/config.json
data/2.Java中阶/5.类型信息/7.空对象/config.json
+0
-17
data/2.Java中阶/6.深入研究容器/2.List的功能方法/config.json
data/2.Java中阶/6.深入研究容器/2.List的功能方法/config.json
+1
-1
data/2.Java中阶/6.深入研究容器/3.Set和存储顺序/config.json
data/2.Java中阶/6.深入研究容器/3.Set和存储顺序/config.json
+1
-1
data/2.Java中阶/6.深入研究容器/4.队列/config.json
data/2.Java中阶/6.深入研究容器/4.队列/config.json
+1
-1
data/2.Java中阶/6.深入研究容器/5.理解Map/config.json
data/2.Java中阶/6.深入研究容器/5.理解Map/config.json
+1
-1
data/2.Java中阶/6.深入研究容器/6.选择接口的不同实现/Select.md
data/2.Java中阶/6.深入研究容器/6.选择接口的不同实现/Select.md
+1
-1
data/2.Java中阶/6.深入研究容器/6.选择接口的不同实现/config.json
data/2.Java中阶/6.深入研究容器/6.选择接口的不同实现/config.json
+1
-1
data/2.Java中阶/6.深入研究容器/7.Collections实用方法/config.json
data/2.Java中阶/6.深入研究容器/7.Collections实用方法/config.json
+1
-1
data/2.Java中阶/7.注解/1.基本语法/config.json
data/2.Java中阶/7.注解/1.基本语法/config.json
+1
-1
data/2.Java中阶/7.注解/2.使用apt处理注解/config.json
data/2.Java中阶/7.注解/2.使用apt处理注解/config.json
+1
-1
data/2.Java中阶/7.注解/3.基于注解的单元测试/config.json
data/2.Java中阶/7.注解/3.基于注解的单元测试/config.json
+1
-1
data/2.Java中阶/8.并发/1.并发的定义/config.json
data/2.Java中阶/8.并发/1.并发的定义/config.json
+1
-1
data/2.Java中阶/8.并发/2.线程属性/config.json
data/2.Java中阶/8.并发/2.线程属性/config.json
+1
-1
data/2.Java中阶/8.并发/3.线程状态/config.json
data/2.Java中阶/8.并发/3.线程状态/config.json
+1
-1
data/2.Java中阶/8.并发/4.线程之间的协作/config.json
data/2.Java中阶/8.并发/4.线程之间的协作/config.json
+1
-1
data/2.Java中阶/8.并发/5.死锁/config.json
data/2.Java中阶/8.并发/5.死锁/config.json
+1
-1
data/2.Java中阶/8.并发/6.线程安全的集合/config.json
data/2.Java中阶/8.并发/6.线程安全的集合/config.json
+1
-1
data/2.Java中阶/9.Maven基础/config.json
data/2.Java中阶/9.Maven基础/config.json
+3
-1
data/3.Java高阶/1.行为抽象和Lambda/1.流和行为抽象/config.json
data/3.Java高阶/1.行为抽象和Lambda/1.流和行为抽象/config.json
+1
-1
data/3.Java高阶/1.行为抽象和Lambda/3.流/config.json
data/3.Java高阶/1.行为抽象和Lambda/3.流/config.json
+1
-1
data/3.Java高阶/1.行为抽象和Lambda/4.收集器/config.json
data/3.Java高阶/1.行为抽象和Lambda/4.收集器/config.json
+1
-1
data/3.Java高阶/1.行为抽象和Lambda/5.分组/config.json
data/3.Java高阶/1.行为抽象和Lambda/5.分组/config.json
+1
-1
data/3.Java高阶/1.行为抽象和Lambda/6.分区/config.json
data/3.Java高阶/1.行为抽象和Lambda/6.分区/config.json
+2
-1
data/3.Java高阶/2.Optional/1.Optional与Null/config.json
data/3.Java高阶/2.Optional/1.Optional与Null/config.json
+2
-1
data/3.Java高阶/2.Optional/2.一致性/config.json
data/3.Java高阶/2.Optional/2.一致性/config.json
+2
-1
data/3.Java高阶/3.Java异步任务/1.线程与进程/config.json
data/3.Java高阶/3.Java异步任务/1.线程与进程/config.json
+2
-1
data/3.Java高阶/3.Java异步任务/2.Future与CompletableFuture/config.json
....Java高阶/3.Java异步任务/2.Future与CompletableFuture/config.json
+1
-1
data/tree.json
data/tree.json
+133
-144
未找到文件。
data/2.Java中阶/1.IO/1.流概述/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-9d6d81f6283d414ba54d97cb25373b7c"
,
"keywords"
:
[],
"keywords"
:
[
"流"
,
"stream"
,
"input"
,
"output"
],
"children"
:
[],
"export"
:
[
"Abstract.json"
],
"title"
:
"流概述"
...
...
data/2.Java中阶/1.IO/2.RandomAccessFile/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-3c0553280d2a4b60983a5ae18e7112a4"
,
"keywords"
:
[
"随机"
,
"访问"
,
"文件"
],
"keywords"
:
[
"随机"
,
"访问"
,
"文件"
,
"file"
],
"children"
:
[],
"export"
:
[
"RandomAccessFile.json"
],
"title"
:
"RandomAccessFile"
...
...
data/2.Java中阶/1.IO/3.输入输出流/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-4395c520c7514a97a792922acd5937bb"
,
"keywords"
:
[],
"keywords"
:
[
"input"
,
"output"
,
"stream"
,
"输入"
,
"输出"
],
"children"
:
[
{
"输入流"
:
{
...
...
data/2.Java中阶/1.IO/4.文件输入输出流/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-132615c6b56b4ea883622abf5b81128d"
,
"keywords"
:
[],
"keywords"
:
[
"file"
,
"input"
,
"output"
,
"文件"
,
"输入"
,
"输出"
,
"reader"
,
"writer"
],
"children"
:
[
{
"FileInputStream类与FileOutputStream类"
:
{
...
...
data/2.Java中阶/1.IO/5.对象序列化/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-ec1081c263a84d41b692d4821d8254e6"
,
"keywords"
:
[],
"keywords"
:
[
"序列化"
,
"serialize"
,
"serializable"
],
"children"
:
[],
"export"
:
[
"ObjectSerializable.json"
],
"title"
:
"对象序列化"
...
...
data/2.Java中阶/1.IO/6.ZIP压缩输入输出流/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-822ae98d5b294e699b7ed1bc6ffb9425"
,
"keywords"
:
[],
"keywords"
:
[
"zip"
,
"unzip"
,
"input"
,
"output"
,
"stream"
,
"压缩"
,
"解压"
,
"流"
],
"children"
:
[
{
"压缩文件"
:
{
...
...
data/2.Java中阶/1.IO/7.InputStream类型/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-fc2dfe1a80f64143b4ad339378ba61da"
,
"keywords"
:
[],
"keywords"
:
[
"stream"
,
"input"
,
"输入"
,
"流"
],
"children"
:
[],
"export"
:
[
"unzip.json"
],
"title"
:
"InputStream类型"
...
...
data/2.Java中阶/1.IO/8.OutputStream类型/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-cc8c2e511db54a2ca2ee798f2cdbd03b"
,
"keywords"
:
[],
"keywords"
:
[
"output"
,
"stream"
,
"输出"
,
"流"
],
"children"
:
[],
"export"
:
[
"zip.json"
],
"title"
:
"OutputStream类型"
...
...
data/2.Java中阶/2.使用JDBC操作数据库/1.JDBC概述/DriverType.json
浏览文件 @
4738558b
{
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"DriverType.md"
,
"exercise_id"
:
"
"
,
"notebook_enable"
:
true
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"DriverType.md"
,
"exercise_id"
:
"b061ceb22d07423da14a6ba9be44a70a
"
,
"notebook_enable"
:
true
}
\ No newline at end of file
data/2.Java中阶/2.使用JDBC操作数据库/1.JDBC概述/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-150a9965d3e34a19943b4bd5ab2d31bb"
,
"keywords"
:
[],
"keywords"
:
[
"jdbc"
,
"驱动"
,
"database"
,
"driver"
],
"children"
:
[
{
"JDBC-ODBC桥"
:
{
...
...
@@ -27,6 +27,6 @@
}
}
],
"export"
:
[
"Abstract.json"
],
"export"
:
[
"Abstract.json"
,
"DriverType.json"
],
"title"
:
"JDBC概述"
}
\ No newline at end of file
data/2.Java中阶/2.使用JDBC操作数据库/2.数据库操作/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-fd66a76b04b84d8da4454f6f9728aca0"
,
"keywords"
:
[
"数据库"
,
"操作"
,
"添加"
,
"修改"
,
"删除"
,
"查询"
],
"keywords"
:
[
"数据库"
,
"操作"
,
"添加"
,
"修改"
,
"删除"
,
"查询"
,
"事务"
,
"transaction"
],
"children"
:
[
{
"数据库基础"
:
{
...
...
data/2.Java中阶/3.NIO/1.NIO概述/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-5daee2a48ed2413fa38467811ea5ee23"
,
"keywords"
:
[],
"keywords"
:
[
"nio"
],
"children"
:
[],
"export"
:
[
"NIOAbstract.json"
],
"title"
:
"NIO概述"
...
...
data/2.Java中阶/3.NIO/2.Buffer(缓冲器)/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-e622e94340ee4f00ae2aec33047cb19f"
,
"keywords"
:
[],
"keywords"
:
[
"buffer"
,
"缓冲"
],
"children"
:
[],
"export"
:
[
"BufferType.json"
,
"BufferRead.json"
],
"title"
:
"Buffer(缓冲器)"
...
...
data/2.Java中阶/3.NIO/3.Channel(通道)/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-1cbb9d1ea7c74caeaf8d88c2aad75965"
,
"keywords"
:
[],
"keywords"
:
[
"channel"
,
"通道"
],
"children"
:
[],
"export"
:
[
"Channel.json"
,
"ChannelType.json"
],
"title"
:
"Channel(通道)"
...
...
data/2.Java中阶/3.NIO/4.字符集和Charset/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-984b508fc9a54650aa9509eeb198f925"
,
"keywords"
:
[],
"keywords"
:
[
"字符集"
,
"charset"
],
"children"
:
[],
"export"
:
[
"Charset.json"
],
"title"
:
"字符集和Charset"
...
...
data/2.Java中阶/3.NIO/5.文件锁/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-338c2cfa55b346a0a0cd4dfc61c40ae6"
,
"keywords"
:
[],
"keywords"
:
[
"file"
,
"文件"
,
"lock"
,
"锁"
],
"children"
:
[],
"export"
:
[
"FileLock.json"
],
"title"
:
"文件锁"
...
...
data/2.Java中阶/3.NIO/6.Path接口/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-386113b4f6274eb591e1f01b39f0c8ce"
,
"keywords"
:
[
"Paths"
,
"Path"
],
"keywords"
:
[
"Paths"
,
"Path"
,
"路径"
],
"children"
:
[],
"export"
:
[
"Path.json"
],
"title"
:
"Path接口"
...
...
data/2.Java中阶/3.NIO/7.Files工具类/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-868e1323bfdf4c239a6552a45a30d48d"
,
"keywords"
:
[],
"keywords"
:
[
"文件"
,
"file"
],
"children"
:
[],
"export"
:
[
"Files.json"
],
"title"
:
"Files工具类"
...
...
data/2.Java中阶/4.网络编程/2.UDP通信/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-f031c1ea305e4617bb1d9f2c4d41f009"
,
"keywords"
:
[],
"keywords"
:
[
"network"
,
"udp"
,
"网络"
],
"children"
:
[
{
"UDP通信简介"
:
{
...
...
data/2.Java中阶/4.网络编程/3.TCP通信/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-d1499a6f75a04d038344ce776d1c658a"
,
"keywords"
:
[],
"keywords"
:
[
"network"
,
"tcp"
],
"children"
:
[
{
"TCP通信简介"
:
{
...
...
data/2.Java中阶/4.网络编程/4.网络编程的基础知识/config.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"node_id"
:
"java-0a41df2154834670a9facf2ff7530d6b"
,
"keywords"
:
[],
"children"
:
[
{
"网络基础知识"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"java-1cf4ca055b604ea49c6b762596371c71"
,
"title"
:
"网络基础知识"
}
}
],
"export"
:
[],
"title"
:
"网络编程的基础知识"
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/5.Java的基本网络支持/Support.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"Support.md"
,
"exercise_id"
:
"eac8c5c2b7b14122bdd66651e40169a5"
,
"notebook_enable"
:
true
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/5.Java的基本网络支持/Support.md
已删除
100644 → 0
浏览文件 @
4f75dd86
# Java基本网络支持
下列对于Java网络支持的相关说法错误的是:
## 答案
```
URI是统一资源标识符,可以用来定位资源
```
## 选项
### A
```
InetAddress类有两个子类:Inet4Address和Inet6Address
```
### B
```
URLDecoder和URLEncoder用于完成普通字符串和MIME字符串之间的相互转换
```
### C
```
URL是统一资源定位器
```
data/2.Java中阶/4.网络编程/5.Java的基本网络支持/config.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"node_id"
:
"java-1e8ef0cdeec443d8addaaa79b760c6b1"
,
"keywords"
:
[],
"children"
:
[
{
"使用URLDecoder和URLEncoder"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"java-f880ae75add64feaae9a85ea7c9367b2"
,
"title"
:
"使用URLDecoder和URLEncoder"
}
},
{
"URL、URLConnection和URLPermission"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"URL、URLConnection和URLPermission"
}
}
],
"export"
:
[
"Support.json"
],
"title"
:
"Java的基本网络支持"
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/6.基于TCP协议的网络编程/config.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"node_id"
:
"java-a89aa3ff88c1429396c8c20e12c17801"
,
"keywords"
:
[],
"children"
:
[
{
"TCP协议基础"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"java-7e9947e48fc6409b93ba1e3b5002e247"
,
"title"
:
"TCP协议基础"
}
},
{
"使用ServerSocket创建TCP服务器端"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"使用ServerSocket创建TCP服务器端"
}
},
{
"使用Socket进行通信"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"使用Socket进行通信"
}
},
{
"记录用户信息"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"半关闭的Socket"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"使用NIO实现非阻塞Socket通信"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"使用AIO实现非阻塞通信"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
}
],
"export"
:
[],
"title"
:
"基于TCP协议的网络编程"
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/7.基于UDP协议的网络编程/config.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"node_id"
:
"java-e424fbf24fc84b339db1b836c54ce647"
,
"keywords"
:
[],
"children"
:
[
{
"UDP协议基础"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"java-f28b8ebe51b34e4db9b94cfa6b0cbac7"
,
"title"
:
"UDP协议基础"
}
},
{
"使用DatagramSocket发送、接收数据"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"使用DatagramSocket发送、接收数据"
}
},
{
"使用MulticastSocket实现多点广播"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"使用MulticastSocket实现多点广播"
}
}
],
"export"
:
[],
"title"
:
"基于UDP协议的网络编程"
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/8.使用代理服务器/Proxy.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"Proxy.md"
,
"exercise_id"
:
"9ab4eaf561144775b08bf657416721af"
,
"notebook_enable"
:
true
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/8.使用代理服务器/Proxy.md
已删除
100644 → 0
浏览文件 @
4f75dd86
# Proxy
下列对http请求使用代理的方式正确的是:
## 答案
```
以上选择均正确
```
## 选项
### A
```
java
// 在你发起Http请求之前设置代理属性
Properties
prop
=
System
.
getProperties
();
prop
.
setProperty
(
"http.proxyHost"
,
proxyHost
);
prop
.
setProperty
(
"http.proxyPort"
,
proxyPort
);
```
### B
```
java
// 通过Proxy来配置代理信息
URL
url
=
new
URL
(
"http://www.baidu.com"
);
Proxy
proxy
=
new
Proxy
(
Proxy
.
Type
.
HTTP
,
new
InetSocketAddress
(
proxyHost
,
proxyPort
));
URLConnection
conn
=
url
.
openConnection
(
proxy
);
```
### C
```
java
// httpclient设置代理
HttpClient
client
=
HttpClient
.
newBuilder
()
.
version
(
HttpClient
.
Version
.
HTTP_2
)
.
connectTimeout
(
Duration
.
ofSeconds
(
10
))
.
proxy
(
ProxySelector
.
of
(
new
InetSocketAddress
(
proxyHost
,
proxyHost
)))
.
build
();
```
data/2.Java中阶/4.网络编程/8.使用代理服务器/config.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"node_id"
:
"java-cb9fdf69e28f40aca9ef741b9c8bc925"
,
"keywords"
:
[],
"children"
:
[
{
"直接使用Proxy创建连接"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"java-367580927af845268b72979f1e1e16be"
,
"title"
:
"直接使用Proxy创建连接"
}
},
{
"使用ProxySelector自动选择代理服务器"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"使用ProxySelector自动选择代理服务器"
}
}
],
"export"
:
[
"Proxy.json"
],
"title"
:
"使用代理服务器"
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/HTTPClient.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"HTTPClient.md"
,
"exercise_id"
:
"c5456368050f4ad1bdce9e19548e5c1a"
,
"notebook_enable"
:
true
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/HTTPClient.md
已删除
100644 → 0
浏览文件 @
4f75dd86
# HTTPClient
下列语句皆为使用HTTPClient获取网页的流程之一,其中不正确的是:
## 答案
```
java
HttpResponse
.
BodyHandler
<
String
>
bodyHandler
=
HttpResponse
.
BodyHandlers
;
```
## 选项
### A
```
java
String
url
=
"https://www.baidu.com"
;
HttpClient
client
=
HttpClient
.
newBuilder
().
build
();
```
### B
```
java
HttpRequest
request
=
HttpRequest
.
newBuilder
()
.
uri
(
URI
.
create
(
url
))
.
header
(
"Content-Type"
,
"text/html"
)
.
GET
()
.
build
();
```
### C
```
java
HttpResponse
<
String
>
response
=
client
.
send
(
request
,
bodyHandler
);
if
(
response
.
statusCode
()
==
200
)
{
System
.
out
.
println
(
response
.
body
());
}
```
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/WebSocket.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"WebSocket.md"
,
"exercise_id"
:
"dac563065d504db1bdca92dba611f4cb"
,
"notebook_enable"
:
true
}
\ No newline at end of file
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/WebSocket.md
已删除
100644 → 0
浏览文件 @
4f75dd86
# WebSocket
`WebSocket`
可以实现服务端对客户端的推送,避免客户端轮询,造成带宽资源浪费。以下关于
`WebSocket`
的说法错误的是:
## 答案
```
WebSockt与HTTP都是基于TCP的,因此url也是以HTTP开头
```
## 选项
### A
```
WebSocket基于TCP协议
```
### B
```
WebSocket是双向的,即全双工协议
```
### C
```
WebSocket是一种有状态的协议
```
data/2.Java中阶/4.网络编程/9.Java 11标准化的HTTP Client/config.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"node_id"
:
"java-dd60957a0a7f4155a68aea7c6807d504"
,
"keywords"
:
[
"websocket"
,
"get"
,
"post"
,
"delete"
,
"put"
,
"请求"
],
"children"
:
[
{
"发送同步GET请求"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"java-01931200f6684a0bba54c8fe79070301"
,
"title"
:
"发送同步GET请求"
}
},
{
"发送带请求体的请求"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"发送带请求体的请求"
}
},
{
"发送异步请求"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"发送异步请求"
}
},
{
"WebSocket客户端支持"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"基于WebSocket的多人实时聊天"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
}
],
"export"
:
[
"HTTPClient.json"
,
"WebSocket.json"
],
"title"
:
"Java 11标准化的HTTP Client"
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/1.Class对象/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-1133afe68c004a0ea2ad957f0acb061e"
,
"keywords"
:
[],
"keywords"
:
[
"class"
,
"类"
,
"面向对象"
],
"children"
:
[
{
"类字面常量"
:
{
...
...
data/2.Java中阶/5.类型信息/2.类型转换前先做检查/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-48593d705752415e95c42b09d36bc2a4"
,
"keywords"
:
[
"instanceof"
],
"keywords"
:
[
"instanceof"
,
"类型"
],
"children"
:
[
{
"使用类字面常量"
:
{
...
...
data/2.Java中阶/5.类型信息/3.注册工厂/config.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"node_id"
:
"java-c4cbf0c25cbf47c4892a5f6635be9826"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[],
"title"
:
"注册工厂"
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/4.instanceof与Class的等价性/Instanceof.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"Instanceof.md"
,
"exercise_id"
:
"d2b56cc9a32a4b9993ab41bad65892b2"
,
"notebook_enable"
:
true
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/4.instanceof与Class的等价性/Instanceof.md
已删除
100644 → 0
浏览文件 @
4f75dd86
# Instanceof
已知Person是Man的父类,以下结果为True的是:
## aop
### before
```
java
Man
man
=
new
Man
();
Person
person
=
new
Person
();
```
## 答案
```
man instanceof Person
```
## 选项
### A
```
java
man
.
getClass
.
equals
(
Person
.
class
)
```
### B
```
java
Man
.
class
.
isInstance
(
person
)
```
### C
```
java
person
.
getClass
()
==
Man
.
class
```
data/2.Java中阶/5.类型信息/4.instanceof与Class的等价性/config.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"node_id"
:
"java-feca89c3fb9e4bcaba3f1f95e8ad4753"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"Instanceof.json"
],
"title"
:
"instanceof与Class的等价性"
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/Reflect.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"Reflect.md"
,
"exercise_id"
:
"a37be7bf155943179abd1d1c3efb7064"
,
"notebook_enable"
:
true
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/Reflect.md
已删除
100644 → 0
浏览文件 @
4f75dd86
# Reflect
下列关于JAVA反射的说法正确的是:
## aop
### before
```
java
```
## 答案
```
以上说法均正确
```
## 选项
### A
```
反射机制作用在程序运行状态
```
### B
```
能动态获取类的属性及方法并能进行调用
```
### C
```
反射首先要获取类的Class类对象
```
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/ReflectTest.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"ReflectTest.md"
,
"exercise_id"
:
"23057a3a31b0428e8ed7c44b5328d48a"
,
"notebook_enable"
:
true
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/ReflectTest.md
已删除
100644 → 0
浏览文件 @
4f75dd86
# ReflectTest
以下程序是关于反射的一个例子,程序的控制台打印为:
```
java
public
class
Reflect
{
public
static
void
main
(
String
[]
args
)
throws
NoSuchMethodException
,
InvocationTargetException
,
InstantiationException
,
IllegalAccessException
{
Class
clazz
=
Student
.
class
;
Constructor
con
=
clazz
.
getConstructor
(
String
.
class
,
Integer
.
class
);
Student
student1
=
(
Student
)
con
.
newInstance
(
"小铭"
,
24
);
Student
student2
=
new
Student
(
"小铭"
,
24
);
System
.
out
.
println
(
student2
==
student1
);
System
.
out
.
println
(
student2
.
equals
(
student1
));
}
}
```
## aop
### before
```
java
import
java.lang.reflect.Constructor
;
import
java.lang.reflect.InvocationTargetException
;
class
Student
{
private
String
name
;
private
Integer
age
;
public
Student
()
{}
public
Student
(
String
name
,
Integer
age
)
{
this
.
name
=
name
;
this
.
age
=
age
;
}
@Override
public
String
toString
()
{
return
"Student{"
+
"name='"
+
name
+
'\''
+
", age="
+
age
+
'}'
;
}
}
```
## 答案
```
false
false
```
## 选项
### A
```
false
true
```
### B
```
true
false
```
### C
```
true
true
```
data/2.Java中阶/5.类型信息/5.反射:运行时类信息/config.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"node_id"
:
"java-42b26ca8a2384dcfb02fca6e159ace67"
,
"keywords"
:
[
"annotation"
],
"children"
:
[
{
"类方法抽取器"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"java-aa383e03d51a4ea588ee1b04192ab556"
,
"title"
:
"类方法抽取器"
}
},
{
"Class类与Java反射"
:
{
"keywords"
:
[],
"children"
:
[
{
"访问构造方法"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"访问构造方法"
}
},
{
"访问成员变量"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"访问方法"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
}
],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"Class类与Java反射"
}
},
{
"使用Annotation功能"
:
{
"keywords"
:
[],
"children"
:
[
{
"定义Annotation类型"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"访问Annotation信息"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
}
],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"声明异常入门"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"资源"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"利用反射分析类的能力"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"使用反射在运行时分析"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"使用反射编写泛型数组"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"访问字段"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"调用方法"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"调用构造方法"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"获取继承关系"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
}
],
"export"
:
[
"Reflect.json"
,
"ReflectTest.json"
],
"title"
:
"反射:运行时类信息"
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxy.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"DynamicProxy.md"
,
"exercise_id"
:
"3825ea2504a34a1fbd3f40090cb7a6ca"
,
"notebook_enable"
:
true
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxy.md
已删除
100644 → 0
浏览文件 @
4f75dd86
# DynamicProxy
下列关于JAVA动态代理的说法正确的是:
## 答案
```
以上说法均正确
```
## 选项
### A
```
为对象提供一个代理,控制对对象的访问
```
### B
```
动态代理有两种实现方式:JDK动态代理实现和CGlib字节码技术实现
```
### C
```
JDK动态代理只能代理接口而不能代理类
```
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxyTest.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"DynamicProxyTest.md"
,
"exercise_id"
:
"675c2c4dcb41423095d3f6dcdae93aab"
,
"notebook_enable"
:
true
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/6.动态代理/DynamicProxyTest.md
已删除
100644 → 0
浏览文件 @
4f75dd86
# DynamicProxyTest
以下程序是关于动态代理的一个例子,1和2处填入正确的是:
```
java
interface
Person
{
void
speak
(
String
text
);
}
public
class
DynamicProxyTest
{
public
static
void
main
(
String
[]
args
)
{
InvocationHandler
handler
=
new
InvocationHandler
()
{
@Override
public
Object
invoke
(
Object
proxy
,
Method
method
,
Object
[]
args
)
{
if
(
method
.
getName
().
equals
(
"speak"
))
{
System
.
out
.
println
(
"准备"
);
System
.
out
.
println
(
args
[
0
]);
System
.
out
.
println
(
"结束"
);
}
return
null
;
}
};
Person
person
=
(
Person
)
Proxy
.
newProxyInstance
(
1
,
2
,
handler
);
person
.
speak
(
"你好,很高兴认识你。"
);
}
}
```
## 答案
```
Person.class.getClassLoader()
new Class[] { Person.class }
```
## 选项
### A
```
Person.getClassLoader()
Person.class
```
### B
```
Person.class.getClassLoader()
Person.getClass()
```
### C
```
Person.getClassLoader()
new Class[] { Person.class }
```
data/2.Java中阶/5.类型信息/6.动态代理/config.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"node_id"
:
"java-f7be740717c442c4a489a8c8d675f38c"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"DynamicProxy.json"
,
"DynamicProxyTest.json"
],
"title"
:
"动态代理"
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/7.空对象/None.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"type"
:
"code_options"
,
"author"
:
"clong"
,
"source"
:
"None.md"
,
"exercise_id"
:
"669d00b9f4c6408db09e5eeead918286"
,
"notebook_enable"
:
true
}
\ No newline at end of file
data/2.Java中阶/5.类型信息/7.空对象/None.md
已删除
100644 → 0
浏览文件 @
4f75dd86
# 空对象
下列关于空对象的说法错误的是:
## 答案
```
构造空对象是java内置的
```
## 选项
### A
```
空对象,没有赋值过,但是却在内存中存在
```
### B
```
空对象能避免报空指针异常
```
### C
```
有时候还是要判断对象是否为空对象
```
data/2.Java中阶/5.类型信息/7.空对象/config.json
已删除
100644 → 0
浏览文件 @
4f75dd86
{
"node_id"
:
"java-dec42155c7904f7e9d00a37b5013470d"
,
"keywords"
:
[],
"children"
:
[
{
"模拟对象与桩"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"java-0109d4ae23934645bc817fd2ac423854"
,
"title"
:
"模拟对象与桩"
}
}
],
"export"
:
[
"None.json"
],
"title"
:
"空对象"
}
\ No newline at end of file
data/2.Java中阶/6.深入研究容器/2.List的功能方法/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-6a6a4fabc4e34b5d985e4787fda4793f"
,
"keywords"
:
[],
"keywords"
:
[
"list"
,
"数据结构"
],
"children"
:
[],
"export"
:
[
"List.json"
],
"title"
:
"List的功能方法"
...
...
data/2.Java中阶/6.深入研究容器/3.Set和存储顺序/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-d29c64a86fbb49b88cc2eaa7b39375b4"
,
"keywords"
:
[],
"keywords"
:
[
"set"
,
"数据结构"
],
"children"
:
[],
"export"
:
[
"Set.json"
],
"title"
:
"Set和存储顺序"
...
...
data/2.Java中阶/6.深入研究容器/4.队列/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-3b1d3953fd724d1f87c1e95918bc2d0c"
,
"keywords"
:
[
"队列"
,
"queue"
],
"keywords"
:
[
"队列"
,
"queue"
,
"数据结构"
],
"children"
:
[
{
"优先级队列"
:
{
...
...
data/2.Java中阶/6.深入研究容器/5.理解Map/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-154f1448c9f04d7d950de1273760288f"
,
"keywords"
:
[],
"keywords"
:
[
"map"
,
"字典"
,
"数据结构"
],
"children"
:
[
{
"性能"
:
{
...
...
data/2.Java中阶/6.深入研究容器/6.选择接口的不同实现/Select.md
浏览文件 @
4738558b
# 选择接口的不同实现
下列关于集合接口的不同实现的选择错误的是:
关于 Java 标准库的数据结构,下列选项错误的是
...
...
data/2.Java中阶/6.深入研究容器/6.选择接口的不同实现/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-553c2f460603478f9d4047e1b4d78af1"
,
"keywords"
:
[],
"keywords"
:
[
"数据结构"
],
"children"
:
[
{
"性能测试框架"
:
{
...
...
data/2.Java中阶/6.深入研究容器/7.Collections实用方法/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-3805023f872947c4874b6e7bab06c1a7"
,
"keywords"
:
[],
"keywords"
:
[
"数据结构"
],
"children"
:
[
{
"List的排序和查询"
:
{
...
...
data/2.Java中阶/7.注解/1.基本语法/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-132c631a618e4828b4c69316d6163ec3"
,
"keywords"
:
[],
"keywords"
:
[
"注解"
,
"annotation"
],
"children"
:
[
{
"定义注解"
:
{
...
...
data/2.Java中阶/7.注解/2.使用apt处理注解/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-8b0806d4d89948598ac95e5c19b53298"
,
"keywords"
:
[],
"keywords"
:
[
"apt"
,
"注解"
,
"annotation"
],
"children"
:
[],
"export"
:
[
"apt.json"
],
"title"
:
"使用apt处理注解"
...
...
data/2.Java中阶/7.注解/3.基于注解的单元测试/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-352f523c7ad54583a0097cf171015d83"
,
"keywords"
:
[],
"keywords"
:
[
"junit"
,
"单元测试"
,
"测试"
,
"annotation"
],
"children"
:
[
{
"将@Unit用于泛型"
:
{
...
...
data/2.Java中阶/8.并发/1.并发的定义/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-66090dfe673e48a5a14c6ee846c4fc97"
,
"keywords"
:
[],
"keywords"
:
[
"并发"
],
"children"
:
[
{
"更快的执行"
:
{
...
...
data/2.Java中阶/8.并发/2.线程属性/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-785476f0c71e437cadeb502a74dd86ed"
,
"keywords"
:
[],
"keywords"
:
[
"thread"
,
"线程"
,
"并发"
,
"并行"
],
"children"
:
[
{
"中断线程"
:
{
...
...
data/2.Java中阶/8.并发/3.线程状态/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-7a4a0e08d7424b5896f2325f732bdeee"
,
"keywords"
:
[],
"keywords"
:
[
"thread"
,
"线程"
,
"并发"
,
"并行"
],
"children"
:
[
{
"新建线程"
:
{
...
...
data/2.Java中阶/8.并发/4.线程之间的协作/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-5e82993df31e4989ac4b128c08cf0823"
,
"keywords"
:
[],
"keywords"
:
[
"thread"
,
"线程"
,
"并发"
,
"并行"
],
"children"
:
[
{
"wait()与notifyAll()"
:
{
...
...
data/2.Java中阶/8.并发/5.死锁/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-372114d043a04070ad690f2753b5083b"
,
"keywords"
:
[],
"keywords"
:
[
"thread"
,
"线程"
,
"并发"
,
"并行"
,
"死锁 "
],
"children"
:
[],
"export"
:
[
"DeadLock.json"
],
"title"
:
"死锁"
...
...
data/2.Java中阶/8.并发/6.线程安全的集合/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-aa0b95d8960b4d12a2c9d9e90894a793"
,
"keywords"
:
[],
"keywords"
:
[
"thread"
,
"线程"
,
"并发"
,
"并行"
],
"children"
:
[
{
"阻塞队列"
:
{
...
...
data/2.Java中阶/9.Maven基础/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-13e82ac770bb42f3a6076274c28ead94"
,
"keywords"
:
[]
"keywords"
:
[
"maven"
,
"构建"
],
"export"
:
[
"MavenDesc.json"
,
"MavenScript.json"
]
}
\ No newline at end of file
data/3.Java高阶/1.行为抽象和Lambda/1.流和行为抽象/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-fb711fb0dfbb40db974476ea2d9faf9d"
,
"keywords"
:
[],
"keywords"
:
[
"流"
,
"stream"
],
"children"
:
[],
"export"
:
[
"map.json"
,
...
...
data/3.Java高阶/1.行为抽象和Lambda/3.流/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-9f8b0da343fd415c9b29380647b0f1f8"
,
"keywords"
:
[],
"keywords"
:
[
"流"
,
"stream"
],
"children"
:
[],
"export"
:
[
"map_reduce.json"
],
"title"
:
"流简介"
...
...
data/3.Java高阶/1.行为抽象和Lambda/4.收集器/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-0f1fc49b2e1c41368403ca2239810920"
,
"keywords"
:
[],
"keywords"
:
[
"流"
,
"stream"
,
"collect"
],
"children"
:
[],
"export"
:
[
"to_list.json"
,
...
...
data/3.Java高阶/1.行为抽象和Lambda/5.分组/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-bbff17faa9a04aebbe14c62caccc2309"
,
"keywords"
:
[],
"keywords"
:
[
"流"
,
"stream"
,
"group by"
],
"children"
:
[],
"export"
:
[],
"title"
:
"分组"
...
...
data/3.Java高阶/1.行为抽象和Lambda/6.分区/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-05498c81f6be42a2a44ddb4de0178420"
,
"keywords"
:
[],
"keywords"
:
[
"流"
,
"stream"
,
"partition by"
],
"children"
:
[],
"export"
:
[
"partition_by.json"
]
}
\ No newline at end of file
data/3.Java高阶/2.Optional/1.Optional与Null/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-36a3b51a36624ee8930794d64da6b22a"
,
"keywords"
:
[],
"keywords"
:
[
"optional"
,
"null"
],
"children"
:
[],
"export"
:
[
"optional.json"
]
}
\ No newline at end of file
data/3.Java高阶/2.Optional/2.一致性/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-6a0ad22b08cd4520b453904d832936ea"
,
"keywords"
:
[],
"keywords"
:
[
"optional"
,
"null"
],
"children"
:
[],
"export"
:
[
"optional.json"
]
}
\ No newline at end of file
data/3.Java高阶/3.Java异步任务/1.线程与进程/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-5dcc74ab2617434f91ae6aa1ba0ac661"
,
"keywords"
:
[],
"keywords"
:
[
"并发"
,
"并行"
,
"线程"
,
"thread"
],
"children"
:
[],
"export"
:
[
"thread.json"
]
}
\ No newline at end of file
data/3.Java高阶/3.Java异步任务/2.Future与CompletableFuture/config.json
浏览文件 @
4738558b
{
"node_id"
:
"java-90f4b7c696464886af9c8de8cbd95338"
,
"keywords"
:
[],
"keywords"
:
[
"并发"
,
"异步"
,
"future"
],
"children"
:
[],
"export"
:
[],
"title"
:
"为并发而生的CompletableFuture和结合器"
...
...
data/tree.json
浏览文件 @
4738558b
...
...
@@ -1096,7 +1096,12 @@
{
"流概述"
:
{
"node_id"
:
"java-9d6d81f6283d414ba54d97cb25373b7c"
,
"keywords"
:
[],
"keywords"
:
[
"流"
,
"stream"
,
"input"
,
"output"
],
"children"
:
[]
}
},
...
...
@@ -1106,7 +1111,8 @@
"keywords"
:
[
"随机"
,
"访问"
,
"文件"
"文件"
,
"file"
],
"children"
:
[]
}
...
...
@@ -1114,7 +1120,13 @@
{
"输入输出流"
:
{
"node_id"
:
"java-4395c520c7514a97a792922acd5937bb"
,
"keywords"
:
[],
"keywords"
:
[
"input"
,
"output"
,
"stream"
,
"输入"
,
"输出"
],
"children"
:
[
{
"输入流"
:
{
...
...
@@ -1138,7 +1150,16 @@
{
"文件输入输出流"
:
{
"node_id"
:
"java-132615c6b56b4ea883622abf5b81128d"
,
"keywords"
:
[],
"keywords"
:
[
"file"
,
"input"
,
"output"
,
"文件"
,
"输入"
,
"输出"
,
"reader"
,
"writer"
],
"children"
:
[
{
"FileInputStream类与FileOutputStream类"
:
{
...
...
@@ -1162,14 +1183,27 @@
{
"对象序列化"
:
{
"node_id"
:
"java-ec1081c263a84d41b692d4821d8254e6"
,
"keywords"
:
[],
"keywords"
:
[
"序列化"
,
"serialize"
,
"serializable"
],
"children"
:
[]
}
},
{
"ZIP压缩输入输出流"
:
{
"node_id"
:
"java-822ae98d5b294e699b7ed1bc6ffb9425"
,
"keywords"
:
[],
"keywords"
:
[
"zip"
,
"unzip"
,
"input"
,
"output"
,
"stream"
,
"压缩"
,
"解压"
,
"流"
],
"children"
:
[
{
"压缩文件"
:
{
...
...
@@ -1193,14 +1227,24 @@
{
"InputStream类型"
:
{
"node_id"
:
"java-fc2dfe1a80f64143b4ad339378ba61da"
,
"keywords"
:
[],
"keywords"
:
[
"stream"
,
"input"
,
"输入"
,
"流"
],
"children"
:
[]
}
},
{
"OutputStream类型"
:
{
"node_id"
:
"java-cc8c2e511db54a2ca2ee798f2cdbd03b"
,
"keywords"
:
[],
"keywords"
:
[
"output"
,
"stream"
,
"输出"
,
"流"
],
"children"
:
[]
}
}
...
...
@@ -1215,7 +1259,12 @@
{
"JDBC概述"
:
{
"node_id"
:
"java-150a9965d3e34a19943b4bd5ab2d31bb"
,
"keywords"
:
[],
"keywords"
:
[
"jdbc"
,
"驱动"
,
"database"
,
"driver"
],
"children"
:
[
{
"JDBC-ODBC桥"
:
{
...
...
@@ -1253,7 +1302,9 @@
"添加"
,
"修改"
,
"删除"
,
"查询"
"查询"
,
"事务"
,
"transaction"
],
"children"
:
[
{
...
...
@@ -1365,35 +1416,51 @@
{
"NIO概述"
:
{
"node_id"
:
"java-5daee2a48ed2413fa38467811ea5ee23"
,
"keywords"
:
[],
"keywords"
:
[
"nio"
],
"children"
:
[]
}
},
{
"Buffer(缓冲器)"
:
{
"node_id"
:
"java-e622e94340ee4f00ae2aec33047cb19f"
,
"keywords"
:
[],
"keywords"
:
[
"buffer"
,
"缓冲"
],
"children"
:
[]
}
},
{
"Channel(通道)"
:
{
"node_id"
:
"java-1cbb9d1ea7c74caeaf8d88c2aad75965"
,
"keywords"
:
[],
"keywords"
:
[
"channel"
,
"通道"
],
"children"
:
[]
}
},
{
"字符集和Charset"
:
{
"node_id"
:
"java-984b508fc9a54650aa9509eeb198f925"
,
"keywords"
:
[],
"keywords"
:
[
"字符集"
,
"charset"
],
"children"
:
[]
}
},
{
"文件锁"
:
{
"node_id"
:
"java-338c2cfa55b346a0a0cd4dfc61c40ae6"
,
"keywords"
:
[],
"keywords"
:
[
"file"
,
"文件"
,
"lock"
,
"锁"
],
"children"
:
[]
}
},
...
...
@@ -1402,7 +1469,8 @@
"node_id"
:
"java-386113b4f6274eb591e1f01b39f0c8ce"
,
"keywords"
:
[
"Paths"
,
"Path"
"Path"
,
"路径"
],
"children"
:
[]
}
...
...
@@ -1410,7 +1478,10 @@
{
"Files工具类"
:
{
"node_id"
:
"java-868e1323bfdf4c239a6552a45a30d48d"
,
"keywords"
:
[],
"keywords"
:
[
"文件"
,
"file"
],
"children"
:
[]
}
}
...
...
@@ -1468,7 +1539,11 @@
{
"UDP通信"
:
{
"node_id"
:
"java-f031c1ea305e4617bb1d9f2c4d41f009"
,
"keywords"
:
[],
"keywords"
:
[
"network"
,
"udp"
,
"网络"
],
"children"
:
[
{
"UDP通信简介"
:
{
...
...
@@ -1514,7 +1589,10 @@
{
"TCP通信"
:
{
"node_id"
:
"java-d1499a6f75a04d038344ce776d1c658a"
,
"keywords"
:
[],
"keywords"
:
[
"network"
,
"tcp"
],
"children"
:
[
{
"TCP通信简介"
:
{
...
...
@@ -1564,26 +1642,12 @@
]
}
},
{
"网络编程的基础知识"
:
{
"node_id"
:
"java-0a41df2154834670a9facf2ff7530d6b"
,
"keywords"
:
[],
"children"
:
[
{
"网络基础知识"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"java-1cf4ca055b604ea49c6b762596371c71"
,
"title"
:
"网络基础知识"
}
}
]
}
},
{
"Java的基本网络支持"
:
{
"node_id"
:
"java-1e8ef0cdeec443d8addaaa79b760c6b1"
,
"keywords"
:
[],
"keywords"
:
[
"network"
],
"children"
:
[
{
"使用URLDecoder和URLEncoder"
:
{
...
...
@@ -1604,102 +1668,13 @@
]
}
},
{
"基于TCP协议的网络编程"
:
{
"node_id"
:
"java-a89aa3ff88c1429396c8c20e12c17801"
,
"keywords"
:
[],
"children"
:
[
{
"TCP协议基础"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"java-7e9947e48fc6409b93ba1e3b5002e247"
,
"title"
:
"TCP协议基础"
}
},
{
"使用ServerSocket创建TCP服务器端"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"使用ServerSocket创建TCP服务器端"
}
},
{
"使用Socket进行通信"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"使用Socket进行通信"
}
},
{
"记录用户信息"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"半关闭的Socket"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"使用NIO实现非阻塞Socket通信"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
},
{
"使用AIO实现非阻塞通信"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
}
}
]
}
},
{
"基于UDP协议的网络编程"
:
{
"node_id"
:
"java-e424fbf24fc84b339db1b836c54ce647"
,
"keywords"
:
[],
"children"
:
[
{
"UDP协议基础"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"java-f28b8ebe51b34e4db9b94cfa6b0cbac7"
,
"title"
:
"UDP协议基础"
}
},
{
"使用DatagramSocket发送、接收数据"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"使用DatagramSocket发送、接收数据"
}
},
{
"使用MulticastSocket实现多点广播"
:
{
"keywords"
:
[],
"children"
:
[],
"node_id"
:
"569d5e11c4fc5de7844053d9a733c5e8"
,
"title"
:
"使用MulticastSocket实现多点广播"
}
}
]
}
},
{
"使用代理服务器"
:
{
"node_id"
:
"java-cb9fdf69e28f40aca9ef741b9c8bc925"
,
"keywords"
:
[],
"keywords"
:
[
"network"
,
"proxy"
],
"children"
:
[
{
"直接使用Proxy创建连接"
:
{
...
...
@@ -1784,7 +1759,11 @@
{
"Class对象"
:
{
"node_id"
:
"java-1133afe68c004a0ea2ad957f0acb061e"
,
"keywords"
:
[],
"keywords"
:
[
"class"
,
"类"
,
"面向对象"
],
"children"
:
[
{
"类字面常量"
:
{
...
...
@@ -1817,7 +1796,8 @@
"类型转换前先做检查"
:
{
"node_id"
:
"java-48593d705752415e95c42b09d36bc2a4"
,
"keywords"
:
[
"instanceof"
"instanceof"
,
"类型"
],
"children"
:
[
{
...
...
@@ -1847,17 +1827,12 @@
]
}
},
{
"注册工厂"
:
{
"node_id"
:
"java-c4cbf0c25cbf47c4892a5f6635be9826"
,
"keywords"
:
[],
"children"
:
[]
}
},
{
"instanceof与Class的等价性"
:
{
"node_id"
:
"java-feca89c3fb9e4bcaba3f1f95e8ad4753"
,
"keywords"
:
[],
"keywords"
:
[
"类型"
],
"children"
:
[]
}
},
...
...
@@ -1865,7 +1840,8 @@
"反射:运行时类信息"
:
{
"node_id"
:
"java-42b26ca8a2384dcfb02fca6e159ace67"
,
"keywords"
:
[
"annotation"
"annotation"
,
"标注"
],
"children"
:
[
{
...
...
@@ -1998,14 +1974,18 @@
{
"动态代理"
:
{
"node_id"
:
"java-f7be740717c442c4a489a8c8d675f38c"
,
"keywords"
:
[],
"keywords"
:
[
"proxy"
],
"children"
:
[]
}
},
{
"空对象"
:
{
"node_id"
:
"java-dec42155c7904f7e9d00a37b5013470d"
,
"keywords"
:
[],
"keywords"
:
[
"空对象"
],
"children"
:
[
{
"模拟对象与桩"
:
{
...
...
@@ -2582,14 +2562,23 @@
{
"线程与进程"
:
{
"node_id"
:
"java-5dcc74ab2617434f91ae6aa1ba0ac661"
,
"keywords"
:
[],
"keywords"
:
[
"并发"
,
"并行"
,
"线程"
,
"thread"
],
"children"
:
[]
}
},
{
"Future与CompletableFuture"
:
{
"node_id"
:
"java-90f4b7c696464886af9c8de8cbd95338"
,
"keywords"
:
[],
"keywords"
:
[
"并发"
,
"异步"
,
"future"
],
"children"
:
[]
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录