日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

打造定制線程池:Java多線程的藝術(shù)

來(lái)源: 責(zé)編: 時(shí)間:2023-11-22 09:14:09 293觀看
導(dǎo)讀當(dāng)談到多線程編程和并發(fā)控制時(shí),Java中的線程池是一個(gè)不可或缺的工具。線程池允許更有效地管理和控 制線程的創(chuàng)建和執(zhí)行,從而提高應(yīng)用程序的性能和可維護(hù)性。我們來(lái)探討Java線程池的關(guān)鍵概念和七大參數(shù),以及如何使用這些

KBi28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)談到多線程編程和并發(fā)控制時(shí),Java中的線程池是一個(gè)不可或缺的工具。線程池允許更有效地管理和控 制線程的創(chuàng)建和執(zhí)行,從而提高應(yīng)用程序的性能和可維護(hù)性。我們來(lái)探討Java線程池的關(guān)鍵概念和七大參數(shù),以及如何使用這些參數(shù)來(lái)優(yōu)化多線程應(yīng)用程序。KBi28資訊網(wǎng)——每日最新資訊28at.com

KBi28資訊網(wǎng)——每日最新資訊28at.com

1、核心線程數(shù)(corePoolSize)

核心線程數(shù)(corePoolSize)是Java線程池中的一個(gè)重要參數(shù),它指定了線程池中始終保持活動(dòng)的線程數(shù)量。這些線程會(huì)一直存在,即使它們處于空閑狀態(tài),也會(huì)準(zhǔn)備立即執(zhí)行任務(wù)。核心線程數(shù)是線程池的基本線程數(shù),用于處理短時(shí)任務(wù)和突發(fā)任務(wù)。KBi28資訊網(wǎng)——每日最新資訊28at.com

  • 線程池初始化: 當(dāng)創(chuàng)建線程池時(shí),線程池會(huì)首先創(chuàng)建核心線程數(shù)的線程。這些線程準(zhǔn)備好接受任務(wù)并立即執(zhí)行,以滿足應(yīng)用程序的最低并發(fā)需求。
  • 線程保持活動(dòng): 核心線程數(shù)線程會(huì)被保持活動(dòng),不會(huì)在空閑時(shí)被終止,這有助于減少線程的創(chuàng)建和銷(xiāo)毀開(kāi)銷(xiāo)。這對(duì)于需要處理連續(xù)流式任務(wù)的應(yīng)用程序非常有用。
  • 無(wú)界隊(duì)列使用: 當(dāng)線程池的任務(wù)隊(duì)列已滿(即任務(wù)數(shù)量超過(guò)核心線程數(shù)),新提交的任務(wù)將被放入隊(duì)列,等待核心線程數(shù)的線程來(lái)執(zhí)行。這可以幫助應(yīng)對(duì)突發(fā)任務(wù),同時(shí)限制了線程數(shù)的增長(zhǎng)。
  • 適用于長(zhǎng)期任務(wù): 核心線程數(shù)適合用于處理長(zhǎng)期運(yùn)行的任務(wù),因?yàn)樗鼈兛梢砸恢北3只顒?dòng)狀態(tài),等待任務(wù)的到來(lái)。這在服務(wù)器應(yīng)用程序中特別有用,例如Web服務(wù)器、數(shù)據(jù)庫(kù)連接池等。

需要注意的是,核心線程數(shù)通常是線程池中的最小線程數(shù),但不一定是最大線程數(shù)。線程池的最大線程數(shù)可以大于核心線程數(shù),以應(yīng)對(duì)更大的并發(fā)需求。當(dāng)任務(wù)數(shù)量超過(guò)核心線程數(shù)和任務(wù)隊(duì)列容量時(shí),線程池會(huì)根據(jù)最大線程數(shù)創(chuàng)建額外的線程。KBi28資訊網(wǎng)——每日最新資訊28at.com

