欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Quarkus云原生開篇java框架簡介

 更新時間:2022年02月23日 11:32:16   作者:kl  
Quarkus?是小紅帽開源的專門針對云容器環(huán)境優(yōu)化的云原生java框架,博主接下來的項目估計都會使用這個框架來開發(fā),相關(guān)的問題都會記錄在這個系列,本文是個開篇

前言

Quarkus 是小紅帽開源的專門針對云容器環(huán)境優(yōu)化的云原生java框架,目前已迭代到1.6.0版本,已完成了大部分的框架庫的集成擴展,為了讓你低成本遷移到Quarkus來,它兼容主流的框架開發(fā)模式api,如spring web。

Quarkus已具備企業(yè)級應(yīng)用開發(fā)能力。而且未來容器云肯定是主流了,可以預(yù)見,未來的軟件都是運行在k8s這樣的容器集群里。而容器環(huán)境需要應(yīng)用具備啟動速度快,資源占用小,響應(yīng)時間短等特性,Quarkus就是順應(yīng)這種趨勢而生的。

github項目地址:https://github.com/quarkusio/quarkus

官網(wǎng)地址:https://quarkus.io/

下面是小紅帽官方對Quarkus的介紹:

什么是quarkus?

Quarkus 是一個為 Java 虛擬機(JVM)和原生編譯而設(shè)計的全堆棧 Kubernetes 原生 Java 框架,用于專門針對容器優(yōu)化 Java,并使其成為無服務(wù)器、云和 Kubernetes 環(huán)境的高效平臺。

Quarkus 可與常用 Java 標(biāo)準(zhǔn)、框架和庫協(xié)同工作,例如 Eclipse MicroProfile、Apache Kafka、RESTEasy(JAX-RS)、Hibernate ORM(JPA)、Spring、Infinispan、Camel 等。

 Quarkus 的依賴注入解決方案基于 CDI(上下文和依賴注入),且包含一個擴展框架來擴展功能并將其配置、引導(dǎo)并集成到您的應(yīng)用中。添加擴展就像添加依賴項一樣容易;或者,您可以使用 Quarkus 工具。此外,它還向 GraalVM(一種通用虛擬機,用于運行以多種語言(包括 Java 和 JavaScript)編寫的應(yīng)用)提供正確信息,以便對應(yīng)用進行原生編譯。

為什么用quarkus?

專為開發(fā)人員而設(shè)計

1、Quarkus 的設(shè)計從一開始就立足于簡單易用,其功能幾乎不需要配置即可正常使用。

2、開發(fā)人員可以為其應(yīng)用選擇所需的 Java 框架,而這些應(yīng)用可以在 JVM 模式下運行,也可以在原生模式下進行編譯和運行。 

3、為了方便開發(fā)人員的工作,Quarkus 還包含以下功能:

  • 實時編碼,旨在讓開發(fā)人員能夠即時檢查代碼更改的影響并快速進行故障排除
  • 帶有嵌入式托管事件總線的統(tǒng)一命令式和響應(yīng)式編程
  • 統(tǒng)一配置
  • 簡單的原生可執(zhí)行文件生成

容器優(yōu)先

無論是將應(yīng)用托管在公共云上還是內(nèi)部托管的 Kubernetes 集群中,快速啟動和低內(nèi)存消耗等特性對于降低總體主機成本來說都至關(guān)重要。

Quarkus 的開發(fā)遵從了容器優(yōu)先的原則,這意味著它已通過以下方式針對降低內(nèi)存使用和加快啟動時間進行了優(yōu)化:

  • 鼎力支持 Graal/SubstrateVM
  • 構(gòu)建時元數(shù)據(jù)處理
  • 減少反射的使用
  • 本機映像預(yù)啟動

因此,Quarkus 構(gòu)建的應(yīng)用其內(nèi)存消耗只有傳統(tǒng) Java 的 1/10,而且啟動時間更快(快了 300 倍),這些都大大降低了云資源的成本。 

命令式和響應(yīng)式代碼

1、在設(shè)計上,Quarkus 能夠在開發(fā)應(yīng)用時無縫地結(jié)合熟悉的命令式代碼和非阻塞、響應(yīng)式樣式。 這對于習(xí)慣使用命令式模型而不想切換風(fēng)格的 Java 開發(fā)人員以及使用云原生/響應(yīng)式方法的開發(fā)人員都非常有用。 Quarkus 開發(fā)模型可以適應(yīng)您正在開發(fā)的任何應(yīng)用。

2、對于在新的無服務(wù)器架構(gòu)、微服務(wù)、容器、Kubernetes、功能即服務(wù)(FaaS)和云環(huán)境中運行 Java 而言,Quarkus 堪稱是一個有效的解決方案,因為在創(chuàng)建它時就充分考慮了所有這些因素。 

