JVMJava虛擬機 Java Vitual Machine,整個Java實現跨平臺的最核心的部分,所有的java程序會首先被編譯為.class的類文件,這種類文件可以在虛擬機上執行。也就是說class並不直接與機器的作業系統相對應,而是經過虛擬機間接與作業系統交互,由虛擬機將程序解釋給本地系統執行。
API應用程式編程接口 Application Programming Interface,是一些預先定義的函數,目的是提供應用程式與開發人員基於某軟體或硬體得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。
IDE 集成開發環境 itegrity development environmental,比如eclipse,idea。
SDK軟體開發工具包 Software Development Kit,最熟悉的就是JDK。
JDKJava軟體開發工具包 Java development toolkit,包含了Java的運行環境(JRE)和Java工具(javac/java/jdb等)和Java基礎的類庫(即Java API 包括rt.jar)。
JREJava Runtime Environment,Java運行環境,其包含JVM和Java運行時類庫。
Java語言根據不同的使用方向分為三個版本。
JavaSE(J2SE)標準版 Standard Edition,主要用於桌面應用軟體的編程。
JavaME(J2ME)微縮版 Micro Edition,主要應用於嵌入式系統開發,如手機和PDA的編程。
JakartaEEJakartaEE作為第三版本,javaEE-第二版本,J2EE-第一版本,企業版 Enterprise,主要用於分布式的網絡程序的開發,如電子商務網站和ERP系統。
J2EE主要包括以下這些技術: 1、 Servlet(一種CGI) 2、JSP 3、EJB 4、JDBC
1、 Servlet(CGI)
通用網關接口Common Gateway Interface/CGI,是一種重要的網際網路技術,可以讓一個客戶端,從網頁瀏覽器向執行在網絡伺服器上的程序請求數據。CGI描述了伺服器和請求處理程序之間傳輸數據的一種標準。
2、JSP
Java Server Page,一種實現普通靜態HTML和動態頁面輸出混合編碼的技術。本質上仍是servlet, 。在運行時態,JSP將會被首先轉換成Servlet,並以Servlet的形態編譯運行,因此它的效率和功能與Servlet相比沒有差別,一樣具有很高的效率。
3、EJB
Enterprise Beans, 企業級JavaBean,定義了一組可重用的組件:Enterprise Beans。開發人員可以利用這些組件,像搭積木一樣建立分布式應用。
4、JDBC
Java DataBase Connectivity,java資料庫連接,用於Java應用程式連接資料庫的標準方法。JDBC對Java程式設計師而言是API,對實現與資料庫連接的服務提供商而言是接口模型。作為API,JDBC為程序開發提供標準的接口(加載驅動),並為資料庫廠商及第三方中間件廠商實現與資料庫的連接提供了標準方法。
JSTLJSP Standard Tag Library,JSP標準標籤庫,是一個不斷完善的開放原始碼的JSP標籤庫,主要是簡化JSP和WEB應用程式。
MVCModel View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫。
OOPObject Oriented Programming,面向對象編程。
AOPAspect Oriented Programming,面向切面編程。
IOCInversion of Control,控制反轉,又名依賴注入(Dependency Injection)。簡稱DI。簡單理解就是將獲取依賴對象的控制權交給IOC容器(this類中(對象)不再主動去new依賴對象,只是被動地接受)。
DTOData Transfer Object,數據傳輸對象,用於數據的遠程調用方面。
DAOData Access Object ,數據訪問接口,又名持久層,是sun的一個標準j2ee設計模式,這個模式中有個接口就是DAO,它負責持久層的操作,為業務層提供接口數據訪問:顧名思義就是與資料庫打交道。夾在業務邏輯與資料庫資源中間。
XMLExtensible Markup Language,可擴展標記語言,是對超文本標記語言(HTML)的補充。
SQL結構化查詢語言 Structured Query Language。SQL語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關係資料庫系統;同時也是資料庫腳本文件的擴展名。分為以下四類:
1、DDL
Date Definition Language,數據定義語言,用來創建資料庫中的各種對象、表、視圖。
2、DQL
Date Query Language,數據查詢語言,基本結構是由SELECT子句,FROM子句,WHERE子句組成的查詢塊。
3、DML
Date Manipulation Language,數據操縱語言,對表中數據的修改、插入、刪除。
4、DCL
Date Control Language ,數據控制語言,用來設置或更改資料庫用戶或角色權限的語句,包括(grant,deny,revoke等)語句。在默認狀態下,只有 DBA等人員才有權力執行DCL。
容器:充當中間件的角色。
WEB容器給處於其中的應用程式組件(JSP,SERVLET)提供一個環境,使JSP,SERVLET直接與容器中的環境變量接口交互,主要由WEB伺服器來實現。例如TOMCAT,WEBLOGIC,WEBSPHERE等。該容器提供的接口嚴格遵守J2EE規範中的WEB APPLICATION 標準。我們把遵守以上標準的WEB伺服器就叫做J2EE中的WEB容器。
EJB容器Enterprise java bean容器,更具有行業領域特色。他提供給運行在其中的組件EJB各種管理功能。只要滿足J2EE規範的EJB放入該容器,馬上就會被容器進行高效率的管理。並且可以通過現成的接口來獲得系統級別的服務。例如郵件服務、事務管理。
WEB容器和EJB容器在原理上是大體相同的,更多的區別是被隔離的外界環境。WEB容器更多的是跟基於HTTP的請求打交道。而EJB容器不是。它是更多的跟資料庫、其它服務打交道。但他們都是把與外界的交互實現從而減輕應用程式的負擔。例如SERVLET不用關心HTTP的細節,直接引用環境變量session,request,response就行、EJB不用關心資料庫連接速度、各種事務控制,直接由容器來完成。
RMI/IIOP遠程方法調用internet對象請求中介協議,他們主要用於通過遠程調用服務。例如,遠程有一臺計算機上運行一個程序,它提供股票分析服務,我們可以在本地計算機上實現對其直接調用。當然這是要通過一定的規範才能在異構的系統之間進行通信。RMI是JAVA特有的。
JNDIJAVA命名目錄服務。主要提供的功能是:提供一個目錄系統,讓其它各地的應用程式在其上面留下自己的索引,從而滿足快速查找和定位分布式應用程式的功能。
JMSJAVA消息服務。主要實現各個應用程式之間的通訊。包括點對點和廣播。
JAVAMAILJAVA郵件服務。提供郵件的存儲、傳輸功能。他是編程中實現郵件功能的核心。相當MS中的EXCHANGE開發包。
JTAJAVA事務服務。提供各種分布式事務服務。應用程式只需調用其提供的接口即可。
JAASJAVA安全認證框架。提供一些安全控制方面的框架。讓開發者通過各種部署和自定義實現自己的個性安全控制策略。
EAI企業應用集成。是一種概念,從而牽涉到好多技術。J2EE技術是一種很好的集成實現。
EP設備提供商, 什麼情況會遇到呢,就是例如你有款遊戲,想和手機廠商合作,什麼中興、華為、聯想、oppo、金立、等手機廠商合作,他們就稱是EP。
AP應用提供商,其實他們就是CP,基本上都是運營商才會在自己後臺這樣稱呼自己。
SP服務提供商,SP是不可缺少的一環。好的內容和應用是啟動市場的關鍵。SP是移動網際網路服務提供商,什麼情況會使用到他們呢,例如國內的山寨機,之前一大堆做SP起家的公司,也就是大家熟悉的暗扣,遊戲內置一個付費產品,用戶點擊付費,通過移動服務端收取話費費用。
CP內容提供商,在遊戲行業,CP是最經常出現的,就是遊戲的原始製作者,他們會把遊戲給其他公司代理,然後代理公司幫他們推,以6/4 或者7/3等等的形式分成,CP只需提供內容,也就是整個遊戲除了推廣之外,CP都需要提供,包括遊戲截圖、遊戲簡介等等。
POPersistant object,持久對象:在o/r 映射的時候出現的概念,如果沒有o/r映射,就沒有這個概念存在了.通常對應數據模型(資料庫),本身還有部分業務邏輯的處理.可以看成是與資料庫中的表相映射的java對象.最簡單的PO就是對應資料庫中某個表中的一條記錄,多個記錄可以用PO的集合.PO中應該不包含任何對資料庫的操作。
VOValue object,值對象:通常用於業務層之間的數據傳遞,和PO一樣也是僅僅包含數據而已.但應是抽象出的業務對象,可以和表對應,也可以不,這根據業務的需要.個人覺得同DTO(數據傳輸對象),在web上傳遞。
BOBusiness object,業務對象:從業務模型的角度看,見UML元件領域模型中的領域對象.封裝業務邏輯的java對象,通過調用DAO方法,結合PO,VO進行業務操作。
POJOPlain ordinary java object,簡單無規則java對象:純的傳統意義的java對象.就是說在一些Object/Relation Mapping工具中,能夠做到維護資料庫表記錄的persisent object完全是一個符合Java Bean規範的純Java對象,沒有增加別的屬性和方法.我的理解就是最基本的Java Bean,只有屬性欄位及setter和getter方法。
DTO Data Transfer Object,數據傳輸對象:主要用於遠程調用等需要大量傳輸對象的地方。比如我們一張表有100個欄位,那麼對應的PO就有100個屬性。
O/R Mapper 對象/關係映射:定義好所有的mapping之後,這個O/R Mapper可以幫我們做很多的工作.通過這些mappings,這個O/R Mapper可以生成所有的關於對象保存,刪除,讀取的SQL語句,我們不再需要寫那麼多行的DAL代碼了。
BOFBusiness Object Framework,業務對象框架。
SOAService Orient Architecture,面向服務的設計