核心線程數(shù)的合理設(shè)置可以幫助平衡并發(fā)性能和系統(tǒng)資源消耗。太小的核心線程數(shù)可能導(dǎo)致任務(wù)排隊(duì)等待執(zhí)行,而太大的核心線程數(shù)可能導(dǎo)致系統(tǒng)資源浪費(fèi)。因此,在使用線程池時(shí),需要仔細(xì)考慮核心線程數(shù)的設(shè)定,根據(jù)應(yīng)用程序的特性和性能需求來(lái)調(diào)整。KBi28資訊網(wǎng)——每日最新資訊28at.com

2、最大線程數(shù)(maximumPoolSize)

最大線程數(shù)(maximumPoolSize)是Java線程池中的一個(gè)關(guān)鍵參數(shù),它定義了線程池中允許的最大線程數(shù)量。當(dāng)任務(wù)隊(duì)列已滿且當(dāng)前線程數(shù)小于最大線程數(shù)時(shí),線程池將創(chuàng)建新線程來(lái)處理任務(wù)。最大線程數(shù)用于應(yīng)對(duì)突發(fā)的高并發(fā)需求,以確保線程池可以處理更多的任務(wù)。KBi28資訊網(wǎng)——每日最新資訊28at.com

  • 應(yīng)對(duì)高負(fù)載情況: 最大線程數(shù)允許線程池在短時(shí)間內(nèi)創(chuàng)建更多的線程,以應(yīng)對(duì)高負(fù)載情況。當(dāng)任務(wù)數(shù)量超過(guò)核心線程數(shù)和任務(wù)隊(duì)列容量時(shí),線程池會(huì)創(chuàng)建新的線程,最多達(dá)到最大線程數(shù)。
  • 動(dòng)態(tài)線程創(chuàng)建: 最大線程數(shù)允許線程池根據(jù)需求動(dòng)態(tài)創(chuàng)建線程,以處理額外的任務(wù)。一旦任務(wù)數(shù)量降低,超過(guò)核心線程數(shù)的空閑線程會(huì)根據(jù)存活時(shí)間逐漸被終止,以釋放系統(tǒng)資源。
  • 資源控制: 設(shè)置合適的最大線程數(shù)可以幫助控制系統(tǒng)資源的使用,防止線程數(shù)無(wú)限增長(zhǎng),從而導(dǎo)致系統(tǒng)崩潰或資源耗盡。
  • 避免任務(wù)被拒絕: 如果任務(wù)隊(duì)列已滿并且線程池中的線程數(shù)已經(jīng)達(dá)到最大線程數(shù),新提交的任務(wù)將根據(jù)拒絕策略進(jìn)行處理。合理設(shè)置最大線程數(shù)可以降低任務(wù)被拒絕的可能性。

需要注意的是,最大線程數(shù)不應(yīng)設(shè)置得過(guò)于龐大,因?yàn)槊總€(gè)線程都會(huì)占用系統(tǒng)資源,包括內(nèi)存和CPU時(shí)間片。設(shè)置過(guò)大的最大線程數(shù)可能會(huì)導(dǎo)致系統(tǒng)資源枯竭,反而降低了性能。因此,最大線程數(shù)的合理設(shè)置需要考慮應(yīng)用程序的性能要求、系統(tǒng)資源和硬件配置等因素。KBi28資訊網(wǎng)——每日最新資訊28at.com

最大線程數(shù)是用于控制線程池的最大并發(fā)處理能力的重要參數(shù)。通過(guò)合理設(shè)置最大線程數(shù),你可以在高負(fù)載情況下確保應(yīng)用程序的穩(wěn)定性,并避免任務(wù)被拒絕。KBi28資訊網(wǎng)——每日最新資訊28at.com

3、空閑線程的存活時(shí)間(keepAliveTime)

