原文鏈接:https://zhongyi.io/2017/04/java-concepts/
最近學(xué)習(xí) Java 語(yǔ)言按摘,將一些常見(jiàn)概念羅列到一起锯岖,方便理解吨瞎,大多來(lái)源于維基百科误墓。
Java
Java是一種廣泛使用的計(jì)算機(jī)編程語(yǔ)言蛮粮,擁有跨平臺(tái)、面向?qū)ο竺栈拧⒎盒途幊痰奶匦匀幌耄瑥V泛應(yīng)用于企業(yè)級(jí)Web應(yīng)用開發(fā)和移動(dòng)應(yīng)用開發(fā)。
OOP
面向?qū)ο蟪绦蛟O(shè)計(jì)(英語(yǔ):Object-oriented programming欣范,縮寫:OOP)是種具有對(duì)象概念的程序編程范型变泄,同時(shí)也是一種程序開發(fā)的抽象方針。它可能包含數(shù)據(jù)恼琼、屬性妨蛹、代碼與方法。對(duì)象則指的是類的實(shí)例驳癌。它將對(duì)象作為程序的基本單元滑燃,將程序和數(shù)據(jù)封裝其中,以提高軟件的重用性颓鲜、靈活性和擴(kuò)展性表窘,對(duì)象里的程序可以訪問(wèn)及經(jīng)常修改對(duì)象相關(guān)連的數(shù)據(jù)典予。在面向?qū)ο蟪绦蚓幊汤铮?jì)算機(jī)程序會(huì)被設(shè)計(jì)成彼此相關(guān)的對(duì)象乐严。
Maven
Apache Maven瘤袖,是一個(gè)軟件(特別是Java軟件)項(xiàng)目管理及自動(dòng)構(gòu)建工具,由Apache軟件基金會(huì)所提供昂验∥娴校基于項(xiàng)目對(duì)象模型(縮寫:POM)概念,Maven利用一個(gè)中央信息片斷能管理一個(gè)項(xiàng)目的構(gòu)建既琴、報(bào)告和文檔等步驟占婉。
Gradle
Gradle是一個(gè)基于Apache Ant和Apache Maven概念的項(xiàng)目自動(dòng)化建構(gòu)工具。它使用一種基于Groovy的特定領(lǐng)域語(yǔ)言來(lái)聲明項(xiàng)目設(shè)置甫恩,而不是傳統(tǒng)的XML逆济。
Ant
Apache Ant,是一個(gè)將軟件編譯磺箕、測(cè)試奖慌、部署等步驟聯(lián)系在一起加以自動(dòng)化的一個(gè)工具,大多用于Java環(huán)境中的軟件開發(fā)松靡。
Servlet
Servlet(Server Applet)简僧,全稱Java Servlet,未有中文譯文雕欺。是用Java編寫的服務(wù)器端程序岛马。其主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容阅茶。狹義的Servlet是指Java語(yǔ)言實(shí)現(xiàn)的一個(gè)接口蛛枚,廣義的Servlet是指任何實(shí)現(xiàn)了這個(gè)Servlet接口的類,一般情況下脸哀,人們將Servlet理解為后者蹦浦。
Dubbo
Dubbo是Alibaba開源的分布式服務(wù)框架,它最大的特點(diǎn)是按照分層的方式來(lái)架構(gòu)撞蜂,使用這種方式可以使各個(gè)層之間解耦合(或者最大限度地松耦合)盲镶。從服務(wù)模型的角度來(lái)看,Dubbo采用的是一種非常簡(jiǎn)單的模型蝌诡,要么是提供方提供服務(wù)溉贿,要么是消費(fèi)方消費(fèi)服務(wù),所以基于這一點(diǎn)可以抽象出服務(wù)提供方(Provider)和服務(wù)消費(fèi)方(Consumer)兩個(gè)角色浦旱。
Spring
Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的宇色。Spring使用的是基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)宣蠕。從簡(jiǎn)單性例隆、可測(cè)試性和松耦合性的角度而言,絕大部分Java應(yīng)用都可以從Spring中受益抢蚀。
Spring Boot
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架镀层,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置皿曲,從而使開發(fā)人員不再需要定義樣板化的配置唱逢。通過(guò)這種方式,Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者屋休。
IoC
控制反轉(zhuǎn)(Inversion of Control坞古,縮寫為IoC),是面向?qū)ο缶幊讨械囊环N設(shè)計(jì)原則博投,可以用來(lái)減低計(jì)算機(jī)代碼之間的耦合度绸贡。其中最常見(jiàn)的方式叫做依賴注入(Dependency Injection盯蝴,簡(jiǎn)稱DI)毅哗,還有一種方式叫“依賴查找”(Dependency Lookup)。通過(guò)控制反轉(zhuǎn)捧挺,對(duì)象在被創(chuàng)建的時(shí)候虑绵,由一個(gè)調(diào)控系統(tǒng)內(nèi)所有對(duì)象的外界實(shí)體,將其所依賴的對(duì)象的引用傳遞給它闽烙。也可以說(shuō)翅睛,依賴被注入到對(duì)象中。
AOP
面向側(cè)面的程序設(shè)計(jì)(aspect-oriented programming黑竞,AOP捕发,又譯作面向方面的程序設(shè)計(jì)、觀點(diǎn)導(dǎo)向編程很魂、剖面導(dǎo)向程序設(shè)計(jì))是計(jì)算機(jī)科學(xué)中的一個(gè)術(shù)語(yǔ)扎酷,指一種程序設(shè)計(jì)范型。該范型以一種稱為側(cè)面(aspect遏匆,又譯作方面)的語(yǔ)言構(gòu)造為基礎(chǔ)法挨,側(cè)面是一種新的模塊化機(jī)制,用來(lái)描述分散在對(duì)象幅聘、類或函數(shù)中的橫切關(guān)注點(diǎn)(crosscutting concern)凡纳。