1. gzyueqian
      13352868059

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

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

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

       

      編程IDE

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

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

       

      Jenkins

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

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

       

      Apache Tomcat

      有很多用Java編寫的web服務器,但其中最著名的可能是Apache Tomcat。當前版本(10?。崿F了Jakarta EE 10平臺規范的部分內容。很難相信,但它從1999年就已經上市了。

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

       

      GraalVM

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

       

      SonarQube

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

       

      KeyCloak

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

       

      ElasticLogstash堆棧(不含Kibana

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

      l Elastic搜索-搜索引擎

      Logstash-攝入管道

      Kibana-可視化工具

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

       

      Apache Cassandra

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

       

      Neo4j

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

       

      Apache Kafka

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

       

      Apache ActiveMQ

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

       

      結論

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

      免費預約試聽課

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

      
      

      1. 伊人久久婷婷综合五月97色 | 亚洲色婷婷一区二区 | 内精品伊人久久久久AV影院 | 欧洲亚洲国产精品 | 久久精品国产字幕高潮 | 亚洲天堂在线免费观看 |