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

Compare commits

...

4 Commits

Author SHA1 Message Date
Guide
d243984c51
Merge pull request #2483 from qksuki/main
Update java-basic-questions-01.md,修正一点描述问题
2024-09-14 19:03:12 +08:00
qksuki
c25884fb80
Update java-basic-questions-01.md
修正描述问题
2024-09-14 00:28:38 +08:00
Guide
54231b2186
Merge pull request #2482 from cxyhuky/main
Update java-thread-pool-best-practices.md
2024-09-13 17:28:21 +08:00
cxyhuky
e0fad69e4e update java-thread-pool-best-practices.md 2024-09-13 15:57:38 +08:00
2 changed files with 4 additions and 4 deletions

View File

@ -488,14 +488,14 @@ Java 中有 8 种基本数据类型,分别为:
**为什么说是几乎所有对象实例都存在于堆中呢?** 这是因为 HotSpot 虚拟机引入了 JIT 优化之后,会对对象进行逃逸分析,如果发现某一个对象并没有逃逸到方法外部,那么就可能通过标量替换来实现栈上分配,而避免堆上分配内存
⚠️ 注意:**基本数据类型存放在栈中是一个常见的误区!** 基本数据类型的存储位置取决于它们的作用域和声明方式。如果它们是局部变量,那么它们会存放在栈中;如果它们是成员变量,那么它们会存放在堆中。
⚠️ 注意:**基本数据类型存放在栈中是一个常见的误区!** 基本数据类型的存储位置取决于它们的作用域和声明方式。如果它们是局部变量,那么它们会存放在栈中;如果它们是成员变量,那么它们会存放在堆/方法区/元空间中。
```java
public class Test {
// 成员变量,存放在堆中
int a = 10;
// 被 static 修饰,也存放在堆中,但属于类,不属于对象
// JDK1.7 静态变量从永久代移动了 Java 堆中
// 被 static 修饰的成员变量JDK 1.7 及之前位于方法区1.8 后存放于元空间,均不存放于堆中。
// 变量属于类,不属于对象。
static int b = 20;
public void method() {

View File

@ -175,7 +175,7 @@ IO 密集型任务下,几乎全是线程等待时间,从理论上来说,
美团技术团队的思路是主要对线程池的核心参数实现自定义可配置。这三个核心参数是:
- **`corePoolSize` :** 核心线程数线程数定义了最小可以同时运行的线程数量。
- **`corePoolSize` :** 核心线程数定义了最小可以同时运行的线程数量。
- **`maximumPoolSize` :** 当队列中存放的任务达到队列容量的时候,当前可以同时运行的线程数量变为最大线程数。
- **`workQueue`:** 当新任务来的时候会先判断当前运行的线程数量是否达到核心线程数,如果达到的话,新任务就会被存放在队列中。