空閑線程的存活時(shí)間(keepAliveTime)是Java線程池中的一個(gè)關(guān)鍵參數(shù),它定義了當(dāng)線程池中的線程數(shù)量超過(guò)核心線程數(shù)時(shí),多余的空閑線程等待新任務(wù)的最大時(shí)間。如果在這個(gè)時(shí)間內(nèi)沒(méi)有新任務(wù)到達(dá),這些空閑線程將被終止,以釋放系統(tǒng)資源。keepAliveTime通常與時(shí)間單位(unit)一起使用,以定義存活時(shí)間的單位。KBi28資訊網(wǎng)——每日最新資訊28at.com

  • 空閑線程的管理: 當(dāng)線程池中的線程數(shù)超過(guò)核心線程數(shù),多余的空閑線程被稱為“非核心線程”。這些非核心線程的存在是為了應(yīng)對(duì)短期高并發(fā)情況,但它們不會(huì)一直保持活動(dòng)狀態(tài)。keepAliveTime定義了非核心線程的最大存活時(shí)間。
  • 資源釋放: keepAliveTime的存在允許線程池動(dòng)態(tài)管理非核心線程,以釋放系統(tǒng)資源。如果一個(gè)非核心線程在一段時(shí)間內(nèi)沒(méi)有執(zhí)行任務(wù),它會(huì)被終止,釋放線程占用的內(nèi)存和其他資源。
  • 避免無(wú)限增長(zhǎng): keepAliveTime有助于防止線程池的線程數(shù)量無(wú)限增長(zhǎng),即使在任務(wù)繁忙時(shí)。它限制了非核心線程的存活時(shí)間,確保線程池在任務(wù)量減少時(shí)逐漸縮小。
  • 性能和資源平衡: 設(shè)置合理的keepAliveTime可以在維持性能的同時(shí),有效地管理系統(tǒng)資源。太短的存活時(shí)間可能導(dǎo)致線程不斷創(chuàng)建和銷(xiāo)毀,增加系統(tǒng)開(kāi)銷(xiāo),而太長(zhǎng)的存活時(shí)間可能導(dǎo)致資源浪費(fèi)。

通常,keepAliveTime的合理設(shè)置需要綜合考慮應(yīng)用程序的性能需求、負(fù)載模式以及系統(tǒng)資源的可用性。例如,對(duì)于長(zhǎng)期運(yùn)行的服務(wù)器應(yīng)用程序,可能需要較長(zhǎng)的keepAliveTime,以確保非核心線程不會(huì)頻繁終止和創(chuàng)建。而對(duì)于短期任務(wù)處理的應(yīng)用程序,可以將keepAliveTime設(shè)置得較短,以更快地釋放資源。KBi28資訊網(wǎng)——每日最新資訊28at.com

總之,空閑線程的存活時(shí)間(keepAliveTime)是線程池中的一個(gè)重要參數(shù),用于動(dòng)態(tài)管理非核心線程,平衡性能和資源。通過(guò)合理設(shè)置keepAliveTime,你可以有效地管理線程池,以滿足應(yīng)用程序的需求。KBi28資訊網(wǎng)——每日最新資訊28at.com

4、時(shí)間單位(unit)

時(shí)間單位(unit)是Java線程池參數(shù)中的一個(gè)輔助參數(shù),用于定義核心線程數(shù)、空閑線程存活時(shí)間等時(shí)間相關(guān)參數(shù)的單位。時(shí)間單位用于明確指定這些參數(shù)的時(shí)間量,通常表示為毫秒(milliseconds)、秒(seconds)、分鐘(minutes)等。KBi28資訊網(wǎng)——每日最新資訊28at.com

時(shí)間單位在Java線程池中的主要作用是:KBi28資訊網(wǎng)——每日最新資訊28at.com

  • 標(biāo)識(shí)時(shí)間量: 時(shí)間單位幫助開(kāi)發(fā)人員明確指定時(shí)間參數(shù)的單位,以避免不必要的混淆和錯(cuò)誤。
  • 提高可讀性: 時(shí)間單位的使用可以提高代碼的可讀性,使代碼更加自解釋。開(kāi)發(fā)人員可以一目了然地知道參數(shù)表示的時(shí)間單位,而無(wú)需深入查看文檔。
  • 便于配置: 時(shí)間單位使線程池的配置更加方便,因?yàn)榭梢灾苯邮褂猛ㄓ玫臅r(shí)間單位表示參數(shù),而不必關(guān)心具體的時(shí)間量。

