AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

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

超越傳統(tǒng)線程:探索Java Loom協(xié)程(纖程/虛擬線程)的無限潛力

來源: 責(zé)編: 時間:2023-10-13 14:38:02 258觀看
導(dǎo)讀一、Java協(xié)程的發(fā)展歷程Java協(xié)程的發(fā)展歷程可以概括為以下幾個階段:1963年,協(xié)程的概念被正式提出,它的誕生甚至早于線程。2007年,Kilim項(xiàng)目發(fā)布,它是一個基于字節(jié)碼增強(qiáng)技術(shù)的Java協(xié)程框架。2014年,Quasar項(xiàng)目發(fā)布,它是一個

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

一、Java協(xié)程的發(fā)展歷程

Java協(xié)程的發(fā)展歷程可以概括為以下幾個階段:gdM28資訊網(wǎng)——每日最新資訊28at.com

  • 1963年,協(xié)程的概念被正式提出,它的誕生甚至早于線程。
  • 2007年,Kilim項(xiàng)目發(fā)布,它是一個基于字節(jié)碼增強(qiáng)技術(shù)的Java協(xié)程框架。
  • 2014年,Quasar項(xiàng)目發(fā)布,它是一個基于Agent技術(shù)的Java協(xié)程框架。
  • 2016年,Project Loom項(xiàng)目啟動,它是一個旨在為Java提供原生協(xié)程支持的項(xiàng)目。
  • 2019年,Kotlin語言發(fā)布1.3版本,它是一個支持協(xié)程編程的Java兼容語言。
  • 2020年,Java 15發(fā)布,它包含了Project Loom的預(yù)覽版(Preview Feature),提供了虛擬線程(Virtual Thread)和Scope Variable等特性。

早期嘗試: 在 Java 早期版本中,并發(fā)主要通過線程和同步機(jī)制來實(shí)現(xiàn)。盡管 Java 提供了多線程支持,但由于線程的創(chuàng)建和切換開銷較大,這使得高并發(fā)的場景處理效率較低。gdM28資訊網(wǎng)——每日最新資訊28at.com

Quasar(2011年): Quasar 是由 Parallel Universe 開發(fā)的一個基于字節(jié)碼操縱和 bytecode instrumentation 的 Java 協(xié)程庫。它在 Java 中實(shí)現(xiàn)了類似協(xié)程的概念,通過操縱字節(jié)碼來實(shí)現(xiàn)輕量級的協(xié)程和任務(wù)切換。Quasar 提供了協(xié)程式的編程方式,允許在一個線程中執(zhí)行多個協(xié)程,從而避免了線程切換的開銷。gdM28資訊網(wǎng)——每日最新資訊28at.com

Kotlin Coroutines(2017年): Kotlin 是一種運(yùn)行在 JVM 上的編程語言,由 JetBrains 開發(fā)。Kotlin Coroutines 是 Kotlin 的異步編程框架,允許以協(xié)程的方式編寫異步代碼。雖然 Kotlin 是一種獨(dú)立的編程語言,但它可以與 Java 無縫集成,因此你可以在 Java 項(xiàng)目中使用 Kotlin Coroutines。gdM28資訊網(wǎng)——每日最新資訊28at.com

Project Loom(進(jìn)行中): Project Loom 是 OpenJDK 的一個子項(xiàng)目,致力于為 Java 引入輕量級線程(稱為 Virtual Threads 或者 Loom Threads)。Loom 的目標(biāo)是在不改變現(xiàn)有 Java 程序的前提下,為 Java 增加纖程的能力。Loom 的設(shè)計目標(biāo)是實(shí)現(xiàn)一個高效且易用的協(xié)程和輕量級線程模型,以解決 Java 并發(fā)編程的挑戰(zhàn)。gdM28資訊網(wǎng)——每日最新資訊28at.com

Java 標(biāo)準(zhǔn)庫中仍然沒有原生支持協(xié)程的特性。然而,上述項(xiàng)目和庫的出現(xiàn)表明 Java 社區(qū)對于高效并發(fā)編程的需求,以及對于協(xié)程式編程的探索和實(shí)踐,并且未來 Java 的發(fā)展可能會進(jìn)一步引入更加高級的并發(fā)機(jī)制,為開發(fā)者提供更優(yōu)雅和高效的并發(fā)編程體驗(yàn)。gdM28資訊網(wǎng)——每日最新資訊28at.com

