Java架構師 - 基礎篇(持續更新中)
Java架構師-基礎篇
想成為一名Java架構師,以下概念是基礎中的基礎。(持續補充中)
1. JAVA SE, EE, ME
1998年12月份Sun公司公佈的Java 1.2版本,同時將它的名字改稱為“Java 2軟體開發工具箱1.2”。它的後續版本也通常被稱為“Java 2標準版”(J2SE)。在J2SE的推出的同時,還推出了“Java 2微縮版”(J2ME)和“Java 2企業版”(J2EE)。
- J2SE為建立和執行Java程式提供最基本環境,是Java技術的核心和基礎。
- J2EE為基於伺服器的分散式企業應用提供開發和執行環境,是目前Java技術應用最廣泛的部分。J2EE不僅繼承了J2SE中的許多優點,同時還提供了對EJB、JSP、Servlet以及XML技術的全面支援,降低了企業級開發的複雜度。
- J2ME為嵌入式應用提供開發和執行環境,例如手機程式和PDA程式等
2. PetStore程式碼例項
PetStore 是 SUN 公司推出的一個寵物商店的系統,其唯一的目的不是讓你賣寵物,而是學習 J2EE 最新版本的特性的一個絕好例子。也有不少語言推出相應版本的寵物商店。
Petstore 的 J2EE 設計模式和元件框架思想是最值得學習的兩種技術,在 PetStore 中,真正有關寵物這個具體應用相關的程式碼很少,整個寵物店是構架在一系列可重用的 EJB 元件上,這種架構思想值得借鑑。
3. J2EE有什麼用?
- J2EE用來建設大型的分散式企業級應用程式。或者用更時髦的名詞說就是“電子商務”應用程式。這些企業可能大到擁有中心資料庫伺服器,Web伺服器叢集和遍佈全國的辦公終端,也可能小到只不過想做一個網站。
4. 什麼是Servlet?
- 一個Servlet是一個Java類。它處理Http(s)請求並作出響應,包括返回一個HTML頁面或轉交給其他URL處理又或是返回Json串。
- Servlet必須執行在一個Web Container例如Tomcat中。
- Servlet必須是javax.servlet.http.HttpServlet的子類,
- 你可以繼承doGet()或者doPost()方法,兩者分別對應於Http(s)中的Get請求和Post請求。
5. 什麼是Java Bean, EJB, POJO, PO, VO DTO?
Java Bean: 其實就是遵守一定規範的類(物件),這些規範是:
- 所有屬性為private
- 提供預設構造方法
- 提供getter和setter
- 實現介面 java.io.Serializable介面;
- 這個類需要能支援“事件”, 例如addXXXXListener(XXXEvent e), 事件可以是Click事件,Keyboard事件等等, 當然我們們也支援自定義的事件。
EJB: 在實際企業開發中,需要實現事務,安全,分散式,javabean就不好用了.SUN公司就開始往上面堆功能,這裡java bean就複雜為EJB;
EJB功能強大,但是太重了.此時出現DI(依賴注入),AOP(面向切面)技術,通過簡單的java bean也能完成EJB的事情,這裡的java bean簡化為POJO(plain old Java Object);DI和Ioc(控制反轉)是一個概念,是由Spring框架產生的技術。
對於一個Bean 來說,如果你依賴別的Bean , 只需要宣告即可, spring 容器負責把依賴的bean 給“注入進去“, 起初大家稱之為控制反轉(IoC)
後來 Martin flower 給這種方式起來個更好的名字,叫“依賴注入”。
如果一個Bean 需要一些像事務,日誌,安全這樣的通用的服務, 也是隻需要宣告即可, spring 容器在執行時能夠動態的“織入”這些服務, 這叫AOP。
PO(persistence object):用於持久化時(例如儲存到資料庫或者快取);
VO(value object):用於前端展示使用(例如放置到JSP中解析或者給前端傳遞資料);
DTO(data transfer object):用於介面互相呼叫返回,資料傳輸(例如很多介面呼叫返回值或訊息佇列內容);
相關文章
- Java基礎異常整理(持續更新)Java
- 細說IOS工程架構(持續更新)iOS架構
- JAVA系列合集(持續更新中)Java
- 【Java面試題系列】:Java基礎知識面試題,看這一篇就夠了(持續更新)Java面試題
- 框架的基礎使用 (持續更新給自己看)框架
- 前端工程師面試必備(持續更新中)前端工程師面試
- git使用、持續更新中Git
- 學習 Laravel —— 前端篇(持續更新)Laravel前端
- 考研失敗,準備零基礎學Java混口吃的(持續更新)Java
- Go基礎知識-03 strings strconv(持續更新)Go
- Objective -C基礎知識點整理筆記持續更新......Object筆記
- 《SpringBoot 基礎架構師》Spring Boot架構
- Java 學習筆記(持續更新)Java筆記
- 高階前端工程師面試必備(持續更新中)前端工程師面試
- Go基礎知識-01 關鍵字,go檔案的基本結構(持續更新)Go
- 持續測試企業架構架構
- Java基礎知識(牛客刷題)記錄..(持續輸出中)Java
- OPA 重新定義規則引擎-入門篇 (持續更新中)
- Java架構師面試題全集:Java基礎+技術框架+系統架構+分散式系統Java架構面試題框架分散式
- Spring面試題(持續更新中)Spring面試題
- CSS效果集錦(持續更新中)CSS
- Ant Design Pro 框架使用篇(持續更新)框架
- JVM(持續更新。。。)JVM
- FastApi持續更新ASTAPI
- JAVA類庫之——Character類(持續更新)Java
- Go基礎知識-04 時間和日期型別(持續更新)Go型別
- 程式設計師的Windows工具(持續更新)程式設計師Windows
- SAP Commerce(原Hybris)的一些架構圖,持續更新架構
- OC中專案使用swift(持續更新中)Swift
- 資料結構與演算法彙總(持續更新中)資料結構演算法
- 《ElasticSearch入門》一篇管夠,持續更新Elasticsearch
- JiaoZiVideoPlayer使用說明(持續更新中...)IDE
- 常見 git 需求整理(持續更新中)Git
- PHP面試題總結-持續更新中PHP面試題
- 日常工作筆記(持續更新中。。)筆記
- iOS開發常用巨集,持續更新中iOS
- Google 開發者大會,掘金持續更新中...Go
- 學習《Java虛擬機器》目錄索引(持續更新中)Java虛擬機索引