工作機制是IOC ,IOC是思想 、依賴注入是實現(xiàn)。
成都創(chuàng)新互聯(lián)公司長期為1000多家客戶提供的網(wǎng)站建設(shè)服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為豐寧企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站制作,豐寧網(wǎng)站改版等技術(shù)服務。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
1.使用IOC最大程度的對對象的依賴關(guān)系解耦
2.使用AOP解除了模塊或組件之間的耦合
3.簡化其他框架的代碼
4.是框架之間的潤滑劑和粘合劑
5.spring 是無侵入的設(shè)計。在代碼中感覺不到它的存在
6.spring是無依賴式的設(shè)計。spring不依賴任何框架,而且本身也無依賴
先編譯,利用java編譯器(JDK自帶的工具)把java文件轉(zhuǎn)換成字節(jié)碼文件(.class文件)
這個時候生成的字節(jié)碼也不是計算機能識別的,還要讓jvm也就是java虛擬機解讀,java虛擬機首先讀入字節(jié)碼、對字節(jié)碼進行正確性檢查,針對客戶計算機平臺生成對應的機器指令,由客戶機器執(zhí)行機器指令。
希望對你有幫助
Java這一語言的執(zhí)行過程也遵循這樣的過程:源代碼---機器碼。 但是,從源代碼到機器碼之間,究竟經(jīng)過什么樣的過程,則是Java獨一無二的了。寬泛地講,Java源代碼(.java)經(jīng)過java編譯器(javac.exe)編譯之后,并沒有直接轉(zhuǎn)化為機器碼,而是轉(zhuǎn)化成一種中間格式,成為字節(jié)碼(.class),字節(jié)碼再經(jīng)過java虛擬機轉(zhuǎn)化成特定CPU架構(gòu)的機器碼。也正是因為這一中間物,java才有所謂的跨平臺。在windows平臺上編譯好的字節(jié)碼,copy到linux平臺后,經(jīng)過為linux而設(shè)計的Java虛擬機解釋后即可執(zhí)行??缙脚_這一特征,是通過字節(jié)碼和JVM來實現(xiàn)的。
因此,想搞清楚java程序到底是如何運行的,重點在于弄明白字節(jié)碼是如何被轉(zhuǎn)化成跟CPU架構(gòu)相關(guān)的機器碼然后被執(zhí)行的。也就是要理解JVM到底是如何工作的。在了解JVM之前,我們再跳出來一下,先看看什么是虛擬機。所謂虛擬機,我是這么理解的:用軟件的方式模擬出跟硬件類似的環(huán)境,比如說寄存器、存儲器等等。當然,所有最終的工作還是由原來的CPU來完成。比如說VirtualBox這個虛擬機產(chǎn)品,它其實就是一個應用程序,用某種編程語言編寫的應用程序。當運行這個應用程序時,它會要求操作系統(tǒng)給它獨立施展手腳的空間:給我一些內(nèi)存,給我一定的CPU時間片,然后不用管我了。你可能會問,寄存器是硬件啊,它怎么能劃分啊,難道是時間劃分?不是的,像內(nèi)存這樣的硬件,可以給虛擬機一塊獨立的內(nèi)存塊,但是寄存器之后的,則需要用“模擬仿真”的方式來模擬。OK,回到Java虛擬機。到底什么是Java虛擬機,很難有一個十分明確的定義,狹窄一點說,它就是一個應用程序,大部分用C++編寫的。寬泛地說,它就是執(zhí)行字節(jié)碼的一整個環(huán)境。