1. 程式人生 > >java常用名詞或技術

java常用名詞或技術

一、javaee輕量級框架

1、Struts

Apache軟體基金會(ASF)贊助的一個開源專案。它最初是Jakarta專案中的一個子專案

struts流程

struts流程

,並在2004年3月成為ASF的頂級專案。它通過採用JavaServlet/JSP技術,實現了基於Java EEWeb應用的MVC設計模式的應用框架,是MVC經典設計模式中的一個經典產品

2、Struts 2

是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合併的全新的Struts 2框架。其全新的Struts 2的體系結構與Struts 1的體系結構差別巨大。Struts 2以WebWork為核心

,採用攔截器的機制來處理使用者的請求,這樣的設計也使得業務邏輯控制器能夠與ServletAPI完全脫離開,所以Struts 2可以理解為WebWork的更新產品。雖然從Struts 1到Struts 2有著太大的變化,但是相對於WebWork,Struts 2的變化很小。

是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程式使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的

J2EE架構中取代CMP,完成資料持久化的重任。

4、MyBatis

是支援普通 SQL查詢,儲存過程和高階對映的優秀持久層框架。MyBatis 消除了幾乎所有的JDBC程式碼和引數的手工設定以及結果集的檢索。MyBatis 使用簡單的 XML或註解用於配置和原始對映,將介面和 Java 的POJOs(Plain Old Java Objects,普通的 Java物件)對映成資料庫中的記錄。 每個MyBatis應用程式主要都是使用SqlSessionFactory例項的,一個SqlSessionFactory例項可以通過SqlSessionFactoryBuilder獲得。SqlSessionFactoryBuilder可以從一個xml配置檔案或者一個預定義的配置類的例項獲得。 用xml檔案構建SqlSessionFactory例項是非常簡單的事情。推薦在這個配置中使用類
路徑
資源(classpath resource),但你可以使用任何Reader例項,包括用檔案路徑或file://開頭的url建立的例項。MyBatis有一個實用類----Resources,它有很多方法,可以方便地從類路徑及其它位置載入資源。

5、Spring

表示是一個開源框架,是為了解決企業應用程式開發複雜性由Rod Johnson建立的。框架的主要優勢之一就是其分層架構,分層架構允許使用者選擇使用哪一個元件,同時為J2EE應用程式開發提供整合的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限於伺服器端的開發。從簡單性、可測試性和鬆耦合的角度而言,任何Java應用都可以從Spring中受益。

二、伺服器

1、Nginx

(發音同 engine x)是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,並在一個BSD-like 協議下發行。由俄羅斯的程式設計師Igor Sysoev所開發,供俄國大型的入口網站及搜尋引擎Rambler(俄文:Рамблер)使用。其特點是佔有記憶體少,併發能力強,事實上nginx的併發能力確實在同類型的網頁伺服器中表現較好,中國大陸使用nginx網站使用者有:新浪網易騰訊等。

2、WebLogic

美國Oracle公司出品的一個application server確切的說是一個基於JAVAEE架構的中介軟體,BEA WebLogic是用於開發、整合、部署和管理大型分散式Web應用、網路應用和資料庫應用的Java應用伺服器。將Java的動態功能和Java Enterprise標準的安全性引入大型網路應用的開發、整合、部署和管理之中。

3、Tomcat 伺服器

是一個免費的開放原始碼的Web 應用伺服器,屬於輕量級應用伺服器,在中小型系統和併發訪問使用者不是很多的場合下被普遍使用,是開發和除錯JSP 程式的首選。對於一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 伺服器,可利用它響應HTML標準通用標記語言下的一個應用。)頁面的訪問請求。實際上Tomcat 部分是Apache 伺服器的擴充套件,但它是獨立執行的,所以當你執行tomcat 時,它實際上作為一個與Apache 獨立的程序單獨執行的。

三、資料庫

1、MySQL

是一個關係型資料庫管理系統由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL是最流行的關係型資料庫管理系統,在WEB應用方面MySQL是最好的RDBMS(Relational Database Management System:關係資料庫管理系統)應用軟體之一。MySQL是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。MySQL所使用的SQL語言是用於訪問資料庫的最常用標準化語言。MySQL軟體採用了雙授權政策(本詞條“授權政策”),它分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型網站的開發都選擇MySQL作為網站資料庫。由於其社群版的效能卓越,搭配PHPApache可組成良好的開發環境。

2、Oracle