結(jié)語

紅帽官方介紹的這些特性指標(biāo),除了Graal的native image沒體驗到外(windows環(huán)境支持不友好,折騰了很久都沒成功),基本上都體驗了一番,相比于spring boot,內(nèi)存確實占用的更少、啟動速度也更快了,但是沒有宣傳的快了300倍這么夸張。但是有一個特性是博主體驗后在也忘不掉的,Quarkus的實時編碼功能,無論你怎么改動你的程序,在下次請求到來時時,總能自動編譯加載到最新的代碼,而且速度非??欤惺懿坏街匦戮幾g的過程。就像開發(fā)php一樣的體驗。這種感覺很爽,大大的提升了開發(fā)效率。總而言之,java開發(fā)生態(tài)中,在spring boot大行其道下,Quarkus這些優(yōu)秀特性還是值得一試的。

以上就是Quarkus云原生開篇java框架簡介的詳細內(nèi)容,更多關(guān)于Quarkus云原生java框架的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用spring框架ResponseEntity實現(xiàn)文件下載

    使用spring框架ResponseEntity實現(xiàn)文件下載

    這篇文章主要介紹了使用spring框架ResponseEntity實現(xiàn)文件下載,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • springboot項目同時啟動web服務(wù)和grpc服務(wù)的方法

    springboot項目同時啟動web服務(wù)和grpc服務(wù)的方法

    本文主要介紹了springboot項目同時啟動web服務(wù)和grpc服務(wù)的方法,通過實際代碼示例展示了實現(xiàn),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • 詳解springboot熱啟動與熱部署

    詳解springboot熱啟動與熱部署

    本篇文章主要介紹了詳解springboot熱啟動與熱部署,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • XML Web 服務(wù) Eclipse實現(xiàn)sun-jaxws.xml文件的方法

    XML Web 服務(wù) Eclipse實現(xiàn)sun-jaxws.xml文件的方法

    在sun-jaxws.xml文件,可以配置endpoint、handler-chain等內(nèi)容,在這個文件中配置的內(nèi)容會覆蓋在Java代碼中使用注解屬性配置的的內(nèi)容,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2023-11-11
  • Day16基礎(chǔ)不牢地動山搖-Java基礎(chǔ)

    Day16基礎(chǔ)不牢地動山搖-Java基礎(chǔ)

    這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • Java 棧與隊列超詳細分析講解

    Java 棧與隊列超詳細分析講解

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)中的棧與隊列,在Java的時候,對于棧與隊列的應(yīng)用需要熟練的掌握,這樣才能夠確保Java學(xué)習(xí)時候能夠有扎實的基礎(chǔ)能力。本文小編就來詳細說說Java中的棧與隊列,需要的朋友可以參考一下
    2022-04-04
  • Java1.7全網(wǎng)最深入HashMap源碼解析

    Java1.7全網(wǎng)最深入HashMap源碼解析

    HashMap 是一個散列表,它存儲的內(nèi)容是鍵值對(key-value)映射。HashMap 實現(xiàn)了 Map 接口,根據(jù)鍵的 HashCode 值存儲數(shù)據(jù),具有很快的訪問速度,最多允許一條記錄的鍵為 nul
    2021-11-11
  • Java 字節(jié)數(shù)組(byte[])和整型(int)的相互轉(zhuǎn)換

    Java 字節(jié)數(shù)組(byte[])和整型(int)的相互轉(zhuǎn)換

    在Java編程中,有時需要將字節(jié)類型(byte)轉(zhuǎn)換為整數(shù)類型(int),或者反過來轉(zhuǎn)換,本文主要介紹了Java 字節(jié)數(shù)組(byte[])和整型(int)的相互轉(zhuǎn)換,感興趣的可以了解一下
    2023-12-12
  • SpringBoot中的FailureAnalyzer使用詳解

    SpringBoot中的FailureAnalyzer使用詳解

    這篇文章主要介紹了SpringBoot中的FailureAnalyzer使用詳解,Spring Boot的FailureAnalyzer是一個接口,它用于在Spring Boot應(yīng)用啟動失敗時提供有關(guān)錯誤的詳細信息,這對于開發(fā)者來說非常有用,因為它可以幫助我們快速識別問題并找到解決方案,需要的朋友可以參考下
    2023-12-12
  • 詳解Java集合類之Map篇

    詳解Java集合類之Map篇

    這篇文章主要為大家詳細介紹一下Java集合類中Map的用法,文中的示例代碼講解詳細,對我們學(xué)習(xí)Java有一定幫助,感興趣的可以了解一下
    2022-07-07

最新評論