91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中Spring相關知識點有哪些

發布時間:2021-09-10 17:50:50 來源:億速云 閱讀:98 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“java中Spring相關知識點有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“java中Spring相關知識點有哪些”這篇文章吧。

1)、IOC:控制反轉,某一接口具體實現類的選擇控制權從調用類中移除,轉交給第三方決定,即由Spring容器借由Bean配置來進行控制

2)、DI:依賴注入,讓調用類對某一接口實現類的依賴關系由第三方(容器或協作類)注入,以移除調用類對某一接口實現類的依賴

3)、IOC主要分為3種類型:構造函數注入、屬性注入和接口注入。Spring支持構造函數注入和屬性注入

4)、類裝載器ClassLoader

類裝載器就是尋找類的字節碼文件并構造出類在JVM內部表示對象的組件。在Java中,類裝載器把一個類裝入JVM中,需要經過以下步驟:

(1)裝載:查找和導入Class文件

(2)鏈接:

A.校驗:檢查載入Class文件數據的正確性

B.準備:給類的靜態變量分配存儲空間

C.解析:對符號引用轉換成直接引用

(3)初始化:對類的靜態變量、靜態代碼塊執行初始化工作

類裝載工作由ClassLoader及其子類負責。ClassLoader負責在運行時查找和裝入Class字節碼文件。JVM在運行時會產生3個ClassLoader:跟裝載器、ExtClassLoader(擴展類裝載器)和AppClassLoader(應用類裝載器)。其中, 根裝載器不是ClassLoader的子類,它使用C++語言編寫,因而在Java中看不到它,根裝載器負責裝載JRE的核心類庫,如JRE目標下的rt.jar、charsets.jar等。ExtClassLoader和AppClassLoader都是ClassLoader的子類,其中ExtClassLoader負責裝載JRE擴展目錄ext中的JAR類包;AppClassLoader負責裝載Classpath路徑下的類包

跟裝載器是ExtClassLoader的父裝載器,ExtClassLoader是AppClassLoader的父裝載器。默認情況下,使用AppClassLoader裝載應用程序的類

JVM裝載類時使用全盤負責委托機制,全盤負責是指當一個ClassLoader裝載一個類時,除非顯示地使用另一個ClassLoader,該類所依賴及引用的類也由這個ClassLoader載入;委托機制是指先委托父裝載器尋找目標類,只有在找不到的情況下才從自己的類路徑中查找并裝載目標類

5)、屬性注入要求Bean提供一個默認的構造函數,并為需要注入的屬性提供對應的Setter方法。Spring先調用Bean的默認構造函數實例化Bean對象,然后通過反射的方法調用Setter方法注入屬性值

6)、SprIng只會檢查Bean中是否有對應的Setter方法,至于Bean中是否有對應的屬性成員變更則不做要求

7)、JavaBean也允許以大寫字母開頭的屬性變量名,不過必須滿足變量的前兩個字母要么全部大寫,要么全部小寫的要求

8)、標簽接口是沒有任何方法和屬性的接口,它不對實現類有任何語義上的要求,僅僅表明它的實現類屬于一個特定的類型。它主要有兩個用途:第一,通過標簽接口標識同一類型的類,這些類本身可能并不具有相同的方法,如Advice接口;第二,通過標簽接口使程序或JVM采取一些特殊處理,如java.io.Serializable,它告訴JVM對象可以被序列化

9)、AOP相關名詞

(1)連接點:一個類或一段程序代碼擁有一些具有邊界性質的特定點,Spring僅支持方法的連接點

(2)切點:通過切點定位特定的連接點

(3)增強:織入目標類連接點上的一段程序代碼

(4)目標對象:增強邏輯的織入目標類

(5)引介:引介是一種特殊的增強,它為類添加一些屬性和方法

(6)織入:將增強添加到目標類的具體連接點上的過程

(7)代理:一個類被AOP織入增強后,就產生了一個結果類,它是融合了原類和增強邏輯的代理類

(8)切面:切面由切點和增強組成

10)、增強類型

(1)前置增強:org.springframework.aop.BeforeAdvice代表前置增強,表示在目標方法執行前實施增強

(2)后置增強:org.springframework.aop.AfterReturningAdvice代表后置增強,表示在目標方法執行前后實施增強

(3)環繞增強:org.aopalliance.intercept.MethodInterceptor代表環繞增強,表示在目標方法執行前后實施增強

(4)異常拋出增強:org.springframework.aop.ThrowsAdvice代表拋出異常增強,表示在目標方法拋出異常后實施增強

(5)引介增強:org.springframework.aop.IntroductionInterceptor代表引介增強,表示在目標類中添加一些新的方法和屬性

11)、ThreadLocal是保存線程本地化對象的容器。當運行于多線程環境的某個對象使用ThreadLocal維護變量時,ThreadLocal為每個使用該變量的線程分配一個獨立的變量副本。所以每個線程都可以獨立地改變自己的副本,而不會影響到其他線程所對應的副本

InheritableThreadLocal繼承于ThreadLocal,它自動為子線程復制一份從父線程那里繼承而來的本地變量:在創建子線程時,子線程會接收所有可繼承的線程本地變量的初始值

ThreadLocal類中有一個Map,用于存儲每個線程的變量副本,Map中元素的鍵為線程對象,值為對應線程的變量副本

同步機制采用了以時間換空間的方式,訪問串行化,對象共享化;而ThreadLocal采用了以空間換時間的方式:訪問并行化,對象獨享化

12)、SpringMVC流程圖

java中Spring相關知識點有哪些

以上是“java中Spring相關知識點有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莱州市| 巧家县| 正蓝旗| 东莞市| 札达县| 南江县| 靖边县| 麻江县| 昌邑市| 周宁县| 西宁市| 建始县| 承德市| 金溪县| 平乐县| 丽水市| 耒阳市| 永昌县| 武乡县| 碌曲县| 左权县| 抚松县| 台山市| 浪卡子县| 电白县| 钟山县| 兴义市| 普兰县| 台江县| 德庆县| 江西省| 隆德县| 习水县| 九江县| 林口县| 迁安市| 通山县| 遂宁市| 延吉市| 梓潼县| 高台县|