国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【性能調(diào)優(yōu)】local模式下flink處理離線任務(wù)能力分析

這篇具有很好參考價(jià)值的文章主要介紹了【性能調(diào)優(yōu)】local模式下flink處理離線任務(wù)能力分析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

本文相關(guān)討論

  1. flink內(nèi)存對(duì)任務(wù)性能的影響:通過了解內(nèi)存模型,了解這些模型都負(fù)責(zé)那些工作,比如用戶代碼使用堆,數(shù)據(jù)通訊使用直接內(nèi)存等,以便能夠根據(jù)任務(wù)特點(diǎn)針對(duì)性調(diào)整任務(wù)內(nèi)存;
  2. 并發(fā)與帶寬之間的關(guān)系,local模式下怎么根據(jù)帶寬,設(shè)置最佳線程數(shù);
  3. 內(nèi)存監(jiān)控相關(guān)命令。

?文章來源地址http://www.zghlxwxcb.cn/news/detail-802175.html

任務(wù)說明:
使用local模式運(yùn)行flink sql任務(wù),任務(wù)為:從hdfs解析數(shù)據(jù)到hdfs中的離線任務(wù),其中數(shù)據(jù)量有4億,文件數(shù)有13個(gè),初始運(yùn)行參數(shù)為:堆內(nèi)存設(shè)為3g、并發(fā)設(shè)為13,其中運(yùn)行命令如下:

  java -XX:NativeMemoryTracking=summary -Xms3096m -Xmx3096m    -cp $FLINK_HOME/lib/chunjun-core.jar:$FLINKX_HOME/bin/:$FLINK_HOME/lib/*:$HADOOP_CLASSPATH \
  $CLASS_NAME -job hdfs-hdfs.sql -mode local -jobType sql \
  -flinkConfDir $FLINK_HOME/conf \
  -flinkLibDir $FLINK_HOME/lib \
  -hadoopConfDir $HADOOP_CONF_DIR \
  -confProp "{ \"taskmanager.numberOfTaskSlots\":13}" 

本例子使用chunjun提交flink任務(wù)。

?

一. flink的內(nèi)存管理

了解flink內(nèi)存模型,可以讓我們針對(duì)任務(wù)特點(diǎn),合理設(shè)置內(nèi)存,在不造成內(nèi)存浪費(fèi)的同時(shí),分析出任務(wù)性能瓶頸。

1.Jobmanager的內(nèi)存模型

組成部分 配置參數(shù) 描述
JVM 堆內(nèi)存 jobmanager.memory.heap.size JobManager 的 JVM 堆內(nèi)存??蚣軆?nèi)存、特殊批處理source、cp、akka通訊(java api實(shí)現(xiàn))。
堆外內(nèi)存 jobmanager.memory.off-heap.size JobManager 的_堆外內(nèi)存(直接內(nèi)存或本地內(nèi)存)_。
JVM Metaspace jobmanager.memory.jvm-metaspace.size Flink JVM 進(jìn)程的 Metaspace。
JVM 開銷 jobmanager.memory.jvm-overhead.min
jobmanager.memory.jvm-overhead.max
jobmanager.memory.jvm-overhead.fraction
用于其他 JVM 開銷的本地內(nèi)存,例如??臻g、垃圾回收空間等。該內(nèi)存部分為基于進(jìn)程總內(nèi)存的受限的等比內(nèi)存部分。

Flink 需要多少 JVM 堆內(nèi)存,很大程度上取決于運(yùn)行的作業(yè)數(shù)量、作業(yè)的結(jié)構(gòu)及上述用戶代碼的需求。
jobManager的內(nèi)存管理相關(guān)調(diào)優(yōu)不用關(guān)注太多,因?yàn)閖obmanager的任務(wù)相對(duì)固定。

?

2.TaskManager的內(nèi)存模型

2.1. 模型說明

【性能調(diào)優(yōu)】local模式下flink處理離線任務(wù)能力分析,# flink性能調(diào)優(yōu),# flink 實(shí)戰(zhàn),flink,大數(shù)據(jù)

內(nèi)存分類 解釋
一. 堆內(nèi)存
1. 框架堆內(nèi)存 啟動(dòng)TM所需內(nèi)存
2. Task堆內(nèi)存 存放、執(zhí)行Flink算子及用戶代碼
二.堆外內(nèi)存
3. 框架堆外內(nèi)存* 用于 Flink 框架的堆外內(nèi)存(直接內(nèi)存或本地內(nèi)存)
4. 任務(wù)堆外內(nèi)存* 用于 Flink 應(yīng)用的算子及用戶代碼的堆外內(nèi)存(直接內(nèi)存或本地內(nèi)存)(比如用戶代碼使用netty進(jìn)行數(shù)據(jù)傳輸)。
5. 網(wǎng)絡(luò)內(nèi)存* 用戶任務(wù)之間數(shù)據(jù)傳輸?shù)闹苯觾?nèi)存
6. 托管內(nèi)存 用于存放Flink的中間結(jié)果和RocksDB State Backend 的本地內(nèi)存
7. JVM Metaspace和Overhead內(nèi)存 用于JVM存儲(chǔ)類元數(shù)據(jù);JVM的例如??臻g、垃圾回收空間等開銷

*代表直接內(nèi)存。

?

2.2. 通訊、數(shù)據(jù)傳輸方面

TaskManager和JobManager之間的通訊

主要依賴JVM堆內(nèi)存,網(wǎng)絡(luò)緩沖器內(nèi)存在數(shù)據(jù)傳輸方面也起到了一定的作用。具體來說:

  1. TaskManager和JobManager之間的所有通信(例如任務(wù)提交,狀態(tài)更新等)都是通過Akka消息進(jìn)行的。
  2. 在數(shù)據(jù)傳輸過程中,TaskManager使用的網(wǎng)絡(luò)緩沖器內(nèi)存也在一定程度上參與了和JobManager的通信。比如說,TaskManager需要向JobManager發(fā)送一些統(tǒng)計(jì)信息,或者在寫入或讀取遠(yuǎn)程狀態(tài)數(shù)據(jù)時(shí),都需要使用網(wǎng)絡(luò)緩沖器內(nèi)存。

?
TaskManager之間的通信
TaskManager之間的通信主要使用的是網(wǎng)絡(luò)緩沖器內(nèi)存(Network Memory)。當(dāng)兩個(gè)TaskManager之間需要交換數(shù)據(jù)時(shí),會(huì)使用網(wǎng)絡(luò)緩沖器內(nèi)存來存儲(chǔ)待發(fā)送的數(shù)據(jù)以及接收到的數(shù)據(jù)。

Flink的網(wǎng)絡(luò)通信基于Netty,Netty默認(rèn)使用堆外(off-heap)內(nèi)存進(jìn)行數(shù)據(jù)的讀寫操作。在數(shù)據(jù)發(fā)送方,F(xiàn)link會(huì)先將數(shù)據(jù)序列化后存放到網(wǎng)絡(luò)緩沖器中,然后通過網(wǎng)絡(luò)發(fā)送到接收方。在接收方,F(xiàn)link會(huì)從網(wǎng)絡(luò)緩沖器中讀取數(shù)據(jù),然后進(jìn)行反序列化,恢復(fù)成原始的數(shù)據(jù)格式。 網(wǎng)絡(luò)緩沖器內(nèi)存的大小會(huì)影響Flink job的性能,如果設(shè)置得過小可能會(huì)導(dǎo)致數(shù)據(jù)傳輸?shù)钠款i,過大則可能會(huì)浪費(fèi)內(nèi)存資源。

?

2.3. 框架、任務(wù)堆外內(nèi)存

  1. 框架堆外內(nèi)存:主要用于網(wǎng)絡(luò)緩沖和一些需要大數(shù)據(jù)計(jì)算的操作,如排序或哈希操作。Flink使用堆外內(nèi)存以存儲(chǔ)中間結(jié)果,防止大數(shù)據(jù)操作時(shí)耗盡所有的Java堆內(nèi)存。
  2. 任務(wù)堆外內(nèi)存:主要用于用戶代碼和操作,以及用戶代碼依賴的庫和插件的內(nèi)存需求。它使得用戶代碼和框架操作能在任務(wù)中并行運(yùn)行而不會(huì)互相干擾。
    在實(shí)際操作中,你可以根據(jù)具體工作負(fù)載的需求來調(diào)整這三部分內(nèi)存的配置。

?

2.4. 托管內(nèi)存

托管內(nèi)存(Managed Memory)主要用于數(shù)據(jù)處理和中間結(jié)果的存儲(chǔ),被用于以下幾個(gè)主要的用途:

  1. 狀態(tài)后端:如果你使用RockDB這樣的內(nèi)存稀疏狀態(tài)后端,那么托管內(nèi)存可以用作寫緩沖區(qū)或者讀緩沖區(qū),用來優(yōu)化讀寫的性能。
  2. 網(wǎng)絡(luò)緩沖:在數(shù)據(jù)發(fā)送和接收過程中,F(xiàn)link使用托管內(nèi)存作為網(wǎng)絡(luò)緩沖區(qū)。
  3. 批處理算子:在進(jìn)行批處理的計(jì)算時(shí),如排序和哈希操作,F(xiàn)link會(huì)使用到托管內(nèi)存。

?
狀態(tài)后端存儲(chǔ)

  • Flink 任務(wù)處理中的狀態(tài)(例如鍵控狀態(tài))通常需要持久化,以確保容錯(cuò)性和恢復(fù)能力。
    托管內(nèi)存是Flink特地為狀態(tài)后端和網(wǎng)絡(luò)緩沖等用途分配的內(nèi)存段。 托管內(nèi)存被用于存儲(chǔ)狀態(tài)后端的數(shù)據(jù),這樣可以避免將大量狀態(tài)數(shù)據(jù)存儲(chǔ)在 JVM 堆內(nèi)存中,從而提高任務(wù)的穩(wěn)定性和性能。
  • 當(dāng)你啟用RockDB狀態(tài)后端時(shí),F(xiàn)link將把數(shù)據(jù)寫入磁盤,而不僅僅是維持在內(nèi)存中,這樣可以支持更大的狀態(tài)大小和更長的保留周期。

?

3.任務(wù)分析

任務(wù)為local模式,任務(wù)為從hdfs讀到hdfs寫,hdfs的源數(shù)據(jù)有13個(gè)文件,總共有4億的數(shù)據(jù),每條數(shù)據(jù)98byte。下面從flink內(nèi)存模型的角度分析下任務(wù)對(duì)各內(nèi)存的使用情況

local模式代表,在機(jī)器上啟動(dòng)一個(gè)minicluster,這包含一個(gè)jobmanager、一個(gè)taskmanager。

  1. 任務(wù)啟動(dòng)時(shí)會(huì)使用框架堆內(nèi)存(Framework Heap Memory)創(chuàng)建啟動(dòng)jobmanager和taskmanager。
  2. 因?yàn)橹挥幸粋€(gè)taskmanager,也就是不會(huì)涉及到taskmanager之間的數(shù)據(jù)傳輸,所以不會(huì)用到網(wǎng)絡(luò)緩存(Network Memory)。
  3. 從用戶代碼層面看,這里使用的是flink sql ,其中hdfs-connector用于讀寫數(shù)據(jù),這算是用戶代碼,而相關(guān)讀寫實(shí)現(xiàn)使用的是hdfs
    client相關(guān)api實(shí)現(xiàn),api中沒有涉及到使用直接內(nèi)存的方法,所以讀寫數(shù)據(jù)的操作是在堆內(nèi)存中(.任務(wù)堆內(nèi)存(Task Heap Memory))。
  4. 此離線任務(wù)來一條數(shù)據(jù)處理一條,即任務(wù)無狀態(tài)、或中間結(jié)果,也就是說任務(wù)不需要托管內(nèi)存(Managed memory)

所以總體分析下來,local模式下我們需要調(diào)控的是堆內(nèi)存,因?yàn)閿?shù)據(jù)傳輸主要存在于用戶代碼中。

?

二. 單個(gè)節(jié)點(diǎn)的帶寬瓶頸

根據(jù)拿到的帶寬,與任務(wù)消費(fèi)數(shù)據(jù)速度,我們大概可以測(cè)試出任務(wù)的并發(fā)度。

1. 帶寬相關(guān)理論

網(wǎng)絡(luò)帶寬是指在一個(gè)固定的時(shí)間內(nèi)(1秒),能通過的最大位數(shù)據(jù),是個(gè)峰值數(shù)據(jù), 單位是Mbps。

?

上行帶寬/下行帶寬

帶寬的上行和下行分別指的是網(wǎng)絡(luò)傳輸中數(shù)據(jù)的上傳和下載方向。

  • 對(duì)于服務(wù)器來說對(duì)外提供服務(wù)用的是自己的上行帶寬和用戶的下行帶寬, 而用戶上傳東西則用的自己的上行帶寬和服務(wù)器的下行帶寬
  • 對(duì)于用戶來說訪問服務(wù)器用的是用戶的下行帶寬和服務(wù)器的上行帶寬, 而上傳文件則用的用戶的上行帶寬和服務(wù)器的下行帶寬

?

流量單位/存儲(chǔ)單位

下載速度的單位為KB/s,而帶寬所使用的計(jì)量單位為Kb/s,兩者相差8倍:8 bit = 1 B 一字節(jié) (1Byte)

帶寬速度計(jì)算:

1M帶寬下載速度125KB/s;
2M帶寬下載速度125KB/s*2;
10M帶寬下載速度125KB/s*10=1.25M/s;
20M帶寬下載速度125KB/s*20=2.5M/s;
100M帶寬下載速度125KB/s*100=12.5M/s

?

實(shí)際帶寬速率的損失

理論上,2Mbps帶寬,寬帶理論速率是 256KB/s。實(shí)際速率大約為103–200kB/s。4M,即4Mb/s寬帶理論速率是 512KB/s 實(shí)際速率大約為200—440kB/s。
其原因是受用戶計(jì)算機(jī)性能、網(wǎng)絡(luò)設(shè)備質(zhì)量、資源使用情況、網(wǎng)絡(luò)高峰期、網(wǎng)站服務(wù)能力、線路衰耗、信號(hào)衰減等多因素的影響而造成的)。

?

吞吐量
吞吐量是指在沒有幀丟失的情況下,設(shè)備能夠接收并轉(zhuǎn)發(fā)的最大數(shù)據(jù)速率實(shí)際帶寬,單位Mbps, 通常用來描述一個(gè)系統(tǒng)的性能。

與帶寬的關(guān)系:吞吐量即在規(guī)定時(shí)間、空間及數(shù)據(jù)在網(wǎng)絡(luò)中所走的路徑(網(wǎng)絡(luò)路徑)的前提下,下載文件時(shí)實(shí)際獲得的帶寬值。由于多方面的原因,實(shí)際上吞吐量往往比傳輸介質(zhì)所標(biāo)稱的最大帶寬小得多

例如: 帶寬為10Mbps的鏈路連接的一對(duì)節(jié)點(diǎn)可能只達(dá)到2Mbps的吞吐量。這樣就意味著,一個(gè)主機(jī)上的應(yīng)用能夠以2Mbps的速度向另外的一個(gè)主機(jī)發(fā)送數(shù)據(jù)。

?

2. 使用speedtest-cli 測(cè)試帶寬


# 安裝
$ sudo yum  install -y  speedtest-cli 

# 測(cè)試
$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from China Unicom (111.206.170.119)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by China Telecom TianJin-5G (TianJin) [123.83 km]: 65.213 ms
Testing download speed................................................................................
Download: 143.51 Mbit/s
Testing upload speed......................................................................................................
Upload: 456.74 Mbit/s


?

3. 任務(wù)分析

Speedtest-cli測(cè)量出的是你的網(wǎng)絡(luò)連接的最大理論帶寬。實(shí)際上,你的實(shí)際網(wǎng)絡(luò)帶寬可能因?yàn)楹芏嘁蛩兀ɡ缇W(wǎng)絡(luò)擁堵,服務(wù)器性能,距離測(cè)試服務(wù)器的遠(yuǎn)近,你本地網(wǎng)絡(luò)的設(shè)置等)而低于這個(gè)理論值。對(duì)于代碼中處理數(shù)據(jù),還要考慮代碼處理數(shù)據(jù)的效率。

實(shí)際在測(cè)試過程中,有如下瓶頸:

  • 使用3G內(nèi)存啟動(dòng)flink任務(wù),對(duì)于每條數(shù)據(jù)為98Byte,單線程每次處理4萬條數(shù)據(jù),13個(gè)線程(數(shù)據(jù)源共有13個(gè)文件)同時(shí)消費(fèi),花費(fèi)20s,大概算下來每秒處理2.43MB/s數(shù)據(jù)。
  • 當(dāng)增大堆內(nèi)存時(shí)效率并未提升,也就是到了帶寬瓶頸。且當(dāng)我將內(nèi)存降低到2G時(shí),消費(fèi)速度并未明顯減小。

?

也就是說每秒處理2.43MB/s數(shù)據(jù)是機(jī)器帶寬瓶頸,目前最佳內(nèi)存為2G,并發(fā)減小時(shí)處理時(shí)間會(huì)比例減小,當(dāng)并發(fā)減小到4時(shí),處理速度達(dá)到快,3秒處理完,但總體算下來小于每秒處理2.43MB/s數(shù)據(jù),也就是說并發(fā)根據(jù)文件數(shù)設(shè)置可以達(dá)到最佳性能。

?

3. 其他工具使用介紹

測(cè)試任務(wù)占用內(nèi)存: jps + top

# 1. 找到指定進(jìn)程
jps -l
2900 com.dtstack.chunjun.Main
3645 sun.tools.jps.Jps


# 2. 查看一個(gè)進(jìn)程占用內(nèi)存
top -p <pid>
按e會(huì)轉(zhuǎn)換內(nèi)存為byte->m->g等單位,較為人性化的展示。

【性能調(diào)優(yōu)】local模式下flink處理離線任務(wù)能力分析,# flink性能調(diào)優(yōu),# flink 實(shí)戰(zhàn),flink,大數(shù)據(jù)

?

到了這里,關(guān)于【性能調(diào)優(yōu)】local模式下flink處理離線任務(wù)能力分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • flink任務(wù)性能優(yōu)化

    1、使用異步算子,異步執(zhí)行操作 2、將下游數(shù)據(jù)需要的數(shù)據(jù)以參數(shù)的形式向下傳遞 3、當(dāng)服務(wù)器資源有限的情況下,慎用RocksDBStateBackend RocksDBStateBackend performance will be poor because of the current Flink memory configuration! RocksDB will flush memtable constantly, causing high IO and CPU. Typically the easiest

    2024年02月14日
    瀏覽(16)
  • 離線數(shù)據(jù)處理 任務(wù)二:數(shù)據(jù)清洗

    離線數(shù)據(jù)處理 任務(wù)二:數(shù)據(jù)清洗

    hive數(shù)據(jù)庫和表的創(chuàng)建 給dim添加最新狀態(tài)記錄 任務(wù)? ???????? 接著上一篇數(shù)據(jù)抽取的任務(wù)繼續(xù) 需用到上篇ods數(shù)據(jù)抽取的數(shù)據(jù)繼續(xù)練習(xí) hive數(shù)據(jù)庫和表的創(chuàng)建 ? ? ? ? 1、創(chuàng)建dwd數(shù)據(jù)庫 ????????2、創(chuàng)建dim_user_info 表,分區(qū)字段etl_date ????????3、創(chuàng)建dim_sku_info 表,分區(qū)

    2023年04月09日
    瀏覽(56)
  • MySQL性能測(cè)試及調(diào)優(yōu)中的死鎖處理方法

    MySQL性能測(cè)試及調(diào)優(yōu)中的死鎖處理方法

    以下從死鎖檢測(cè)、死鎖避免、死鎖解決3個(gè)方面來探討如何對(duì)MySQL死鎖問題進(jìn)行性能調(diào)優(yōu)。 死鎖檢測(cè) 通過SQL語句查詢鎖表相關(guān)信息: (1)查詢表打開情況 1 (2)查詢鎖情況列表 1 (3)查詢鎖等待信息,其中blocking_lock_id是當(dāng)前事務(wù)在等待的事務(wù) 1 (4)查詢死鎖日志 SHOW ENGI

    2024年01月17日
    瀏覽(16)
  • 206.Flink(一):flink概述,flink集群搭建,flink中執(zhí)行任務(wù),單節(jié)點(diǎn)、yarn運(yùn)行模式,三種部署模式的具體實(shí)現(xiàn)

    206.Flink(一):flink概述,flink集群搭建,flink中執(zhí)行任務(wù),單節(jié)點(diǎn)、yarn運(yùn)行模式,三種部署模式的具體實(shí)現(xiàn)

    Flink官網(wǎng)地址:Apache Flink? — Stateful Computations over Data Streams | Apache Flink Flink是一個(gè) 框架 和 分布式處理引擎 ,用于對(duì) 無界 和 有界 數(shù)據(jù)流進(jìn)行 有狀態(tài)計(jì)算 。 無界流(流): 有定義流的開始,沒有定義結(jié)束。會(huì)無休止產(chǎn)生數(shù)據(jù) 無界流數(shù)據(jù)必須持續(xù)處理 有界流(批): 有定

    2024年02月11日
    瀏覽(21)
  • Flink實(shí)時(shí)大數(shù)據(jù)處理性能測(cè)試

    Flink是一個(gè)開源的流處理框架,用于實(shí)時(shí)大數(shù)據(jù)處理。它可以處理大量數(shù)據(jù),提供低延遲和高吞吐量。Flink的性能測(cè)試是一項(xiàng)重要的任務(wù),可以幫助我們了解其在實(shí)際應(yīng)用中的表現(xiàn)。在本文中,我們將討論Flink實(shí)時(shí)大數(shù)據(jù)處理性能測(cè)試的背景、核心概念、算法原理、代碼實(shí)例、

    2024年03月18日
    瀏覽(27)
  • Flink:處理大規(guī)模復(fù)雜數(shù)據(jù)集的最佳實(shí)踐深入探究Flink的數(shù)據(jù)處理和性能優(yōu)化技術(shù)

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 隨著互聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等新型網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,企業(yè)對(duì)海量數(shù)據(jù)的處理日益依賴,而大數(shù)據(jù)分析、決策支持、風(fēng)險(xiǎn)控制等領(lǐng)域都需要海量的數(shù)據(jù)處理能力。如何高效、快速地處理海量數(shù)據(jù)、提升處理效率、降低成本,是當(dāng)下處理

    2024年02月13日
    瀏覽(27)
  • Kafka集群調(diào)優(yōu)+能力探底

    Kafka集群調(diào)優(yōu)+能力探底

    我們需要對(duì)4個(gè)規(guī)格的kafka能力進(jìn)行探底,即其可以承載的最大吞吐;4個(gè)規(guī)格對(duì)應(yīng)的單節(jié)點(diǎn)的配置如下: 標(biāo)準(zhǔn)版: 2C4G 鉑金版: 4C8G 專業(yè)版: 8C16G 企業(yè)版: 16C32G 另外,一般來講,在同配置下,kafka的讀性能是要優(yōu)于寫性能的,寫操作時(shí),數(shù)據(jù)要從網(wǎng)卡拷貝至堆內(nèi)存,然后進(jìn)行

    2024年02月05日
    瀏覽(16)
  • 【Java筆記+踩坑匯總】Java基礎(chǔ)+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外賣/黑馬旅游/谷粒商城/學(xué)成在線+設(shè)計(jì)模式+面試題匯總+性能調(diào)優(yōu)/架構(gòu)設(shè)計(jì)+源碼

    本文是“Java學(xué)習(xí)路線”專欄的導(dǎo)航文章,目標(biāo)是為Java工程師提供一套 完整的Java學(xué)習(xí)路線 。 目錄 0.摘要/資料/代碼整理 1.Java基礎(chǔ)+進(jìn)階 2.MySQL,JavaWeb,Mybatis,前端 3.Git 4.SSM(Spring,SpringMVC,Mybatis)框架 5.Maven高級(jí) 6.Springboot,MybatisPlus,JPA框架 7.瑞吉外賣、Redis、Nginx、Linux、mysql主從復(fù)制

    2024年02月08日
    瀏覽(97)
  • Ubuntu離線安裝g++、locales

    要在Ubuntu上離線安裝g++,你需要在有網(wǎng)絡(luò)連接的機(jī)器上下載g++和它的依賴,然后將它們傳輸?shù)诫x線的Ubuntu機(jī)器上進(jìn)行安裝。以下是步驟和示例命令: 確保你在離線機(jī)器上有足夠的權(quán)限來執(zhí)行上述命令。如果網(wǎng)絡(luò)連接的機(jī)器是Ubuntu Server,那么你可以直接使用apt-offline命令。如果

    2024年04月26日
    瀏覽(17)
  • 使用 Goroutine 和 Channel 來實(shí)現(xiàn)更復(fù)雜的并發(fā)模式,如并發(fā)任務(wù)執(zhí)行、并發(fā)數(shù)據(jù)處理,如何做?

    使用 Goroutine 和 Channel 來實(shí)現(xiàn)更復(fù)雜的并發(fā)模式是 Go 語言的強(qiáng)大特性之一。 下面分別介紹如何實(shí)現(xiàn)并發(fā)任務(wù)執(zhí)行和并發(fā)數(shù)據(jù)處理: 并發(fā)任務(wù)執(zhí)行: 假設(shè)您有一些任務(wù)需要并發(fā)地執(zhí)行,您可以使用 Goroutine 來同時(shí)執(zhí)行這些任務(wù),然后使用 Channel 來匯總結(jié)果。 下面是一個(gè)示例,

    2024年01月22日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包