二、Java Project Loom

Java Project Loom是Java語言的一個重要項(xiàng)目,它旨在改進(jìn)Java虛擬機(jī)(JVM)的執(zhí)行模型,以支持輕量級線程(Lightweight Threads),從而提高Java在處理并發(fā)和并行編程方面的性能和可伸縮性。本文將介紹Java Project Loom的背景、目標(biāo)、主要特性以及對Java開發(fā)者和應(yīng)用程序的影響。gdM28資訊網(wǎng)——每日最新資訊28at.com

1、背景

在Java開發(fā)中,線程(Thread)是一種常用的并發(fā)機(jī)制,允許程序以多個獨(dú)立的執(zhí)行路徑同時運(yùn)行。然而,傳統(tǒng)的Java線程模型存在一些問題。每個線程都映射到操作系統(tǒng)的本地線程,這會導(dǎo)致創(chuàng)建和銷毀線程的開銷較大。而且,由于每個線程都會占用一定的內(nèi)存空間,當(dāng)并發(fā)程度較高時,大量線程的創(chuàng)建可能會導(dǎo)致內(nèi)存消耗過大,甚至導(dǎo)致系統(tǒng)崩潰。gdM28資訊網(wǎng)——每日最新資訊28at.com

為了解決這些問題,Java Project Loom項(xiàng)目應(yīng)運(yùn)而生。gdM28資訊網(wǎng)——每日最新資訊28at.com

Java Project Loom的主要目標(biāo)是引入一種輕量級線程實(shí)現(xiàn),稱為“Fibers”(纖程),以優(yōu)化Java線程的管理和執(zhí)行模型。Fibers是一種用戶態(tài)線程,由Java虛擬機(jī)(JVM)和運(yùn)行時系統(tǒng)進(jìn)行管理,不再需要映射到操作系統(tǒng)的本地線程。這樣,F(xiàn)ibers的創(chuàng)建和銷毀開銷將大大降低,并且可以在同一個操作系統(tǒng)線程內(nèi)運(yùn)行大量Fibers,從而減少內(nèi)存消耗和提高性能。gdM28資訊網(wǎng)——每日最新資訊28at.com

2、主要特性

Java Project Loom帶來了許多重要特性,其中最顯著的是:gdM28資訊網(wǎng)——每日最新資訊28at.com

(1)Fibers(纖程)

Fibers是Java Project Loom的核心特性。它們是一種輕量級的、用戶態(tài)的線程實(shí)現(xiàn),可以通過Fiber API進(jìn)行創(chuàng)建、掛起、恢復(fù)和取消。與傳統(tǒng)線程相比,F(xiàn)ibers的創(chuàng)建和銷毀成本較低,并且可以高效地復(fù)用線程資源,使得應(yīng)用程序可以擁有數(shù)千甚至數(shù)百萬個并發(fā)執(zhí)行的Fibers,而不會產(chǎn)生顯著的內(nèi)存開銷。gdM28資訊網(wǎng)——每日最新資訊28at.com

(2)Continuations(續(xù)體)

為了支持Fibers,Java Project Loom引入了Continuations的概念。Continuations允許在Fiber被掛起時保存其執(zhí)行狀態(tài),并在需要時恢復(fù)到掛起的狀態(tài)。這為Fibers的掛起和恢復(fù)提供了一種高效的機(jī)制,避免了傳統(tǒng)線程上下文切換的開銷。gdM28資訊網(wǎng)——每日最新資訊28at.com

(3)Virtual Threads(虛擬線程)

Java Project Loom還引入了Virtual Threads的概念,它是一種對Fibers進(jìn)行透明封裝的機(jī)制。Virtual Threads可以根據(jù)應(yīng)用程序的需求來動態(tài)地創(chuàng)建和管理Fibers,讓開發(fā)者可以使用簡單的編程模型處理大規(guī)模并發(fā)而無需擔(dān)心線程管理細(xì)節(jié)。gdM28資訊網(wǎng)——每日最新資訊28at.com

(4)Scoped Threads(作用域線程)

Scoped Threads是Java Project Loom的另一個重要特性,它允許Fibers在有限的作用域內(nèi)運(yùn)行。這樣,F(xiàn)iber在超出其作用域后將自動被銷毀,從而避免了資源泄漏和線程管理的復(fù)雜性。gdM28資訊網(wǎng)——每日最新資訊28at.com

