\1. POJO(Plain Ordinary Java Object): 在本規(guī)約中,POJO 專(zhuān)指只有 setter/getter/toString 的簡(jiǎn)單類(lèi),包括 DO/DTO/BO/VO 等。
\2. DO(Data Object):阿里巴巴專(zhuān)指數(shù)據(jù)庫(kù)表一一對(duì)應(yīng)的 POJO 類(lèi)。此對(duì)象與數(shù)據(jù)庫(kù)表結(jié)構(gòu)一一對(duì)應(yīng),通過(guò) DAO 層向上傳輸數(shù)據(jù)源對(duì)象。
\3. DTO(Data Transfer Object):數(shù)據(jù)傳輸對(duì)象,Service 或 Manager 向外傳輸?shù)膶?duì)象。
\4. BO(Business Object):業(yè)務(wù)對(duì)象,可以由 Service 層輸出的封裝業(yè)務(wù)邏輯的對(duì)象。
\5. Query:數(shù)據(jù)查詢(xún)對(duì)象,各層接收上層的查詢(xún)請(qǐng)求。注意超過(guò) 2 個(gè)參數(shù)的查詢(xún)封裝,禁止使用Map 類(lèi)來(lái)傳輸。
\6. VO(View Object):顯示層對(duì)象,通常是 Web 向模板渲染引擎層傳輸?shù)膶?duì)象。
\7. AO(Application Object): 阿里巴巴專(zhuān)指 Application Object,即在 Service 層上,極為貼近業(yè)務(wù)的復(fù)用代碼。
\8. CAS(Compare And Swap):解決多線(xiàn)程并行情況下使用鎖造成性能損耗的一種機(jī)制,這是硬件實(shí)現(xiàn)的原子操作。CAS 操作包含三個(gè)操作數(shù):內(nèi)存位置、預(yù)期原值和新值。如果內(nèi)存位置的值與預(yù)期原值相匹配,那么處理器會(huì)自動(dòng)將該位置值更新為新值。否則,處理器不做任何操作。
\9. GAV(GroupId、ArtifactId、Version): Maven 坐標(biāo),是用來(lái)唯一標(biāo)識(shí) jar 包。
10.OOP(Object Oriented Programming): 本文泛指類(lèi)、對(duì)象的編程處理方式。
11.AQS(AbstractQueuedSynchronizer): 利用先進(jìn)先出隊(duì)列實(shí)現(xiàn)的底層同步工具類(lèi),它是很多上層同步實(shí)現(xiàn)類(lèi)的基礎(chǔ),比如:ReentrantLock、CountDownLatch、Semaphore 等,它們通過(guò)繼承 AQS 實(shí)現(xiàn)其模版方法,然后將 AQS 子類(lèi)作為同步組件的內(nèi)部類(lèi),通常命名為 Sync。
12.ORM(Object Relation Mapping): 對(duì)象關(guān)系映射,對(duì)象領(lǐng)域模型與底層數(shù)據(jù)之間的轉(zhuǎn)換,本文泛指 iBATIS, mybatis 等框架。
13.NPE(java.lang.NullPointerException): 空指針異常。
14.OOM(Out Of Memory): 源于 java.lang.OutOfMemoryError,當(dāng) JVM 沒(méi)有足夠的內(nèi)存來(lái)為對(duì)象分配空間并且垃圾回收器也無(wú)法回收空間時(shí),系統(tǒng)出現(xiàn)的嚴(yán)重狀況。
15.一方庫(kù): 本工程內(nèi)部子項(xiàng)目模塊依賴(lài)的庫(kù)(jar 包)。
16.二方庫(kù): 公司內(nèi)部發(fā)布到中央倉(cāng)庫(kù),可供公司內(nèi)部其它應(yīng)用依賴(lài)的庫(kù)(jar 包)。
17.三方庫(kù): 公司之外的開(kāi)源庫(kù)(jar 包)。
更多建議: