从底层重学 Java 之 Stream 并行及标志 GitChat连接
生活随笔
收集整理的這篇文章主要介紹了
从底层重学 Java 之 Stream 并行及标志 GitChat连接
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
GitChat連接
https://gitbook.cn/gitchat/activity/5f8fc6cd1f577d4d9f428562
簡介
從底層,從原理,我們來重學(xué)一次 Java。Stream 是JDK8中新引入的,方便了數(shù)據(jù)列表的過濾、投影、遍歷等各種處理,他的源碼及實現(xiàn)是怎樣的呢?
本系列秉承所有結(jié)論盡量從源碼中來,沒有源碼的盡量標明出處。相關(guān)源碼會附著在文章中,讀本文即可,不用再自行查找源碼及資料學(xué)習(xí),方便大家充分利用路上的碎片時間。
本篇 Chat 分析了并行 forEach 各種情況的源碼邏輯,以及流標記類StreamOpFlag,幫助大家深入理解和學(xué)習(xí) JDK 源碼。
本文包含以下內(nèi)容:
- 并行forEach
- AbstractPipeline.parallel()
- ReferencePipeline.Head.forEach(Consumer<? super E_OUT> action)
- AbstractPipeline.isParallel()
- ReferencePipeline.forEach(Consumer<? super E_OUT> action)
- AbstractPipeline.evaluate
- ForEachOps.ForEachOp.evaluateParallel
- ForEachTask
- ForkJoinTask.invoke
- ForkJoinTask.doInvoke
- ForkJoinTask.doExec
- CountedCompleter.exec
- ForEachTask.compute
- Spliterators.ArraySpliterator
- AbstractPipeline.copyInto
- ForEachOp.OfRef
- 拆分任務(wù)的執(zhí)行
- ForkJoinWorkerThread.run
- ForkJoinPool.runWorker
- ForkJoinPool.WorkQueue.runTask
- ForkJoinTask.doExec()
- CountedCompleter.exec
- 堆棧信息
- 并行進行一次中間操作的forEach
- ReferencePipeline.filter
- ReferencePipeline.forEach(Consumer<? super E_OUT> action)
- AbstractPipeline.evaluate
- ForEachOps.ForEachOp.evaluateParallel
- ForEachTask
- ForkJoinTask.invoke
- ForkJoinTask.doInvoke
- ForkJoinTask.doExec
- CountedCompleter.exec
- ForEachTask.compute
- Spliterators.ArraySpliterator
- AbstractPipeline.copyInto
- Spliterators.ArraySpliterator.forEachRemaining
- ForEachOp.OfRef
- 拆分任務(wù)的執(zhí)行
- ForkJoinWorkerThread.run
- ForkJoinPool.runWorker
- ForkJoinPool.WorkQueue.runTask
- ForkJoinTask.doExec()
- CountedCompleter.exec
- 堆棧信息
- StreamOpFlag
- 創(chuàng)建流標記
- 處理流時判斷
- 類定義
- 說明
- 枚舉值
- DISTINCT
- SORTED
- ORDERED
- SIZED
- 保留位
- SHORT_CIRCUIT
- Type
- 標志int常量
- set(Type t)
- MaskBuilder
- 掩碼表
- 獲取特征
- 判斷函數(shù)
- 掩碼
- 標記
- getMask(int flags)
- toCharacteristics(int streamFlags)
- fromCharacteristics(Spliterator<?> spliterator)
- fromCharacteristics(int characteristics)
總結(jié)
以上是生活随笔為你收集整理的从底层重学 Java 之 Stream 并行及标志 GitChat连接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web前端程序员简历
- 下一篇: FeliCa简介