ORACLE資料庫系統是美國ORACLE公司(甲骨文)提供的以分散式資料庫為核心的一組軟體產品,是目前最流行的客戶/伺服器(CLIENT/SERVER)或B/S體系結構的資料庫之一。比如SilverStream就是基於資料庫的一種中介軟體。ORACLE資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完整的資料管理功能;作為一個關係資料庫,它是一個完備關係的產品;作為分散式資料庫它實現了分散式處理功能。但它的所有知識,只要在一種機型上學習了ORACLE知識,便能在各種型別的機器上使用它。 Oracle資料庫最新版本為Oracle Database 12c。Oracle資料庫12c 引入了一個新的多承租方架構,使用該架構可輕鬆部署和管理資料庫雲。此外,一些創新特性可最大限度地提高資源使用率和靈活性,如Oracle Multitenant可快速整合多個數據庫,而Automatic Data Optimization和Heat Map能以更高的密度壓縮資料和對資料分層。這些獨一無二的技術進步再加上在可用性、安全性和大資料支援方面的主要增強,使得Oracle資料庫12c 成為私有云和公有云部署的理想平臺。

3、SqlServer

SQL Server是由Microsoft開發和推廣的關係資料庫管理系統(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發的,並於1988年推出了第一個OS/2版本。Microsoft SQL Server近年來不斷更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和使用者見面;SQL Server 2000是Microsoft公司於2000年推出,目前最新版本是2012年3月份推出的SQL SERVER 2012。

4、DB2

IBM公司研製的一種關係型資料庫系統。DB2主要應用於大型應用系統,具有較好的可伸縮性,可支援從大型機到單使用者環境,應用於OS/2Windows等平臺下。 DB2提供了高層次的資料利用性、完整性、安全性、可恢復性,以及小規模到大規模應用程式的執行能力,具有與平臺無關的基本功能和SQL命令。DB2採用了資料分級技術,能夠使大型機資料很方便地下載到LAN資料庫伺服器,使得客戶機/伺服器使用者和基於LAN的應用程式可以訪問大型機資料,並使資料庫本地化及遠端連線透明化。 它以擁有一個非常完備的查詢優化器而著稱,其外部連線改善了查詢效能,並支援多工並行查詢。 DB2具有很好的網路支援能力,每個子系統可以連線十幾萬個分散式使用者,可同時啟用上千個活動執行緒,對大型分散式應用系統尤為適用。

5、MongoDB

一個基於分散式檔案儲存的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充套件的高效能資料儲存解決方案。 mongoDB

mongoDB[1]

MongoDB[2]是一個介於關係資料庫和非關係資料庫之間的產品,是非關係資料庫當中功能最豐富,最像關係資料庫的。他支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料型別。Mongo最大的特點是他支援的查詢語言非常強大,其語法有點類似於面向物件的查詢語言,幾乎可以實現類似關係資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引

四、其他

1、AngularJS

誕生於Google,是一款優秀的前端JS框架,已經被用於Google的多款產品當中。AngularJS有著諸多特性,最為核心的是:MVC、模組化、自動化雙向資料繫結、語義化標籤、依賴注入,等等。

2、OSGi

服務平臺提供在多種網路裝置上無需重啟的動態改變構造的功能。為了最小化耦合度和促使這些耦合度可管理,OSGi技術提供一種面向服務的架構,它能使這些元件動態地發現對方。OSGi聯 OSGI

OSGI

盟已經開發了為例如像HTTP伺服器、配置、日誌、安全、使用者管理、XML等很多公共功能標準組件介面。這些元件的相容性外掛實現可以從進行了不同優化和使用代價的不同計算機服務提供商得到。然而,服務介面能夠基於專有權基礎上開發。 因為OSGi技術為整合提供了預建立和預測試的元件子系統,所以OSGi技術使你從改善產品上市時間和降低開發成本上獲益。因為這些元件能夠動態釋出到裝置上,所以OSGi技術也能降低維護成本和擁有獨一無二的新的配件市場機會。[1]

3、WebWork

是建立在稱為XWork的Command模式框架之上的強大的基於Web的MVC框架。[1] 如下示意圖所示: work簡潔、靈活功能強大,它是一個標準的Command模式框架實現,並且完全從web層脫離出來。Xwork提供了很多核心功能:前端攔截機(interceptor),執行時表單屬性驗證,型別轉換,強大的表示式語言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control依賴倒轉控制)容器等。 WebWork2建立在Xwork之上,處理HTTP的請求和響應。所有的請求都會被它的前端控制器(ServletDispatcher,最新版本是FilterDispatcher)截獲。前端控制器對請求的資料進行包裝,初始化上下文資料,根據配置檔案查詢請求URL對應的Action類,執行Action,將執行結果轉發到相應的展現頁面。WebWork2支援多視圖表示,檢視部分可以使用JSP,Velocity,FreeMarker,JasperReports,XML等。

4、CKEditor(FCKeditor )

