原创 ForkJoin全解1:簡單使用與大致實現原理

1、 使用示例 import java.lang.reflect.Method; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.Recur

原创 ForkJoin全解4:附錄,奇數自加的離散性

/** * 求一個hash,然後把hash的結果作爲數組的位置,放入元素,即array[hash]不爲空 * 現在這個算法是把每次自加後的值作爲數組下標,佔據該下標對應的數組位置,數組被佔 * 據過的位置的值會被置爲1,未被佔

原创 ForkJoin全解2:forkjoin實際工作流程與實現

1、相關概念解釋   1.1 “內部”和外部   當一個操作是在非ForkjoinThread的線程中進行的,則稱該操作爲外部操作。比如我們前面執行pool.invoke,invoke內又執行externalPush。由於invoke是在

原创 ForkJoin全解——深度剖析ForkJoin源碼

說明 本文對forkjoin源碼進行了深入的剖析,包含你想了解的關於forkjoin的幾乎所有內容 由於篇幅太大,將原文拆分爲4個部分,新手建議按照順序閱讀,不建議跳讀 目錄 一、ForkJoin全解1:簡單使用與大致實現原理 二、For

原创 ForkJoin全解3:CountedCompleter

1、使用示例 import java.util.concurrent.CountedCompleter; import java.util.concurrent.atomic.AtomicInteger; public class Co

原创 JDK8 Stream源碼完全解析——手寫Stream

1、說明 本文代碼基本參照JDK的實現,類名,接口名,屬性名等都跟JDK保持一致 2、Stream核心原理與基本概念 2.1 流實現核心原理:opWrapsink JDK stream以Spliterator作爲Stream的數據源,用以

原创 kafka系列8----小結與面試題

現在你已經看完kafka,可以問自己如下幾個問題,看自己掌握得如何 爲什麼選擇kafka而不是其他JMS?其優勢是什麼,應用場景有哪些 易上手,吞吐量高     2.你的業務真的需要kafka嗎? 使用kafka會帶來運維成本,如果你的業

原创 kafka系列4----kafka高性能內幕

1、分區機制的gao'高伸縮性 傳統的消息系統有兩個模塊: 隊列 和 發佈-訂閱。而kafka對消息的消費是基於組的。當僅有一個組時,就相當於隊列,當有多個組,那就是發佈-訂閱。所以kafka中,隊列和發佈訂閱的轉換很簡單,通過增加或減少

原创 kafka系列3----可靠性與運維

1、說明 注意,本文說的副本包括Leader和Follower副本 2、複製 Kafka 允許 topic 的 partition 擁有若干副本,你可以在server端配置partition 的副本數量。當集羣中的節點出現故障時,能自動進

原创 kafka系列2---kafka數據存儲原理

1、kafka高性能文件讀寫設計原理 kafka中的數據是以日誌的形式進行存儲,所以分區實際上就是日誌。 1.1 磁盤讀寫並不慢   磁盤線性讀寫的速度比隨機讀寫的速度快6000倍。現代操作系統提供了 read-ahead 和 write

原创 kafka系列5----kafka使用場景

Kafka具有可靠存儲數據的特性,可用來存儲重要的支付數據, 或者與離線系統進行交互,系統可間歇性地加載數據,也可在停機維護後再次加載數據。 1、kafka作爲消息系統 kafka的本職工作 ​​​​​​​2、kafka作爲存儲系統 數據

原创 kafka系列1----簡單使用

1、簡單使用 1、1 安裝zookeepeper並啓動 啓動kafka自帶的zookeeper(建議獨立安裝zookeeper並配置啓動。) zookeeper-server-start ../../config/zookeeper.pr

原创 kafka系列6----kafka API

1、說明 僅列出一些較少用到的API,常用API比較簡單,參考官網即可 1、Streams API 依賴: <dependency>     <groupId>org.apache.kafka</groupId>     <artifac

原创 kafka系列7----kafka配置與其他雜項

1、配置 參考:http://kafka.apache.org/22/documentation.html#configuration 1.1 broker配置 broker.id 默認值是0,這個值在整個 Kafka 集羣裏必須是唯一的

原创 Oracle複合類型:嵌套表、可變數組與索引表

一、 在pl/sql中使用嵌套表和可變數組 1、在pl/sql中使用嵌套表 在PL/SQL中使用嵌套表,此時嵌套表就相當於其他語言中的數組。 ①、示例: set SERVEROUTPUT ON DECLARE --下面這句是嵌