1. gzyueqian
      13352868059

      哪些編程工具是用Java寫的?

      更新時間: 2024-07-15 11:49:26來源: 粵嵌教育瀏覽量:1355

      Java是最流行的編程語言之一。Java平臺被用來實現(xiàn)現(xiàn)代IT系統(tǒng)中使用的各種工具和組件。我們來討論幾個最受歡迎的。

       

      編程IDE

      IntelliJ IDEAEclipseNetBeans——最流行的Java編程IDE大多是用Java語言編寫的,這并不奇怪。由于Java虛擬機(JVM),它們不需要100%JavaJetBrainsKotlin上投入了大量資金,因此它的IDE利用了Kotlin,并且是用兩種語言編寫的。在大多數(shù)情況下,IDE是桌面應(yīng)用程序,因此它們受益于Java運行時環(huán)境可以在各種平臺上運行的事實——WindowsLinuxMacOS。現(xiàn)代解決方案相當(dāng)復(fù)雜,它們提供與各種框架和庫的集成,使編程更容易。如今,它們甚至可以與類似AI的助手集成。

      截至目前,所有IDE都在努力提供Java 21功能支持,但尚未完成。

       

      Jenkins

      Jenkins是最著名的開源持續(xù)集成工具之一。最初以Hudson的名字發(fā)布,后來因為與Oracle的沖突而分叉。Jenkins是用Java編寫的,但是也可以用來構(gòu)建用其他語言編寫的項目。它是相當(dāng)模塊化的,并且由于插件,可以與GoRubyPython和其他類型的項目一起工作。

      2018年,Jenkins X發(fā)布,將Jenkins的功能擴展到Kubernetes平臺。它可以在上面運行,也可以構(gòu)建應(yīng)用程序并將其部署到k8s中。Jenkins X是圍繞GitOps構(gòu)建的,支持各種秘密管理器。更重要的是,它可以用于MLops

       

      Apache Tomcat

      有很多用Java編寫的web服務(wù)器,但其中最著名的可能是Apache Tomcat。當(dāng)前版本(10!)實現(xiàn)了Jakarta EE 10平臺規(guī)范的部分內(nèi)容。很難相信,但它從1999年就已經(jīng)上市了。

      有趣的是,Apache TomEE基于Tomcat,但添加了其他組件,使其完全通過了Jakarta EE 9.1 Web Profile認(rèn)證(以前是Java EE)。Tomcat也被各種流行的Java框架所利用,如Spring Boot

       

      GraalVM

      如果我們采用JDK并用Java而不是C重新實現(xiàn)它呢?這就是GraalVM。它包括JIT(實時)編譯器,也包括本機映像技術(shù)。本機映像旨在通過提前(AOT)JVM應(yīng)用程序編譯成二進(jìn)制文件來改善其執(zhí)行。得益于此,它們啟動更快,不需要JVM相關(guān)的預(yù)熱,并且使用更少的資源。然而,也有一些缺點——并非所有的特性都可用(例如,java代理)JIT(實時)編譯器通常比AOT更好(因為它可以處理運行時數(shù)據(jù)而不是編譯時),并且一些庫不工作。

       

      SonarQube

      SonarQube對詹金斯來說是個不錯的補充。他們很好地融合在一起。Sonar是一個用于靜態(tài)代碼分析和各種代碼質(zhì)量相關(guān)指標(biāo)的工具。它是一個獨立的應(yīng)用程序,但可以與各種構(gòu)建和CI解決方案集成。它是用Java編寫的,但是它也支持許多其他非jvm編程語言。

       

      KeyCloak

      知道Auth0Firebase認(rèn)證AWS Cognito等解決方案嗎?KeyCloak是一個開源的身份和訪問管理系統(tǒng),可以在內(nèi)部部署。如果需要將Auth的項目集成,但無法選擇任何托管解決方案,那么它可能適合KeyCloak支持社交登錄、2FA和其他最重要的安全相關(guān)功能。

       

      ElasticLogstash堆棧(不含Kibana

      人們很容易認(rèn)為Elastic 堆棧(以前的ELK Stack)是一組Java編程工具。該堆棧包含3個主要工具

      l Elastic搜索-搜索引擎

      Logstash-攝入管道

      Kibana-可視化工具

      它們共同構(gòu)成了一個解決方案,例如,你可以從應(yīng)用程序中收集日志,對其進(jìn)行索引,在其中進(jìn)行搜索,并將結(jié)果可視化。但是,Kibana是用JavaScriptTypeScript編寫的,但其余部分都利用了JavaElasticsearch依賴于Apache Lucene,后者也基于Java

       

      Apache Cassandra

      Apache Cassandra是一個開源的NoSQL數(shù)據(jù)庫。它具有高度可伸縮性(可以在數(shù)十萬個節(jié)點上存儲數(shù)Pb的數(shù)據(jù)),并且沒有單點故障(SPOF)。它基于Java代碼。由于特定的數(shù)據(jù)模型及其有限的查詢能力,它不是最容易使用的數(shù)據(jù)庫,當(dāng)然也不適合所有的項目。

       

      Neo4j

      Neo4j也是一個開源的NoSQL數(shù)據(jù)庫。但是,和卡珊德拉完全不一樣。這是一個圖形數(shù)據(jù)庫,我們可以在其中存儲節(jié)點、邊及其屬性。如果你想對社交網(wǎng)絡(luò)中的朋友關(guān)系進(jìn)行建模,并查詢這些關(guān)系,那么Neo4j可能是一個不錯的選擇。如何查詢這樣的結(jié)構(gòu)?Neo4j使用Cypher查詢語言。

       

      Apache Kafka

      從數(shù)據(jù)庫開始,讓我們來看看消息代理。Apache Kafka近年來蓬勃發(fā)展。Kafka用于數(shù)據(jù)流和處理,也用于微服務(wù)通信。Kafka的核心是用Scala編寫的,但現(xiàn)在,其他一些部分是用Java實現(xiàn)的。除了Kafka可能對相關(guān)項目感興趣,如Kafka StreamsKafka ConnectSchema Registry

       

      Apache ActiveMQ

      ActiveMQ是一個比Kafka更古老的項目,它已經(jīng)存在了近20年,但仍在積極開發(fā)中。它支持Java消息服務(wù)(JMS)規(guī)范,支持多種協(xié)議(如AMQPSTOMPMQTT等)和集群模式。目前有兩種類型的ActiveMQ版本,經(jīng)典版本和名為Artemis下一代版本。有趣的是,Artemis是基于紅帽捐贈的HornetQ項目。ActiveMQ的下一個主要版本將基于此版本。

       

      結(jié)論

      Java編程語言在許多應(yīng)用程序和工具中使用。它在日常工作中幫助Java開發(fā)人員,但是基于它的產(chǎn)品可以用來部署web應(yīng)用程序、存儲數(shù)據(jù)或在系統(tǒng)之間交換消息。幾年過去了,但是市場上的Java情況是穩(wěn)定的,工具是成熟的,并且仍然在積極地工作。如果你正在考慮開始一個新項目,Java可能是一個不錯的選擇。

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 中文字幕无线码一区高清 | 亚洲午夜精品国产 | 香港三级日本三级人妇99 | 久久96固产视频 | 日本欧美麻豆精品 | 日韩欧美无限制视频一区 |