1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

[docs update]完善描述

This commit is contained in:
guide 2022-03-21 15:04:27 +08:00
parent 44b39e9866
commit 26afcc7706
2 changed files with 15 additions and 2 deletions

View File

@ -268,6 +268,19 @@ public final class String implements java.io.Serializable, Comparable<String>, C
> >
> 补充(来自[issue 675](https://github.com/Snailclimb/JavaGuide/issues/675)):在 Java 9 之后,`String``StringBuilder``StringBuffer` 的实现改用 `byte` 数组存储字符串。 > 补充(来自[issue 675](https://github.com/Snailclimb/JavaGuide/issues/675)):在 Java 9 之后,`String``StringBuilder``StringBuffer` 的实现改用 `byte` 数组存储字符串。
> >
> ```java
> public final class String implements java.io.Serializable,Comparable<String>, CharSequence {
> // @Stable 注解表示变量最多被修改一次,称为“稳定的”。
> @Stable
> private final byte[] value;
> }
>
> abstract class AbstractStringBuilder implements Appendable, CharSequence {
> byte[] value;
>
> }
> ```
>
> **Java 9 为何要将 `String` 的底层实现由 `char[]` 改成了 `byte[]` ?** > **Java 9 为何要将 `String` 的底层实现由 `char[]` 改成了 `byte[]` ?**
> >
> 新版的 String 其实支持两个编码方案: Latin-1 和 UTF-16。如果字符串中包含的汉字没有超过 Latin-1 可表示范围内的字符,那就会使用 Latin-1 作为编码方案。Latin-1 编码方案下,`byte` 占一个字节(8位)`char` 占用2个字节16`byte` 相较 `char` 节省一半的内存空间。 > 新版的 String 其实支持两个编码方案: Latin-1 和 UTF-16。如果字符串中包含的汉字没有超过 Latin-1 可表示范围内的字符,那就会使用 Latin-1 作为编码方案。Latin-1 编码方案下,`byte` 占一个字节(8位)`char` 占用2个字节16`byte` 相较 `char` 节省一半的内存空间。

View File

@ -92,8 +92,8 @@ public class MultiThread {
## 说说并发与并行的区别? ## 说说并发与并行的区别?
- **并发** 同一时间段,多个任务都在执行 (单位时间内不一定同时执行) - **并发**:两个及两个以上的作业在同一 **时间段** 内执行。
- **并行** 单位时间内,多个任务同时执行。 - **并行**:两个及两个以上的作业在同一 **时刻** 执行。
## 为什么要使用多线程呢? ## 为什么要使用多线程呢?