3、Project Loom的影響

Java Project Loom的推出將對Java開發(fā)者和應(yīng)用程序產(chǎn)生深遠(yuǎn)的影響:gdM28資訊網(wǎng)——每日最新資訊28at.com

(1)更高的并發(fā)性能

通過引入輕量級的Fibers,Java Project Loom將使得Java應(yīng)用程序可以更高效地處理大量并發(fā)任務(wù),從而提供更高的并發(fā)性能和更好的可伸縮性。gdM28資訊網(wǎng)——每日最新資訊28at.com

(2)更低的內(nèi)存消耗

由于Fibers不再需要映射到操作系統(tǒng)的本地線程,Java應(yīng)用程序的內(nèi)存消耗將顯著降低,特別是在高并發(fā)場景下,這將對資源有限的環(huán)境和云計算平臺尤為重要。gdM28資訊網(wǎng)——每日最新資訊28at.com

(3)更簡潔的代碼

Virtual Threads和Scoped Threads的引入將簡化并發(fā)編程的代碼邏輯,使得開發(fā)者可以更專注于業(yè)務(wù)邏輯而無需過多關(guān)注底層線程管理。gdM28資訊網(wǎng)——每日最新資訊28at.com

(4)更好的響應(yīng)性

Java Project Loom的改進(jìn)將使得Java應(yīng)用程序更具響應(yīng)性,特別是在高負(fù)載和高并發(fā)情況下,應(yīng)用程序仍然能夠快速響應(yīng)用戶請求。gdM28資訊網(wǎng)——每日最新資訊28at.com

總體而言,Java Project Loom是Java語言邁向更高并發(fā)性和更好性能的重要一步。通過引入Fibers和相關(guān)的特性,它將為Java開發(fā)者帶來更強(qiáng)大的工具,使得開發(fā)高效、高并發(fā)的Java應(yīng)用程序變得更加容易。隨著Java生態(tài)系統(tǒng)的不斷發(fā)展,Java Project Loom必將成為Java開發(fā)中不可或缺的重要組成部分。gdM28資訊網(wǎng)——每日最新資訊28at.com

4、Samples

許多應(yīng)用程序不會直接使用 Thread API,而是使用
java.util.concurrent.ExecutorService和 Executors API。Executors API 已更新為 ExecutorServices 的新工廠方法,為每個任務(wù)啟動一個新線程。虛擬線程足夠便宜,可以為每個任務(wù)創(chuàng)建一個新的虛擬線程,永遠(yuǎn)不需要池化虛擬線程。
gdM28資訊網(wǎng)——每日最新資訊28at.com

下面啟動一個虛擬線程來打印消息。它調(diào)用join方法來等待線程終止。gdM28資訊網(wǎng)——每日最新資訊28at.com

Thread thread = Thread.ofVirtual().start(() -> System.out.println("Hello"));thread.join();

下面是一個在休眠后啟動虛擬線程將元素放入隊(duì)列的示例。主線程阻塞在隊(duì)列上,等待元素。gdM28資訊網(wǎng)——每日最新資訊28at.com

var queue = new SynchronousQueue<String>();Thread.ofVirtual().start(() -> {    try {        Thread.sleep(Duration.ofSeconds(2));        queue.put("done");    } catch (InterruptedException e) { }}); String msg = queue.take();

Thread.Builder API 也可用于創(chuàng)建 ThreadFactory。以下代碼片段創(chuàng)建的 ThreadFactory 將創(chuàng)建名為“worker-0”、“worker-1”、“worker-2”等的虛擬線程。gdM28資訊網(wǎng)——每日最新資訊28at.com

ThreadFactory factory = Thread.ofVirtual().name("worker", 0).factory();

以下示例使用 Executors API 創(chuàng)建一個 ExecutorService,為每個任務(wù)啟動一個新的虛擬線程。 該示例使用 try-with-resources 構(gòu)造來確保 ExecutorService 在繼續(xù)之前已終止。gdM28資訊網(wǎng)——每日最新資訊28at.com

ExecutorService定義了提交方法來執(zhí)行任務(wù)。提交方法不會阻塞,而是返回一個可用于等待結(jié)果或異常的 Future 對象。接受任務(wù)集合的 Submit 方法會返回一個 Stream,該 Stream 會延遲填充代表結(jié)果的已完成的 Future 對象。gdM28資訊網(wǎng)——每日最新資訊28at.com