例如,以下是使用時(shí)間單位的示例,其中核心線程數(shù)為2,空閑線程的存活時(shí)間為10秒:KBi28資訊網(wǎng)——每日最新資訊28at.com

ThreadPoolExecutor threadPool = new ThreadPoolExecutor(2, 4, 10, TimeUnit.SECONDS, new LinkedBlockingQueue<>());

在上述示例中,TimeUnit.SECONDS明確表示了存活時(shí)間參數(shù)的單位為秒。這樣的配置使得代碼更易理解和維護(hù)。KBi28資訊網(wǎng)——每日最新資訊28at.com

常用的時(shí)間單位包括:KBi28資訊網(wǎng)——每日最新資訊28at.com

TimeUnit.NANOSECONDS:納秒TimeUnit.MICROSECONDS:微秒TimeUnit.MILLISECONDS:毫秒TimeUnit.SECONDS:秒TimeUnit.MINUTES:分鐘TimeUnit.HOURS:小時(shí)TimeUnit.DAYS:天

通過(guò)選擇適當(dāng)?shù)臅r(shí)間單位,你可以根據(jù)需要設(shè)置線程池的各種時(shí)間參數(shù),以滿足應(yīng)用程序的性能和等待時(shí)間要求。時(shí)間單位是線程池配置中的重要組成部分,有助于確保線程池的正確運(yùn)行和性能調(diào)優(yōu)。KBi28資訊網(wǎng)——每日最新資訊28at.com

5、任務(wù)隊(duì)列(workQueue)

任務(wù)隊(duì)列(workQueue)是Java線程池中的一個(gè)重要參數(shù),它用于存儲(chǔ)等待執(zhí)行的任務(wù)。線程池中的工作線程會(huì)從任務(wù)隊(duì)列中獲取任務(wù)并執(zhí)行它們。任務(wù)隊(duì)列的選擇對(duì)線程池的性能和行為有重要影響,因此需要根據(jù)應(yīng)用程序的需求選擇合適的隊(duì)列類(lèi)型。KBi28資訊網(wǎng)——每日最新資訊28at.com

  • 任務(wù)緩存: 任務(wù)隊(duì)列充當(dāng)了任務(wù)的緩存,允許任務(wù)在提交后等待執(zhí)行。這對(duì)于管理并發(fā)任務(wù)和控制任務(wù)的執(zhí)行順序非常有用。
  • 任務(wù)排隊(duì): 當(dāng)線程池中的工作線程都在執(zhí)行任務(wù)時(shí),新提交的任務(wù)會(huì)被放入任務(wù)隊(duì)列排隊(duì)等待。這有助于防止任務(wù)丟失,并控制線程池的并發(fā)度。
  • 不同類(lèi)型的隊(duì)列: Java線程池提供了多種不同類(lèi)型的任務(wù)隊(duì)列,如ArrayBlockingQueue、LinkedBlockingQueue、PriorityBlockingQueue等。你可以根據(jù)需求選擇適合的隊(duì)列類(lèi)型。
  • 有界隊(duì)列 vs. 無(wú)界隊(duì)列: 任務(wù)隊(duì)列可以是有界隊(duì)列或無(wú)界隊(duì)列。有界隊(duì)列有一個(gè)固定的容量限制,當(dāng)任務(wù)隊(duì)列滿時(shí),新任務(wù)將被拒絕或進(jìn)入拒絕策略。無(wú)界隊(duì)列沒(méi)有容量限制,可以無(wú)限擴(kuò)展,但可能導(dǎo)致內(nèi)存消耗過(guò)多。
  • 隊(duì)列選擇考慮因素: 選擇任務(wù)隊(duì)列類(lèi)型需要考慮應(yīng)用程序的需求。有界隊(duì)列可以限制并發(fā)任務(wù)的數(shù)量,以防止資源耗盡,但可能導(dǎo)致任務(wù)被拒絕。無(wú)界隊(duì)列不會(huì)拒絕任務(wù),但需要謹(jǐn)慎使用以避免內(nèi)存問(wèn)題。
