Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
howtodoinjava-zh
提交
e94a1e82
H
howtodoinjava-zh
项目概览
OpenDocCN
/
howtodoinjava-zh
9 个月 前同步成功
通知
1
Star
82
Fork
8
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
howtodoinjava-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e94a1e82
编写于
5月 31, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-05-31 09:39:42
上级
6713e27b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
316 addition
and
0 deletion
+316
-0
docs/java/README.md
docs/java/README.md
+31
-0
docs/java/SUMMARY.md
docs/java/SUMMARY.md
+285
-0
未找到文件。
docs/java/README.md
0 → 100644
浏览文件 @
e94a1e82
# HowToDoInJava Java 教程
> 原文:[HowToDoInJava](https://howtodoinjava.com/)
>
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
>
> 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。
*
[
ApacheCN 学习资源
](
http://docs.apachecn.org/
)
## 贡献指南
本项目需要校对,欢迎大家提交 Pull Request。
> 请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并不要求您做到十全十美,因此请不要担心因为翻译上犯错——在大部分情况下,我们的服务器已经记录所有的翻译,因此您不必担心会因为您的失误遭到无法挽回的破坏。(改编自维基百科)
## 联系方式
### 负责人
*
[
飞龙
](
https://github.com/wizardforcel
)
: 562826179
### 其他
*
在我们的
[
apachecn/howtodoinjava-zh
](
https://github.com/apachecn/howtodoinjava-zh
)
github 上提 issue.
*
发邮件到 Email:
`apachecn@163.com`
.
*
在我们的
[
组织学习交流群
](
http://www.apachecn.org/organization/348.html
)
中联系群主/管理员即可.
## 赞助我们
![](
http://data.apachecn.org/img/about/donate.jpg
)
docs/java/SUMMARY.md
0 → 100644
浏览文件 @
e94a1e82
+
[
核心 Java 教程
](
2.md
)
+
[
什么是 Java 编程语言?
](
3.md
)
+
[
什么是 Java JDK,JRE 和 JVM – 深入分析
](
4.md
)
+
[
Java 命名约定
](
5.md
)
+
[
Java 类路径
](
6.md
)
+
[
Java 变量
](
7.md
)
+
[
Java 运算符指南
](
8.md
)
+
[
Java 关键字
](
9.md
)
+
[
Java 中的数据类型
](
10.md
)
+
[
Java 中的原始数据类型
](
11.md
)
+
[
Java 包装器类 – 自动装箱,拆箱和转换示例
](
12.md
)
+
[
Java 中的语句类型
](
13.md
)
+
[
Java 控制流语句
](
14.md
)
+
[
Java 中的标签语句
](
15.md
)
+
[
Java 字符串类指南
](
16.md
)
+
[
Java 创建类 – 如何创建对象?
](
17.md
)
+
[
如何在 Java 中创建不可变的类
](
18.md
)
+
[
Java `main()`方法
](
19.md
)
+
[
Java 注释
](
20.md
)
+
[
Java 按值传递与按引用传递
](
21.md
)
+
[
Java 系统属性
](
22.md
)
+
[
Java 静态 – 变量,方法,块,类和导入语句
](
23.md
)
+
[
Java 中的静态导入语句
](
24.md
)
+
[
Java `hashCode()`和`equals()` – 契约,规则和最佳实践
](
25.md
)
+
[
Java `this`和`super`之间的区别
](
26.md
)
+
[
32 位 Java 与 64 位 Java 之间的区别
](
27.md
)
+
[
`java.exe`和`javaw.exe`之间的区别
](
28.md
)
+
[
Java 查看/生成类文件的字节码
](
29.md
)
+
[
Java 中的小端和大端
](
30.md
)
+
[
Java 命令行参数
](
31.md
)
+
[
在 Java 中比较浮点数或双精度数的正确方法
](
32.md
)
+
[
Java 递归指南
](
33.md
)
+
[
Java 偶对
](
34.md
)
+
[
Java 元组 – 使用 Java 中的元组
](
35.md
)
+
[
`sun.misc.Unsafe`类的用法
](
36.md
)
+
[
Java UUID 生成器示例
](
37.md
)
+
[
Java 12 教程
](
38.md
)
+
[
Java 12 – 新特性和增强特性
](
39.md
)
+
[
收集器`teeing()`方法示例
](
40.md
)
+
[
字符串`indent(count)` – Java 中的行左缩进
](
41.md
)
+
[
精简数字格式
](
42.md
)
+
[
Java 11 教程
](
43.md
)
+
[
Java 11 的新特性和增强特性
](
44.md
)
+
[
`String.isBlank()` – 在 Java 中检查空白或空字符串
](
45.md
)
+
[
`String.lines()` – 获取行流 – Java 11
](
46.md
)
+
[
`String.repeat()` – 在 Java 中重复字符串 N 次
](
47.md
)
+
[
`String.strip()` – 删除开头和结尾的空格
](
48.md
)
+
[
文件`readString()` API – 将文件读取为 Java 中的字符串
](
49.md
)
+
[
文件`writeString()` API – 用 Java 将字符串写入文件
](
50.md
)
+
[
Java 10 教程
](
51.md
)
+
[
Java 10 特性和增强特性
](
52.md
)
+
[
Java 版本 – 基于时间的发行版本控制
](
53.md
)
+
[
Java `var` – 局部变量类型推断
](
54.md
)
+
[
Java 9 教程
](
55.md
)
+
[
Java 9 特性和增强特性
](
56.md
)
+
[
Java 9 – 精简字符串改进 [JEP 254]
](
57.md
)
+
[
Java 模块教程
](
58.md
)
+
[
Java 9 – JShell
](
59.md
)
+
[
Java – 日期流
](
60.md
)
+
[
Java 9 `Stream` API 的改进
](
61.md
)
+
[
Java 9 中的不可变集合和工厂方法
](
62.md
)
+
[
接口中的私有方法 – Java 9
](
63.md
)
+
[
Java 8 教程
](
64.md
)
+
[
Java 8 教程
](
65.md
)
+
[
Java 8 `forEach`
](
66.md
)
+
[
Java 8 流 API
](
67.md
)
+
[
Java 流装箱示例
](
68.md
)
+
[
Lambda 表达式
](
69.md
)
+
[
Java 8 – 函数式接口
](
70.md
)
+
[
Java 8 方法引用示例
](
71.md
)
+
[
Java 默认方法教程
](
72.md
)
+
[
Java 8 `Optional`:完整参考
](
73.md
)
+
[
Java 谓词示例 – 谓词过滤器
](
74.md
)
+
[
Java 8 – 日期和时间示例
](
75.md
)
+
[
Java 8 列出目录中的所有文件 – 六个示例
](
76.md
)
+
[
Java 8 – 逐行读取文件
](
77.md
)
+
[
Java 8 写入文件示例
](
78.md
)
+
[
Java `WatchService` API 教程
](
79.md
)
+
[
Java 8 解析字符串为日期
](
80.md
)
+
[
Java 8 – 连接字符串数组 – 将数组转换为字符串
](
81.md
)
+
[
Java Base64 编码和解码示例
](
82.md
)
+
[
Math 类中的 Java 精确算术运算支持
](
83.md
)
+
[
Java 8 带有 lambda 的`Comparator`示例
](
84.md
)
+
[
使用`Pattern.compile()`方法将 Java 正则表达式作为谓词
](
85.md
)
+
[
Java 字符串连接(CSV)示例
](
86.md
)
+
[
Java 8 两个日期之间的差异
](
87.md
)
+
[
Java – 内部与外部迭代
](
88.md
)
+
[
Java 中的安全随机数生成
](
89.md
)
+
[
Java 7 教程
](
90.md
)
+
[
Java 7 的更改,特性和增强
](
91.md
)
+
[
Java 菱形运算符 – Java 中的`<>`运算符
](
92.md
)
+
[
带字符串的 Java `switch case`
](
93.md
)
+
[
Java 7 中的`try-with-resources`
](
94.md
)
+
[
Java 7 中数字字面值的下划线
](
95.md
)
+
[
Java 抑制异常示例
](
96.md
)
+
[
Java 7 – 异常处理增强
](
97.md
)
+
[
Fork/Join 框架教程:`ForkJoinPool`示例
](
98.md
)
+
[
自动重新加载属性的 Java `WatchService`示例
](
99.md
)
+
[
面向对象原则
](
100.md
)
+
[
Java OOP 概念 – 面向对象的原则
](
101.md
)
+
[
Java 访问修饰符
](
102.md
)
+
[
Java 构造器
](
103.md
)
+
[
Java 实例初始化器块
](
104.md
)
+
[
Java 中的抽象示例
](
105.md
)
+
[
Java 封装与抽象
](
106.md
)
+
[
Java 继承
](
107.md
)
+
[
Java 多态示例
](
108.md
)
+
[
Java 方法重载与方法重载
](
109.md
)
+
[
接口与 Java 中的抽象类
](
110.md
)
+
[
Java `extends`与`implements`关键字
](
111.md
)
+
[
Java `instanceof`运算符
](
112.md
)
+
[
Java 中的多重继承
](
113.md
)
+
[
关联,聚合和组合
](
114.md
)
+
[
Java 并发指南
](
115.md
)
+
[
Java 并发教程
](
116.md
)
+
[
Java 多线程的发展和主题
](
117.md
)
+
[
Java 并发性 – 线程安全性?
](
118.md
)
+
[
并发与并行
](
119.md
)
+
[
Java 比较和交换示例 – CAS 算法
](
120.md
)
+
[
Java `synchronized`关键字
](
121.md
)
+
[
Java 中的对象级别锁与类级别锁
](
122.md
)
+
[
Java 中`Runnable`与`Thread`之间的区别
](
123.md
)
+
[
如何在 Java 中使用`wait()`,`notify()`和`notifyAll()`?
](
124.md
)
+
[
Java 并发性 – `yield()`和`join()`之间的区别
](
125.md
)
+
[
Java 中 `sleep()`和`wait()`之间的区别
](
126.md
)
+
[
锁和监视器之间的区别 – Java 并发
](
127.md
)
+
[
Java `Callable Future`示例
](
128.md
)
+
[
如何使用`UncaughtExceptionHandler`重新启动线程
](
129.md
)
+
[
使用`ThreadPoolExecutor`和`Semaphore`限制任务提交率
](
130.md
)
+
[
Java 执行器框架教程和最佳实践
](
131.md
)
+
[
Java 线程间通信 – `PipedReader`和`PipedWriter`
](
132.md
)
+
[
Java 死锁示例和解决方案
](
133.md
)
+
[
Java 集合
](
134.md
)
+
[
Java 中的集合
](
135.md
)
+
[
Java 中的数组
](
136.md
)
+
[
Java `ArrayList`指南
](
137.md
)
+
[
Java `LinkedList`类
](
138.md
)
+
[
Java `HashMap`指南
](
139.md
)
+
[
Java `Hashtable`类
](
140.md
)
+
[
Java `LinkedHashMap`类
](
141.md
)
+
[
Java `TreeMap`类
](
142.md
)
+
[
Java `HashSet`类
](
143.md
)
+
[
Java `LinkedHashSet`类
](
144.md
)
+
[
Java `TreeSet`类
](
145.md
)
+
[
Java `Comparable`接口示例
](
146.md
)
+
[
Java `Comparator`接口示例
](
147.md
)
+
[
Java `Iterator`接口示例
](
148.md
)
+
[
Java `ListIterator`接口
](
149.md
)
+
[
Java `Spliterator`接口
](
150.md
)
+
[
Java `PriorityQueue`类
](
151.md
)
+
[
Java `PriorityBlockingQueue`类
](
152.md
)
+
[
Java `ArrayBlockingQueue`类
](
153.md
)
+
[
Java `TransferQueue` – Java `LinkedTransferQueue`类
](
154.md
)
+
[
Java `CopyOnWriteArrayList`类
](
155.md
)
+
[
Java `CopyOnWriteArraySet`类
](
156.md
)
+
[
如何在 Java 中对数组,列表,映射和集合进行排序
](
157.md
)
+
[
Java 面试的 40 个热门问答集
](
158.md
)
+
[
Java IO 教程
](
159.md
)
+
[
Java IO 教程和示例
](
160.md
)
+
[
Java I/O 如何在较低级别上内部工作?
](
161.md
)
+
[
Java 标准 IO 与 Java NIO
](
162.md
)
+
[
如何在 Java 中复制目录
](
163.md
)
+
[
用 Java 递归删除目录
](
164.md
)
+
[
Java – 创建新文件
](
165.md
)
+
[
Java – 写入文件
](
166.md
)
+
[
Java – 附加到文件
](
167.md
)
+
[
Java 创建只读文件示例
](
168.md
)
+
[
Java 将文件读取为字符串(已针对 Java 8 更新)
](
169.md
)
+
[
Java 将文件读取到`byte[]`数组
](
170.md
)
+
[
Java – 逐行读取文件 – `LineNumberReader`
](
171.md
)
+
[
Java `BufferedReader`示例
](
172.md
)
+
[
Java – `BufferedWriter`
](
173.md
)
+
[
Java 读写属性文件示例
](
174.md
)
+
[
从资源文件夹读取文件 – Spring 示例
](
175.md
)
+
[
Java – 读写 UTF-8 编码数据
](
176.md
)
+
[
Java 中如何检查文件是否存在
](
177.md
)
+
[
Java 文件复制 – 用 Java 复制文件的 4 种方法
](
178.md
)
+
[
Java `FilenameFilter`示例 – 查找/删除某些扩展名的文件
](
179.md
)
+
[
Java `FileFilter`示例
](
180.md
)
+
[
Java – 创建临时文件
](
181.md
)
+
[
Java – 写入临时文件
](
182.md
)
+
[
Java – 删除临时文件
](
183.md
)
+
[
Java – 读取控制台输入
](
184.md
)
+
[
Java – 使用`Scanner`类读取类型安全输入
](
185.md
)
+
[
在 Java 中将字符串转换为`InputStream`
](
186.md
)
+
[
在 Java 中将`InputStream`转换为字符串
](
187.md
)
+
[
Java – 创建受密码保护的 Zip 文件
](
188.md
)
+
[
Java – 解压缩带有子目录的文件
](
189.md
)
+
[
使用 Java 在 Linux 中管理不超过 N GB 的系统日志文件
](
190.md
)
+
[
在 Java 中生成 SHA 或 MD5 文件校验和哈希
](
191.md
)
+
[
Java 日期时间教程
](
192.md
)
+
[
Java – 日期和时间 API
](
193.md
)
+
[
Java – 日期验证
](
194.md
)
+
[
Java – 日期格式
](
195.md
)
+
[
Java `LocalDate`类
](
196.md
)
+
[
Java `LocalTime`类
](
197.md
)
+
[
Java `LocalDateTime`类
](
198.md
)
+
[
Java `ZonedDateTime`类
](
199.md
)
+
[
Java 8 – `Period`
](
200.md
)
+
[
Java 8 `DateTimeFormatter`
](
201.md
)
+
[
Java 8 – `TemporalAdjusters`
](
202.md
)
+
[
Java 8 – `TemporalQuery`
](
203.md
)
+
[
Java 8 – `DayOfWeek`
](
204.md
)
+
[
Java 日期 – 解析,格式和转换
](
205.md
)
+
[
Java 语言环境 – 创建和设置默认语言环境
](
206.md
)
+
[
Java 枚举教程
](
207.md
)
+
[
Java 枚举
](
208.md
)
+
[
带有字符串值的 Java 枚举
](
209.md
)
+
[
枚举真的是最好的单例吗?
](
210.md
)
+
[
枚举器和迭代器之间的区别?
](
211.md
)
+
[
Java 异常
](
212.md
)
+
[
Java `try-finally`块
](
213.md
)
+
[
Java `throw`关键字
](
214.md
)
+
[
Java 受检与非受检的异常
](
215.md
)
+
[
Java 同步和异步异常
](
216.md
)
+
[
Java `NullPointerException` - 如何在 Java 中有效处理空指针
](
217.md
)
+
[
Java 自定义异常 – 最佳实践
](
218.md
)
+
[
构造器可以声明初始化器块中引发的受检异常
](
219.md
)
+
[
Java 泛型教程
](
220.md
)
+
[
完整的 Java 泛型教程
](
221.md
)
+
[
Java 泛型 PECS - 生产者`extends`消费者`super`
](
222.md
)
+
[
Java 垃圾回收
](
223.md
)
+
[
Java 垃圾收集算法(直到 Java 9)
](
224.md
)
+
[
JVM 内存模型/结构和组件
](
225.md
)
+
[
Java 内存管理 – 垃圾回收算法
](
226.md
)
+
[
Java 序列化教程
](
227.md
)
+
[
Java 序列化 – 执行正确的序列化
](
228.md
)
+
[
Java `serialVersionUID` – 如何生成`serialVersionUID`
](
229.md
)
+
[
Java 外部化示例 – 更有效的序列化
](
230.md
)
+
[
Java 中`Externalizable`与`Serializable`之间的区别
](
231.md
)
+
[
将 Java 对象序列化为 XML – `XMLEncoder`和`XMLDecoder`示例
](
232.md
)
+
[
Java 中反序列化过程如何发生?
](
233.md
)
+
[
使用`readObject`和`writeObject`的 Java 自定义序列化
](
234.md
)
+
[
使用内存序列化的 Java 深层复制
](
235.md
)
+
[
字符串方法
](
236.md
)
+
[
Java `String.concat()`方法示例
](
237.md
)
+
[
Java `String.hashCode()`方法示例
](
238.md
)
+
[
Java `String.contains()`方法示例
](
239.md
)
+
[
Java `String.compareTo()`方法示例
](
240.md
)
+
[
Java `String.compareToIgnoreCase()`方法示例
](
241.md
)
+
[
Java `String.equals()`方法 – 字符串比较
](
242.md
)
+
[
Java `String.equalsIgnoreCase()`方法 – 不区分大小写的比较
](
243.md
)
+
[
Java `String.charAt()`方法示例
](
244.md
)
+
[
Java `String.indexOf()`方法示例
](
245.md
)
+
[
Java `String.lastIndexOf()`方法示例
](
246.md
)
+
[
Java `String.intern()`方法示例
](
247.md
)
+
[
Java `String.split()`方法示例
](
248.md
)
+
[
Java `String.replace()`方法示例
](
249.md
)
+
[
Java `String.replaceFirst()`方法示例
](
250.md
)
+
[
Java `String.replaceAll()`方法示例
](
251.md
)
+
[
Java `String.substring()`方法示例
](
252.md
)
+
[
Java `String.startsWith()`示例
](
253.md
)
+
[
Java `String.endsWith()`方法示例
](
254.md
)
+
[
Java `String.toUpperCase()`方法示例
](
255.md
)
+
[
Java `String.toLowerCase()`方法示例
](
256.md
)
+
[
Java 正则表达式教程
](
257.md
)
+
[
Java 正则表达式教程
](
258.md
)
+
[
Java 仅允许字母数字字符的正则表达式
](
259.md
)
+
[
Java 正则表达式 – 信用卡号验证
](
260.md
)
+
[
Java 正则表达式 – 加拿大邮政编码验证
](
261.md
)
+
[
货币符号的 Java 正则表达式
](
262.md
)
+
[
使用 Java 正则表达式进行日期验证
](
263.md
)
+
[
使用 Java 正则表达式进行电子邮件验证
](
264.md
)
+
[
Java 正则表达式密码验证示例
](
265.md
)
+
[
适用于希腊语扩展或希腊语脚本的 Java 正则表达式
](
266.md
)
+
[
验证 ISBN(国际标准书号)的 Java 正则表达式
](
267.md
)
+
[
检查输入文本的最小/最大长度的 Java 正则表达式
](
268.md
)
+
[
限制文本中的行数的 Java 正则表达式
](
269.md
)
+
[
限制输入中的单词数的 Java 正则表达式
](
270.md
)
+
[
验证 SSN(社会安全号码)的 Java 正则表达式
](
271.md
)
+
[
Java 正则表达式 – 英国邮政编码验证
](
272.md
)
+
[
Java 正则表达式 – 美国邮政编码验证
](
273.md
)
+
[
验证商标符号的 Java 正则表达式
](
274.md
)
+
[
验证国际电话号码的 Java 正则表达式
](
275.md
)
+
[
北美电话号码的 Java 正则表达式
](
276.md
)
+
[
Java NIO 教程
](
277.md
)
+
[
NIO 教程
](
278.md
)
+
[
如何创建路径 – Java NIO
](
279.md
)
+
[
使用缓冲区 – Java NIO 2.0
](
280.md
)
+
[
Java 通道教程 – NIO 2.0
](
281.md
)
+
[
3 种读取文件的方法 – Java NIO
](
282.md
)
+
[
Java 8 – 逐行读取文件
](
283.md
)
+
[
Java 内存映射文件 – Java `MappedByteBuffer`
](
284.md
)
+
[
Java NIO – 分散/聚集或向量 IO
](
285.md
)
+
[
通道之间的数据传输 – Java NIO
](
286.md
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录