該示例還使用 invokeAll 和invokeAny 組合器方法 來執(zhí)行多個任務(wù)并等待它們完成。gdM28資訊網(wǎng)——每日最新資訊28at.com

try (ExecutorService executor = Executors.newVirtualThreadExecutor()) {      // Submits a value-returning task and waits for the result    Future<String> future = executor.submit(() -> "foo");    String result = future.join();     // Submits two value-returning tasks to get a Stream that is lazily populated    // with completed Future objects as the tasks complete    Stream<Future<String>> stream = executor.submit(List.of(() -> "foo", () -> "bar"));    stream.filter(Future::isCompletedNormally)            .map(Future::join)            .forEach(System.out::println);     // Executes two value-returning tasks, waiting for both to complete    List<Future<String>> results1 = executor.invokeAll(List.of(() -> "foo", () -> "bar"));     // Executes two value-returning tasks, waiting for both to complete. If one of the    // tasks completes with an exception, the other is cancelled.    List<Future<String>> results2 = executor.invokeAll(List.of(() -> "foo", () -> "bar"), /*waitAll*/ false);     // Executes two value-returning tasks, returning the result of the first to    // complete, cancelling the other.    String first = executor.invokeAny(List.of(() -> "foo", () -> "bar"));}


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

三、SpringBoot如何使用協(xié)程

1、Project Loom

Java Project Loom旨在改進(jìn)Java虛擬機(jī)的執(zhí)行模型,其中核心概念是Fibers,也稱為輕量級線程。Fibers提供了一種輕量級的線程模型,可以高效地創(chuàng)建和管理大量的并發(fā)任務(wù),而不像傳統(tǒng)線程那樣消耗大量的系統(tǒng)資源。雖然Spring Boot本身沒有集成Project Loom,但可以在Spring Boot應(yīng)用程序中使用Project Loom來實(shí)現(xiàn)協(xié)程。為此,你需要使用Java 17或更新版本,并引入Project Loom的依賴。gdM28資訊網(wǎng)——每日最新資訊28at.com

以下是一個簡單的示例,展示如何使用Project Loom的Fibers來實(shí)現(xiàn)協(xié)程:gdM28資訊網(wǎng)——每日最新資訊28at.com

public class CoroutineExample {    public static void main(String[] args) throws InterruptedException {        ExecutorService executorService = Executors.newVirtualThreadExecutor();        SubmissionPublisher<String> publisher = new SubmissionPublisher<>(executorService, 1);        // Subscribe to the publisher        publisher.subscribe(new SimpleSubscriber());        // Publish some data        for (int i = 0; i < 5; i++) {            publisher.submit("Data " + i);        }        // Close the publisher and wait for the subscribers to finish        publisher.close();        executorService.awaitTermination(1, TimeUnit.SECONDS);        executorService.shutdown();    }}

2、Quasar框架

Quasar是一個基于Java的協(xié)程庫,它提供了協(xié)程的實(shí)現(xiàn)和管理。使用Quasar,你可以在Spring Boot應(yīng)用程序中創(chuàng)建協(xié)程來處理并發(fā)任務(wù)。gdM28資訊網(wǎng)——每日最新資訊28at.com

要使用Quasar,你需要將其作為依賴項(xiàng)添加到Spring Boot項(xiàng)目中。然后,你可以使用Quasar提供的API來創(chuàng)建、掛起和恢復(fù)協(xié)程。gdM28資訊網(wǎng)——每日最新資訊28at.com

以下是一個簡單的示例,展示如何在Spring Boot應(yīng)用程序中使用Quasar實(shí)現(xiàn)協(xié)程:gdM28資訊網(wǎng)——每日最新資訊28at.com

@FiberSpringBootApplication    public class CoroutineExample {        public static void main(String[] args) throws InterruptedException {            new Fiber<Void>(() -> {                for (int i = 0; i < 5; i++) {                    System.out.println("Data " + i);                    try {                        Fiber.sleep(1000);                    } catch (SuspendExecution | InterruptedException e) {                        e.printStackTrace();                    }                }            }).start().join();        }    }


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

四、第三方集成

1、Vert.x

Vert.x是一個基于事件驅(qū)動的響應(yīng)式框架,它可以讓開發(fā)者使用Java或其他JVM語言編寫高性能的異步應(yīng)用。Vert.x已經(jīng)開始嘗試集成Java虛擬線程,目前有一個虛擬線程孵化器項(xiàng)目,它包含了一個async/await的實(shí)現(xiàn)。這個項(xiàng)目可以讓開發(fā)者使用類似于JavaScript或C#的語法來編寫異步代碼,而不需要使用回調(diào)或者FuturegdM28資訊網(wǎng)——每日最新資訊28at.com

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

Vert.x是一個用于構(gòu)建響應(yīng)式、高性能、可伸縮的應(yīng)用程序的工具包和框架。它基于Java語言,提供了一個異步編程模型,使得開發(fā)者可以輕松地構(gòu)建事件驅(qū)動的、非阻塞的應(yīng)用程序。gdM28資訊網(wǎng)——每日最新資訊28at.com

主要特點(diǎn)和優(yōu)勢:gdM28資訊網(wǎng)——每日最新資訊28at.com

  • 響應(yīng)式和非阻塞:Vert.x采用了事件循環(huán)和異步編程模型,允許應(yīng)用程序以非阻塞方式處理請求和事件,從而實(shí)現(xiàn)高吞吐量和低延遲。
  • 多語言支持:盡管Vert.x是用Java構(gòu)建的,但它還支持其他語言,如Kotlin、Groovy和JavaScript。這使得開發(fā)者可以使用自己喜歡的語言來編寫應(yīng)用程序。
  • 內(nèi)置集群支持:Vert.x內(nèi)置了集群支持,可以在多個節(jié)點(diǎn)上運(yùn)行應(yīng)用程序?qū)嵗瑥亩鴮?shí)現(xiàn)水平擴(kuò)展和高可用性。
  • 組件豐富:Vert.x提供了豐富的組件和庫,包括HTTP服務(wù)器、WebSocket、消息總線、數(shù)據(jù)庫客戶端等,使得開發(fā)者能夠快速構(gòu)建各種類型的應(yīng)用程序。
  • 輕量級:Vert.x是一個輕量級框架,不像一些大型框架那樣臃腫,可以在資源有限的環(huán)境中運(yùn)行。
  • 社區(qū)活躍:Vert.x擁有一個活躍的開源社區(qū),持續(xù)開發(fā)和更新,使得它保持在技術(shù)前沿,并且有很多貢獻(xiàn)者為其提供支持和擴(kuò)展。

Vert.x適用于構(gòu)建各種類型的應(yīng)用程序,特別是需要高性能、高并發(fā)和實(shí)時性的場景。它可以用于構(gòu)建Web應(yīng)用程序、API服務(wù)、實(shí)時通信應(yīng)用、IoT應(yīng)用等。如果您對響應(yīng)式編程和高性能的應(yīng)用程序開發(fā)感興趣,Vert.x值得一試。gdM28資訊網(wǎng)——每日最新資訊28at.com

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

2、Jetty

Jetty是一個輕量級的Java web服務(wù)器和servlet容器。Jetty也已經(jīng)支持了Java虛擬線程gdM28資訊網(wǎng)——每日最新資訊28at.com

Java 19 中引入的虛擬線程在 Jetty 12 中受支持,因?yàn)樗鼈兎謩e從 10.11.10 和 0.12.11 開始在 Jetty 0 和 Jetty 12 中得到支持。gdM28資訊網(wǎng)——每日最新資訊28at.com