相容於絕大部分的網頁瀏覽器,像是 :Internet Explorer 5.5+(Windows)、Mozilla Firefox 1.0+、Mozilla 1.3+ 和Netscape 7+。在未來的版本也將會加入對Opera的支援。 FckEditor更名CKEditor 著名的開源網頁編輯軟體FCKEditor在09年釋出更新到3.0,並改名為CKEditor。原來叫FCK,是因為最初的開發者叫Frederico Calderia Knabben;現在叫CK,意指"Content and Knowledge"。新版的編輯器的更新包括:新的使用者介面,一個支援Plug-in的Javascript API,並提供對視覺障礙者的使用支援。" 據官方的解釋,CK是對FCK的程式碼的完全重寫,而且此項工作從2007年就開始了,並在今年初發表了多個測試版。至此,為大家服務長達6年的FCKeditor將被CKeditor替代。

5、HSQLDB

HSQLDB是一個開放原始碼的JAVA資料庫,其具有標準的SQL語法和JAVA介面,它可以自由使用和分發,非常簡潔和快速的。具有Server模式,每個程式需要不同的命令來執行。

6、JOnAS

JOnAS是一個開放原始碼的J2EE實現,在ObjectWeb協會中開發。整合了Tomcat或Jetty成為它的Web容器,以確保符合Servlet 2.3和JSP 1.2規範。JOnAS伺服器依賴或實現以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。

7、WebSphere

是 IBM 的軟體平臺。它包含了編寫、執行和監視全天候的工業強度的隨需應變 Web應用程式和跨平臺、跨產品解決方案所需要的整個中介軟體基礎設施,如伺服器、服務和工具。WebSphere 提供了可靠、靈活和健壯的軟體

8、IDEA

全稱 IntelliJ IDEA,是java語言開發的整合環境,IntelliJ在業界被公認為最好的java開發工具之一,尤其在智慧程式碼助手、程式碼自動提示、重構、J2EE支援、Ant、JUnit、CVS整合、程式碼審查、 創新的GUI設計等方面的功能可以說是超常的。IDEA是JetBrains公司的產品,這家公司總部位於捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程式設計師為主。
ideaIU和ideaIC分別是免費和商務的。

9、JPA

由EJB 3.0軟體專家組開發,作為JSR-220實現的一部分。但它不囿於EJB 3.0,你可以在Web應用、甚至桌面應用中使用。JPA的宗旨是為POJO提供持久化標準規範,由此可見,經過這幾年的實踐探索,能夠脫離容器獨立執行,方便開發和測試的理念已經深入人心了。Hibernate3.2、TopLink 10.1.3以及OpenJPA都提供了JPA的實現。

JPA的總體思想和現有Hibernate、TopLink、JDO等ORM框架大體一致。總的來說,JPA包括以下3方面的技術:

ORM對映元資料

JPA支援XML和JDK5.0註解兩種元資料的形式,元資料描述物件和表之間的對映關係,框架據此將實體物件持久化到資料庫表中;

API

用來操作實體物件,執行CRUD操作,框架在後臺替我們完成所有的事情,開發者從繁瑣的JDBC和SQL程式碼中解脫出來。

查詢語言

這是持久化操作中很重要的一個方面,通過面向物件而非面向資料庫的查詢語言查詢資料,避免程式的SQL語句緊密耦合。

10、Jquery

Jquery是繼prototype之後又一個優秀的Javascript框架。它是輕量級的js庫 ,它相容CSS3,還相容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及後續版本將不再支援IE6/7/8瀏覽器。jQuery使使用者能更方便地處理HTML標準通用標記語言下的一個應用)、events、實現動畫效果,並且方便地為網站提供AJAX互動。jQuery還有一個比較大的優勢是,它的文件說明很全,而且各種應用也說得很詳細,同時還有許多成熟的外掛可供選擇。jQuery能夠使使用者的html頁面保持程式碼和html內容分離,也就是說,不用再在html裡面插入一堆js來呼叫命令了,只需定義id即可。

11、JSF

JavaServer Faces (JSF) 是一種用於構建Java Web 應用程式的標準框架(是Java Community Process 規定的JSR-127標準)。它提供了一種以元件為中心的使用者介面(UI)構建方法,從而簡化了Java伺服器端應用程式的開發。由於由Java Community Process (JCP) 推動,屬於Java EE 5中的技術規範,而受到了廠商的廣泛支援。

JSF 的主要優勢之一就是它既是 Java Web 應用程式的使用者介面標準又是嚴格遵循模型-檢視-控制器 (MVC) 設計模式的框架。使用者介面程式碼(檢視)與應用程式資料和邏輯(模型)的清晰分離使 JSF 應用程式更易於管理。為了準備提供頁面對應用程式資料訪問的 JSF 上下文和防止對頁面未授權或不正確的訪問,所有與應用程式的使用者互動均由一個前端FacesServlet(控制器)來處理。