ThreadPoolExecutor threadPool = new ThreadPoolExecutor(2, 4, 10, TimeUnit.SECONDS, new LinkedBlockingQueue<>());

在上述示例中,new LinkedBlockingQueue<>()創(chuàng)建了一個(gè)無(wú)界隊(duì)列,任務(wù)可以無(wú)限排隊(duì)等待執(zhí)行。KBi28資訊網(wǎng)——每日最新資訊28at.com

任務(wù)隊(duì)列的選擇應(yīng)根據(jù)應(yīng)用程序的性能需求、任務(wù)類(lèi)型和資源約束來(lái)決定。合適的任務(wù)隊(duì)列可以幫助平衡并發(fā)性能和資源管理,確保線程池能夠高效地處理任務(wù)。KBi28資訊網(wǎng)——每日最新資訊28at.com

6、線程工廠(threadFactory)

線程工廠(ThreadFactory)是Java線程池中的一個(gè)關(guān)鍵組成部分,它用于創(chuàng)建線程池中的線程。線程工廠定義了線程的創(chuàng)建方式和屬性,允許你自定義線程的名稱、優(yōu)先級(jí)、異常處理等屬性。線程工廠提供了更靈活的方式來(lái)創(chuàng)建線程,以適應(yīng)特定的應(yīng)用需求。KBi28資訊網(wǎng)——每日最新資訊28at.com

以下是關(guān)于線程工廠的關(guān)鍵特點(diǎn)和用途:KBi28資訊網(wǎng)——每日最新資訊28at.com

  • 線程創(chuàng)建方式: 線程工廠負(fù)責(zé)創(chuàng)建線程對(duì)象,使你能夠自定義線程的創(chuàng)建方式。這包括線程的命名、線程組、優(yōu)先級(jí)和其他屬性。
  • 線程命名: 通過(guò)線程工廠,你可以為線程設(shè)置有意義的名稱,以便更容易進(jìn)行線程監(jiān)控和調(diào)試。有意義的線程名稱可以幫助識(shí)別線程池中正在執(zhí)行的任務(wù)。
  • 異常處理: 線程工廠還可以自定義線程的異常處理方式。這對(duì)于記錄線程異常信息、執(zhí)行特定的異常處理邏輯等都很有用。
  • 線程屬性: 你可以在線程工廠中設(shè)置其他線程屬性,如優(yōu)先級(jí)、守護(hù)線程標(biāo)志等。
  • 線程監(jiān)控: 自定義線程工廠可以用于在線程池中監(jiān)控線程的活動(dòng),例如記錄線程的創(chuàng)建和銷(xiāo)毀時(shí)間、統(tǒng)計(jì)線程執(zhí)行任務(wù)的次數(shù)等。
ThreadFactory customThreadFactory = new CustomThreadFactory("MyThreadPool-Worker-"); ThreadPoolExecutor threadPool = new ThreadPoolExecutor(2, 4, 10, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), customThreadFactory);

在上述示例中,CustomThreadFactory是一個(gè)自定義的線程工廠類(lèi),它為線程設(shè)置了自定義的名稱前綴。KBi28資訊網(wǎng)——每日最新資訊28at.com

線程工廠的使用有助于更好地控制線程的行為和屬性,使線程池適應(yīng)不同的應(yīng)用需求。它也有助于提高代碼的可維護(hù)性和可讀性,因?yàn)榭梢悦鞔_指定線程的屬性和行為。KBi28資訊網(wǎng)——每日最新資訊28at.com

7、拒絕策略(handler)

拒絕策略(Rejection Policy),也被稱為拒絕處理策略,是Java線程池中的一個(gè)重要參數(shù)。當(dāng)線程池的任務(wù)隊(duì)列已滿并且線程池的工作線程數(shù)已經(jīng)達(dá)到最大線程數(shù)時(shí),新提交的任務(wù)無(wú)法被立即執(zhí)行。此時(shí),拒絕策略定義了應(yīng)該如何處理這些無(wú)法執(zhí)行的任務(wù)KBi28資訊網(wǎng)——每日最新資訊28at.com