當(dāng) JVM 支持虛擬線程并在 Jetty 中啟用時(請參閱嵌入式用法和獨(dú)立用法),將使用虛擬線程調(diào)用應(yīng)用程序,這允許它們使用簡單的阻塞 API,但具有虛擬線程的可伸縮性優(yōu)勢。gdM28資訊網(wǎng)——每日最新資訊28at.com

3、Tomcat

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

Tomcat是一個廣泛使用的Java web服務(wù)器和servlet容器。Tomcat也支持Java虛擬線程,并在版本中有相關(guān)說明。gdM28資訊網(wǎng)——每日最新資訊28at.com

4、Helidon

Helidon是一個微服務(wù)框架,它提供了兩種編程模型:Helidon SE和Helidon MP。Helidon SE是一個基于函數(shù)式編程的輕量級框架,它支持Reactive Streams和非阻塞IO。Helidon MP是一個基于標(biāo)準(zhǔn)化的注解驅(qū)動的框架,它支持MicroProfile API。Helidon也已經(jīng)集成了Java虛擬線程,并提供了一些示例代碼來展示如何使用它。gdM28資訊網(wǎng)——每日最新資訊28at.com

5、Quarkus

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

Quarkus是一個為云原生應(yīng)用而生的全棧框架,它提供了高性能、低內(nèi)存占用、快速啟動和熱重載等特性。Quarkus也已經(jīng)支持了Java虛擬線程,并提供了一些文檔和指南來介紹如何使用它。gdM28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-13589-0.html超越傳統(tǒng)線程:探索Java Loom協(xié)程(纖程/虛擬線程)的無限潛力

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

