1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-07-28 12:22:17 +08:00

Compare commits

...

7 Commits

Author SHA1 Message Date
guide
61060866ee Update java-basic-questions-01.md 2022-03-24 11:49:58 +08:00
Guide
e7ba062dac
Update java-basic-questions-01.md 2022-03-24 11:10:41 +08:00
Guide
4e10294d59
Update java-basic-questions-01.md 2022-03-24 11:08:09 +08:00
Guide
bb2f53a4b9
Merge pull request #1641 from cl7106786/jvm-argument
删除多余的JVM参数
2022-03-24 11:07:09 +08:00
Guide
569e317d06
Merge pull request #1640 from VerneZhong/patch-3
错别字修正
2022-03-24 11:03:27 +08:00
chenlong
a8f697e854 删除多余的JVM参数 2022-03-24 10:41:30 +08:00
Verne.Chung
e396e84178
错别字修正 2022-03-23 13:48:40 +08:00
3 changed files with 7 additions and 6 deletions

View File

@ -538,18 +538,20 @@ Java 中有 8 种基本数据类型,分别为:
这八种基本类型都有对应的包装类分别为:`Byte``Short``Integer``Long``Float``Double``Character``Boolean`
### 局部类型和包装类型的区别?
### 基本类型和包装类型的区别?
- 包装类型不赋值就是 `null` ,而基本类型有默认值且不是 `null`
- 包装类型可用于泛型,而基本类型不可以。
- 基本数据类型的局部变量存放在 Java 虚拟机栈中的局部变量表中,基本数据类型的成员变量(未被 `static` 修饰 )存放在 Java 虚拟机的堆中。包装类型属于对象类型,我们知道对象实例都存在于堆中。
- 基本数据类型的局部变量存放在 Java 虚拟机栈中的局部变量表中,基本数据类型的成员变量(未被 `static` 修饰 )存放在 Java 虚拟机的堆中。包装类型属于对象类型,我们知道几乎所有对象实例都存在于堆中。
- 相比于对象类型, 基本数据类型占用的空间非常小。
⚠️注意 **基本数据类型存放在栈中是一个常见的误区!** 基本数据类型的成员变量如果没有被 `static` 修饰的话,就存放在堆中。
**为什么说是几乎所有对象实例呢?** 这是因为 HotSpot 虚拟机引入了 JIT 优化之后,会对对象进行逃逸分析,如果发现某一个对象并没有逃逸到方法外部,那么就可能通过标量替换来实现栈上分配,而避免堆上分配内存
⚠️注意 **基本数据类型存放在栈中是一个常见的误区!** 基本数据类型的成员变量如果没有被 `static` 修饰的话(不建议这么使用,应该要使用基本数据类型对应的包装类型),就存放在堆中。
```java
class BasicTypeVar{
private int x;
private int x;
}
```

View File

@ -854,7 +854,7 @@ Wed Nov 13 13:40:43 CST 2019::pool-1-thread-5
>
> Linux 相比与其他操作系统(包括其他类 Unix 系统)有很多的优点,其中有一项就是,其上下文切换和模式切换的时间消耗非常少。
**类比于现世界中的人类通过合作做某件事情,我们可以肯定的一点是线程池大小设置过大或者过小都会有问题,合适的才是最好。**
**类比于现世界中的人类通过合作做某件事情,我们可以肯定的一点是线程池大小设置过大或者过小都会有问题,合适的才是最好。**
**如果我们设置的线程池数量太小的话,如果同一时间有大量任务/请求需要处理,可能会导致大量的请求/任务在任务队列中排队等待执行,甚至会出现任务队列满了之后任务/请求无法处理的情况,或者大量任务堆积在任务队列导致 OOM。这样很明显是有问题的 CPU 根本没有得到充分利用。**

View File

@ -79,7 +79,6 @@ Java 堆是垃圾收集器管理的主要区域,因此也被称作**GC 堆G
-XX:+PrintGCDetails
-XX:TargetSurvivorRatio=60
-XX:+PrintTenuringDistribution
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:MaxTenuringThreshold=3
-XX:+UseConcMarkSweepGC