KBi28資訊網(wǎng)——每日最新資訊28at.com

Java線程池提供了多種不同的拒絕策略,你可以根據(jù)應(yīng)用程序的需求來(lái)選擇合適的策略。以下是常見(jiàn)的拒絕策略:KBi28資訊網(wǎng)——每日最新資訊28at.com

  • AbortPolicy(默認(rèn)策略): 這是默認(rèn)的拒絕策略。當(dāng)任務(wù)無(wú)法執(zhí)行時(shí),線程池會(huì)拋出一個(gè)RejectedExecutionException異常,表示拒絕任務(wù)的提交。這是一種比較嚴(yán)格的策略,通常用于保護(hù)線程池不被過(guò)度負(fù)載。
  • CallerRunsPolicy: 這個(gè)策略會(huì)將無(wú)法執(zhí)行的任務(wù)交給提交任務(wù)的線程來(lái)執(zhí)行。換句話說(shuō),任務(wù)將在調(diào)用submit方法的線程上執(zhí)行,而不是在線程池的工作線程上執(zhí)行。這可以用于降低提交任務(wù)的速度,但不會(huì)丟失任務(wù)。
  • DiscardPolicy: 這個(gè)策略會(huì)默默地丟棄無(wú)法執(zhí)行的任務(wù),不會(huì)拋出異常,也不會(huì)執(zhí)行任務(wù)。使用這個(gè)策略時(shí)需要小心,因?yàn)槿蝿?wù)的丟失可能會(huì)導(dǎo)致數(shù)據(jù)或功能的不一致。
  • DiscardOldestPolicy: 這個(gè)策略會(huì)嘗試丟棄隊(duì)列中最舊的任務(wù),以為新任務(wù)騰出位置。雖然可以避免任務(wù)的丟失,但可能導(dǎo)致某些任務(wù)等待時(shí)間較長(zhǎng)。

你可以在創(chuàng)建線程池時(shí)通過(guò)指定拒絕策略來(lái)選擇所需的處理方式:KBi28資訊網(wǎng)——每日最新資訊28at.com

ThreadPoolExecutor threadPool = new ThreadPoolExecutor(2, 4, 10, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), new ThreadPoolExecutor.AbortPolicy());

選擇適當(dāng)?shù)木芙^策略取決于你的應(yīng)用需求。嚴(yán)格的策略可以幫助保護(hù)線程池免受過(guò)度負(fù)載,但可能導(dǎo)致任務(wù)丟失。較寬松的策略可以避免任務(wù)丟失,但可能會(huì)降低性能。因此,需要根據(jù)應(yīng)用程序的性能、可靠性和任務(wù)處理需求來(lái)選擇合適的拒絕策略。KBi28資訊網(wǎng)——每日最新資訊28at.com

KBi28資訊網(wǎng)——每日最新資訊28at.com

在多線程編程中,Java線程池是一個(gè)強(qiáng)大的工具,它可以幫助你有效地管理線程,提高應(yīng)用程序的并發(fā)性能。通過(guò)深入理解線程池的各個(gè)參數(shù)和功能,你可以更好地利用這一工具,優(yōu)化你的多線程應(yīng)用程序,提供更好的用戶體驗(yàn)。KBi28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-33352-0.html打造定制線程池:Java多線程的藝術(shù)

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 新 CSS Math方法:Rem() 和 Mod()

下一篇: 一個(gè)提高開(kāi)發(fā)效率的神器

