mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
[docs update]完善描述
This commit is contained in:
parent
44b39e9866
commit
26afcc7706
@ -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` 数组存储字符串。
|
||||
>
|
||||
> ```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[]` ?**
|
||||
>
|
||||
> 新版的 String 其实支持两个编码方案: Latin-1 和 UTF-16。如果字符串中包含的汉字没有超过 Latin-1 可表示范围内的字符,那就会使用 Latin-1 作为编码方案。Latin-1 编码方案下,`byte` 占一个字节(8位),`char` 占用2个字节(16),`byte` 相较 `char` 节省一半的内存空间。
|
||||
|
@ -92,8 +92,8 @@ public class MultiThread {
|
||||
|
||||
## 说说并发与并行的区别?
|
||||
|
||||
- **并发:** 同一时间段,多个任务都在执行 (单位时间内不一定同时执行);
|
||||
- **并行:** 单位时间内,多个任务同时执行。
|
||||
- **并发**:两个及两个以上的作业在同一 **时间段** 内执行。
|
||||
- **并行**:两个及两个以上的作业在同一 **时刻** 执行。
|
||||
|
||||
## 为什么要使用多线程呢?
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user