commit
a80b14fc13
|
@ -80,7 +80,7 @@
|
||||||
该区域可能抛出以下异常:
|
该区域可能抛出以下异常:
|
||||||
|
|
||||||
1. 当线程请求的栈深度超过最大值,会抛出 StackOverflowError 异常;
|
1. 当线程请求的栈深度超过最大值,会抛出 StackOverflowError 异常;
|
||||||
2. 栈进行动态扩展时如果无法申请导足够内存,会抛出 OutOfMemoryError 异常。
|
2. 栈进行动态扩展时如果无法申请到足够内存,会抛出 OutOfMemoryError 异常。
|
||||||
|
|
||||||
## 3. 本地方法栈
|
## 3. 本地方法栈
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ sf.get();
|
||||||
|
|
||||||
sf 是对 obj 的一个软引用,通过 sf.get() 方法可以取到这个对象,当然,当这个对象被标记为需要回收的对象时,则返回 null;
|
sf 是对 obj 的一个软引用,通过 sf.get() 方法可以取到这个对象,当然,当这个对象被标记为需要回收的对象时,则返回 null;
|
||||||
|
|
||||||
软引用主要用户实现类似缓存的功能,在内存足够的情况下直接通过软引用取值,无需从繁忙的真实来源查询数据,提升速度;当内存不足时,自动删除这部分缓存数据,从真正的来源查询这些数据。
|
软引用主要用来实现类似缓存的功能,在内存足够的情况下直接通过软引用取值,无需从繁忙的真实来源查询数据,提升速度;当内存不足时,自动删除这部分缓存数据,从真正的来源查询这些数据。
|
||||||
|
|
||||||
|
|
||||||
#### 1.3.3 弱引用
|
#### 1.3.3 弱引用
|
||||||
|
@ -219,7 +219,7 @@ pf.isEnQueued();
|
||||||
|
|
||||||
当一个对象可被回收时,如果该对象有必要执行 finalize() 方法,那么就有可能可能通过在该方法中让对象重新被引用,从而实现自救。
|
当一个对象可被回收时,如果该对象有必要执行 finalize() 方法,那么就有可能可能通过在该方法中让对象重新被引用,从而实现自救。
|
||||||
|
|
||||||
finalize() 类似 C++ 的虚构函数,用来做关闭外部资源等工作。但是 try-finally 等方式可以做的更好,并且该方法运行代价高昂,不确定性大,无法保证各个对象的调用顺序,因此最好不要使用。
|
finalize() 类似 C++ 的析构函数,用来做关闭外部资源等工作。但是 try-finally 等方式可以做的更好,并且该方法运行代价高昂,不确定性大,无法保证各个对象的调用顺序,因此最好不要使用。
|
||||||
|
|
||||||
## 2. 垃圾收集算法
|
## 2. 垃圾收集算法
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user