上一篇: Java遍歷一個 List 有哪些方式?每種的實(shí)現(xiàn)原理以及哪種最高效?

下一篇: 讓CSS官方后悔的一些決定

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 6月安卓手機(jī)性價比榜:Note 12 Turbo斷層式碾壓

    6月份有一個618,雖然這是京東周年慶的日子,但別的電商也都不約而同的跟進(jìn)了,反正促銷沒壞處,廠商和用戶都能滿意。618期間一些產(chǎn)品也出現(xiàn)了歷史低價,那么各個價位段的產(chǎn)品性價比
  • 5月安卓手機(jī)好評榜:魅族20 Pro奪冠

    性能榜和性價比榜之后,我們來看最后的安卓手機(jī)好評榜,數(shù)據(jù)來源安兔兔評測,收集時間2023年5月1日至5月31日,僅限國內(nèi)市場。第一名:魅族20 Pro好評率:97.50%不得不感慨魅族老品牌還
  • 摸魚心法第一章——和配置文件說拜拜

    為了能摸魚我們團(tuán)隊(duì)做了容器化,但是帶來的問題是服務(wù)配置文件很麻煩,然后大家在群里進(jìn)行了“親切友好”的溝通圖片圖片圖片圖片對比就對比,簡單對比下獨(dú)立配置中心和k8s作為配
  • 得物效率前端微應(yīng)用推進(jìn)過程與思考

    一、背景效率工程隨著業(yè)務(wù)的發(fā)展,組織規(guī)模的擴(kuò)大,越來越多的企業(yè)開始意識到協(xié)作效率對于企業(yè)團(tuán)隊(duì)的重要性,甚至是決定其在某個行業(yè)競爭中突圍的關(guān)鍵,是企業(yè)長久生存的根本。得物
  • 這款新興工具平臺,讓你的電腦效率翻倍

    隨著信息技術(shù)的發(fā)展,我們獲取信息的渠道越來越多,但是處理信息的效率卻成為一個瓶頸。于是各種工具應(yīng)運(yùn)而生,都在爭相解決我們的工作效率問題。今天我要給大家介紹一款效率
  • 華為發(fā)布HarmonyOS 4:更好玩、更流暢、更安全

    在8月4日的華為開發(fā)者大會2023(HDC.Together)大會上,HarmonyOS 4正式發(fā)布。自2019年發(fā)布以來,HarmonyOS一直以用戶為中心,經(jīng)歷四年多的發(fā)展HarmonyOS已
  • 自研Exynos回歸!三星Galaxy S24系列將提供Exynos和驍龍雙版本

    年初,全新的三星Galaxy S23系列發(fā)布,包含Galaxy S23、Galaxy S23+和Galaxy S23 Ultra三個版本,全系搭載超頻版驍龍8 Gen 2,雖同樣采用臺積電4nm工藝制
  • OPPO K11采用全方位護(hù)眼屏:三大護(hù)眼能力減輕視覺疲勞

    日前OPPO官方宣布,全新的OPPO K11將于7月25日正式發(fā)布,將主打旗艦影像,和同檔位競品相比,其最大的賣點(diǎn)就是將配備索尼IMX890主攝,堪稱是2000檔位影像表
  • 2022爆款:ROG魔霸6 冰川散熱系統(tǒng)持續(xù)護(hù)航

    喜逢開學(xué)季,各大商家開始推出自己的新產(chǎn)品,進(jìn)行打折促銷活動。對于忠實(shí)的端游愛好者來說,能夠擁有一款夢寐以求的筆記本電腦是一件十分開心的事。但是現(xiàn)在的
Top