標(biāo)簽:
  • 熱門(mén)焦點(diǎn)
  • 一加Ace2 Pro官宣:普及16G內(nèi)存 引領(lǐng)24G

    一加官方今天繼續(xù)為本月發(fā)布的新機(jī)一加Ace2 Pro帶來(lái)預(yù)熱,公布了內(nèi)存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引領(lǐng),還有呢?#一加Ace2Pro#,2023 年 8 月,敬請(qǐng)期待。”同時(shí)
  • MIX Fold3包裝盒泄露 新機(jī)本月登場(chǎng)

    小米的全新折疊屏旗艦MIX Fold3將于本月發(fā)布,近日該機(jī)的真機(jī)包裝盒在網(wǎng)上泄露。從圖上來(lái)看,新的MIX Fold3包裝盒在外觀設(shè)計(jì)方面延續(xù)了之前的方案,變化不大,這也是目前小米旗艦
  • Redmi Pad評(píng)測(cè):紅米充滿野心的一次嘗試

    從Note系列到K系列,從藍(lán)牙耳機(jī)到筆記本電腦,紅米不知不覺(jué)之間也已經(jīng)形成了自己頗有競(jìng)爭(zhēng)力的產(chǎn)品體系,在中端和次旗艦市場(chǎng)上甚至要比小米新機(jī)的表現(xiàn)來(lái)得更好,正所謂“大丈夫生居
  • 5月安卓手機(jī)好評(píng)榜:魅族20 Pro奪冠

    性能榜和性價(jià)比榜之后,我們來(lái)看最后的安卓手機(jī)好評(píng)榜,數(shù)據(jù)來(lái)源安兔兔評(píng)測(cè),收集時(shí)間2023年5月1日至5月31日,僅限國(guó)內(nèi)市場(chǎng)。第一名:魅族20 Pro好評(píng)率:97.50%不得不感慨魅族老品牌還
  • 掘力計(jì)劃第 20 期:Flutter 混合開(kāi)發(fā)的混亂之治

    在掘力計(jì)劃系列活動(dòng)第20場(chǎng),《Flutter 開(kāi)發(fā)實(shí)戰(zhàn)詳解》作者,掘金優(yōu)秀作者,Github GSY 系列目負(fù)責(zé)人戀貓的小郭分享了Flutter 混合開(kāi)發(fā)的混亂之治。Flutter 基于自研的 Skia 引擎
  • 三星Galaxy Z Fold/Flip 5國(guó)行售價(jià)曝光 :最低7499元/12999元起

    據(jù)官方此前宣布,三星將于7月26日也就是明天在韓國(guó)首爾舉辦Unpacked活動(dòng),屆時(shí)將帶來(lái)帶來(lái)包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
  • 三星顯示已開(kāi)始為AR設(shè)備研發(fā)硅基LED微顯示屏

    7月18日消息,據(jù)外媒報(bào)道,隨著蘋(píng)果首款頭顯產(chǎn)品Vision Pro在6月份正式推出,AR/VR/MR等頭顯產(chǎn)品也就將成為各大公司下一個(gè)重要的競(jìng)爭(zhēng)領(lǐng)域,對(duì)顯示屏這一關(guān)
  • 上海舉辦人工智能大會(huì)活動(dòng),建設(shè)人工智能新高地

    人工智能大會(huì)在上海浦江兩岸隆重拉開(kāi)帷幕,人工智能新技術(shù)、新產(chǎn)品、新應(yīng)用、新理念集中亮相。8月30日晚,作為大會(huì)的特色活動(dòng)之一的上海人工智能發(fā)展盛典人工
  • 北京:科技教育體驗(yàn)基地開(kāi)始登記

      北京“科技館之城”科技教育體驗(yàn)基地登記和認(rèn)證工作日前啟動(dòng)。首批北京科技教育體驗(yàn)基地?cái)M于2023年全國(guó)科普日期間掛牌,后續(xù)還將開(kāi)展常態(tài)化登記。  北京科技教育體驗(yàn)基
Top 主站蜘蛛池模板: 儋州市| 都江堰市| 凤山县| 灵宝市| 儋州市| 镇平县| 康平县| 正镶白旗| 无极县| 大方县| 年辖:市辖区| 大兴区| 灯塔市| 定安县| 吉木萨尔县| 乌兰察布市| 尉犁县| 蓬安县| 司法| 巴彦县| 岳阳县| 囊谦县| 景德镇市| 肃北| 无锡市| 宜阳县| 许昌市| 开原市| 滦平县| 隆化县| 久治县| 赫章县| 新干县| 福建省| 南汇区| 兴仁县| 林西县| 遵义市| 晋城| 巫溪县| 炎陵县|