mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
Merge pull request #2152 from cxhello/main
Update delayqueue-source-code.md
This commit is contained in:
commit
43e1fd4f52
@ -115,7 +115,7 @@ Task 3
|
|||||||
|
|
||||||
## DelayQueue 源码解析
|
## DelayQueue 源码解析
|
||||||
|
|
||||||
这里以 JDK1.8 为例,分析一下 `LinkedList` 的底层核心源码。
|
这里以 JDK1.8 为例,分析一下 `DelayQueue` 的底层核心源码。
|
||||||
|
|
||||||
`DelayQueue` 的类定义如下:
|
`DelayQueue` 的类定义如下:
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ public class DelayQueue<E extends Delayed> extends AbstractQueue<E> implements B
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
`DelayQueue` 实现了 `AbstractQueue` 类,继承了 `BlockingQueue` 接口。
|
`DelayQueue` 继承了 `AbstractQueue` 类,实现了 `BlockingQueue` 接口。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@ -356,4 +356,4 @@ public E peek() {
|
|||||||
- 《深入理解高并发编程:JDK核心技术》:
|
- 《深入理解高并发编程:JDK核心技术》:
|
||||||
- 一口气说出Java 6种延时队列的实现方法(面试官也得服):<https://www.jb51.net/article/186192.htm>
|
- 一口气说出Java 6种延时队列的实现方法(面试官也得服):<https://www.jb51.net/article/186192.htm>
|
||||||
- 图解DelayQueue源码(java 8)——延时队列的小九九: <https://blog.csdn.net/every__day/article/details/113810985>
|
- 图解DelayQueue源码(java 8)——延时队列的小九九: <https://blog.csdn.net/every__day/article/details/113810985>
|
||||||
<!-- @include: @article-footer.snippet.md -->
|
<!-- @include: @article-footer.snippet.md -->
|
||||||
|
@ -215,7 +215,7 @@ static final class RunnableAdapter<T> implements Callable<T> {
|
|||||||
工厂模式用于创建对象,NIO 中大量用到了工厂模式,比如 `Files` 类的 `newInputStream` 方法用于创建 `InputStream` 对象(静态工厂)、 `Paths` 类的 `get` 方法创建 `Path` 对象(静态工厂)、`ZipFileSystem` 类(`sun.nio`包下的类,属于 `java.nio` 相关的一些内部实现)的 `getPath` 的方法创建 `Path` 对象(简单工厂)。
|
工厂模式用于创建对象,NIO 中大量用到了工厂模式,比如 `Files` 类的 `newInputStream` 方法用于创建 `InputStream` 对象(静态工厂)、 `Paths` 类的 `get` 方法创建 `Path` 对象(静态工厂)、`ZipFileSystem` 类(`sun.nio`包下的类,属于 `java.nio` 相关的一些内部实现)的 `getPath` 的方法创建 `Path` 对象(简单工厂)。
|
||||||
|
|
||||||
```java
|
```java
|
||||||
InputStream is Files.newInputStream(Paths.get(generatorLogoPath))
|
InputStream is = Files.newInputStream(Paths.get(generatorLogoPath))
|
||||||
```
|
```
|
||||||
|
|
||||||
## 观察者模式
|
## 观察者模式
|
||||||
@ -318,4 +318,4 @@ class PollingWatchService
|
|||||||
- 装饰器模式:通过剖析 Java IO 类库源码学习装饰器模式:https://time.geekbang.org/column/article/204845
|
- 装饰器模式:通过剖析 Java IO 类库源码学习装饰器模式:https://time.geekbang.org/column/article/204845
|
||||||
- sun.nio 包是什么,是 java 代码么? - RednaxelaFX https://www.zhihu.com/question/29237781/answer/43653953
|
- sun.nio 包是什么,是 java 代码么? - RednaxelaFX https://www.zhihu.com/question/29237781/answer/43653953
|
||||||
|
|
||||||
<!-- @include: @article-footer.snippet.md -->
|
<!-- @include: @article-footer.snippet.md -->
|
||||||
|
Loading…
x
Reference in New Issue
Block a user