1. 程式人生 > >JAVA以及常用開源框架讀音發音和介紹

JAVA以及常用開源框架讀音發音和介紹

JAVA['dʒɑ:və]:任職於太陽微系統的詹姆斯·高斯林等人於1990年代初開發Java語言的雛形,最初被命名為Oak,目標設定在家用電器等小型系統的程式語言,應用在電視機電話鬧鐘烤麵包機等家用電器的控制和通訊。由於這些智慧化家電的市場需求沒有預期的高,Sun公司放棄了該項計劃。隨著1990年代網際網路的發展,Sun公司看見Oak在網際網路上應用的前景,於是改造了Oak,於1995年5月以Java的名稱正式釋出(在申請註冊商標時,發現Oak已經被人使用了,再想了一系列名字之後,最終,使用了提議者在喝一杯Java咖啡時無意提到的Java詞語)。Java伴隨著網際網路的迅猛發展而發展,逐漸成為重要的網路程式語言。當使用十六進位制編輯器開啟由Java原始碼編譯出的二進位制檔案(.class檔案)的話,最前面的32位將顯示為CA FE BA BE,即片語“CAFE BABE”(咖啡屋寶貝)。

Struts [st'rʌts]:在Java EEWeb應用發展的初期,除了使用Servlet技術以外,普遍是在JavaServer Pages(JSP)的原始碼中,採用HTMLJava程式碼混合的方式進行開發。因為這兩種方式不可避免的要把表現與業務邏輯程式碼混合在一起,都給前期開發與後期維護帶來巨大的複雜度。為了擺脫上述的約束與侷限,把業務邏輯程式碼從表現層中清晰的分離出來,2000年,Craig McClanahan採用了MVC的設計模式開發Struts。後來該框架產品一度被認為是最廣泛、最流行JAVA的WEB應用框架。2006年,WebWork與Struts的Java EE Web框架的團體,決定合作共同開發一個新的,整合了

WebWork與Struts優點,並且更加優雅、擴充套件性更強的框架,命名為“Struts 2”,原Struts的1.x版本產品稱為“Struts 1”。Struts專案並行提供與維護兩個主要版本的框架產品——Struts 1與Struts 2

Spring [sprɪŋ]:大名鼎鼎的開源框架,源起於Rod Johnson在2002年編著的《Expert one on one J2EE design and development》一書中,對Java EE 系統框架臃腫、低效、脫離現實的種種現狀提出了質疑,並積極尋求探索革新之道。Spring作為開源的中介軟體,獨立於各種應用伺服器,甚至無須應用伺服器的支援,也能提供應用伺服器的功能,如

宣告式事務、事務處理等。

Spring致力於J2EE應用的各層的解決方案,而不是僅僅專注於某一層的方案。可以說Spring是企業應用開發的“一站式”選擇,並貫穿表現層、業務層及持久層。然而,Spring並不想取代那些已有的框架,而是與它們無縫地整合。目前Spring預設指Spring framework.Spring家族還有Spring Boot,Spring cloud等、

Hibernate [ˈhaɪbərneɪt]:Hibernate是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,它將POJO與資料庫表建立對映關係,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程式使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成資料持久化的重任。

Mybatis [maɪ]['bətɪs](網上找不到MyBatis的音標,因為Mybaits源自Ibatis,Ibatis又源於“internet”和“abatis”的組合,故組合發音。):MyBatis 是一款優秀的持久層框架,它支援定製化 SQL、儲存過程以及高階對映。MyBatis 避免了幾乎所有的 JDBC 程式碼和手動設定引數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和對映原生資訊,將介面和 Java 的 POJOs(Plain Old Java Objects,普通的 Java物件)對映成資料庫中的記錄。

Elasticsearch [ɪˈlæstɪk] [sɝtʃ]:ElasticSearch是一個基於Lucene的搜尋伺服器。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。Elasticsearch是用Java開發的,並作為Apache許可條款下的開放原始碼釋出,是當前流行的企業級搜尋引擎。設計用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。

Logstache [lɔɡ] [stɑ:ʃ]或者[lɔɡ] [stæ:ʃ]:Logstash 是開源的伺服器端資料處理管道,一個接收,處理,轉發日誌的工具,支援系統日誌,webserver 日誌,錯誤日誌,應用日誌,總之包括所有可以丟擲來的日誌型別。能夠同時從多個來源採集資料,轉換資料,然後將資料傳送到您最喜歡的 “儲存庫” 中(我們的儲存庫當然是 Elasticsearch)。

Kibana [kɪbana]:是一個開源的分析和視覺化平臺,旨在與 Elasticsearch 合作。Kibana 提供搜尋、檢視和與儲存在 Elasticsearch 索引中的資料進行互動的功能。開發者或運維人員可以輕鬆地執行高階資料分析,並在各種圖表、表格和地圖中視覺化資料。

Dubbo [ˈdʌbəʊ] (名稱來源於 [地名] [澳大利亞] 達博):Dubbo是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分散式的需求,其實是不需要用的,只有在分散式的時候,才有dubbo這樣的分散式服務框架的需求,並且本質上是個服務呼叫的東東,說白了就是個遠端服務呼叫的分散式框架(告別Web Service模式中的WSdl,以服務者與消費者的方式在dubbo上註冊)。可以和Spring框架無縫整合。

Hadoop [hædu:p]這個名字不是一個縮寫,而是一個虛構的名字。該專案的建立者,Doug Cutting解釋Hadoop的得名 :“這個名字是我孩子給一個棕黃色的大象玩具命名的。我的命名標準就是簡短,容易發音和拼寫,沒有太多的意義,並且不會被用於別處。小孩子恰恰是這方面的高手。”

Eureka [jʊ'ri:kə]:Eureka是Netflix開發的服務發現框架,本身是一個基於REST的服務,主要用於定位執行在AWS域中的中間層服務,以達到負載均衡和中間層服務故障轉移的目的。SpringCloud將它整合在其子專案spring-cloud-netflix中,以實現SpringCloud的服務發現功能。可以與Springboot構建的微服務很容易的整合起來。

Maven [ˈmevən]:也就是“黴文”,而不是讀“馬文”。它是一個專案管理和綜合工具,Maven使用標準的目錄結構和預設構建生命週期。提供了開發人員構建一個完整的生命週期框架,開發團隊可以自動完成該專案的基礎設施建設。什麼是 Maven,你只需要知道這玩意能簡化和標準化專案建設過程。

Gradle [ɡredl]:有了maven,當然要說說另外一個構建工具Gradle。它是一個基於JVM的構建工具,是一款通用靈活的構建工具,支援maven, Ivy倉庫,支援傳遞性依賴管理,而不需要遠端倉庫或者是pom.xml和ivy.xml配置檔案,基於Groovy,build指令碼使用Groovy編寫。

Groovy [ˈɡruvi]: 是一種基於JVMJava虛擬機器)的敏捷開發語言,它結合了PythonRubySmalltalk的許多強大的特性,Groovy 程式碼能夠與 Java 程式碼很好地結合,也能用於擴充套件現有程式碼。由於其執行在 JVM 上的特性,Groovy 可以使用其他 Java 語言編寫的庫。

Tomcat [ˈtɑ:mkæt]:是Apache 軟體基金會(Apache Software Foundation)的Jakarta 專案中的一個核心專案,由Apache、Sun 和其他一些公司及個人共同開發而成。由於有了Sun 的參與和支援,最新的Servlet 和JSP 規範總是能在Tomcat 中得到體現,Tomcat 5支援最新的Servlet 2.4 和JSP 2.0 規範。因為Tomcat 技術先進、效能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟體開發商的認可,成為目前比較流行的Web 應用伺服器。

Jetty [ˈdʒɛti]:是一個開源的servlet容器,它為基於Java的web容器,例如JSP和servlet提供執行環境。Jetty是使用Java語言編寫的,它的API以一組JAR包的形式釋出。開發人員可以將Jetty容器例項化成一個物件,可以迅速為一些獨立執行(stand-alone)的Java應用提供網路和web連線。

Ant [ænt]:是Apache軟體基金會JAKARTA目錄中的一個子專案,它有以下的優點。跨平臺性。Ant是純Java語言編寫的,所以具有很好的跨平臺性。操作簡單。Ant是由一個內建任務和可選任務組成的。Ant執行時需要一個XML檔案(構建檔案)。 Ant通過呼叫target樹,就可以執行各種task。每個task實現了特定介面物件。由於Ant構建檔案 是XML格式的檔案,所以很容易維護和書寫,而且結構很清晰。Ant可以整合到開發環境中。由於Ant的跨平臺性和操作簡單的特點,它很容易整合到一些開發環 境中去。

Jakarta [dʒəˈkɑrtə]: 開放原始碼開發專案,受到來自IBM等公司在財力和技術上的鼎力支援。和印度尼西亞首都雅加達的英文名一致哦。