您好,登錄后才能下訂單哦!
這篇文章主要講解了“ Java類加載器包括幾種以及它們之間的關系是怎樣的”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ Java類加載器包括幾種以及它們之間的關系是怎樣的”吧!
1. 為什么說Java是一門平臺無關語言?
平臺無關實際的含義是“一次編寫到處運行”。Java 能夠做到是因為它的字節碼(byte code)可以運行在任何操作系統上,與底層系統無關。
2. 為什么 Java 不是100%面向對象?
Java 不是100%面向對象,因為它包含8個原始數據類型,例如 boolean、byte、char、int、float、double、long、short。它們不是對象。
3. 什么是 singleton class,如何創建一個 singleton class?
Singleton class 在任何時間同一個 JVM 中只有一個實例。可以把構造函數加 private 修飾符創建 singleton。
4. 什么是多態?
多態簡單地說“一個接口,多種實現”。多態的出現使得在不同的場合同一個接口能夠提供不同功能,具體地說可以讓變量、函數或者對象能夠提供多種功能。下面是多態的兩種類型:
編譯時多態
運行時多態
編譯時多態主要是對方法進行重載(overload),而運行時多態主要通過使用繼承或者實現接口。
什么是運行時多態,也稱動態方法分配?
在 Java 中,運行時多態或動態方法分配是一種在運行過程中的方法重載。在這個過程中,通過調用父類的變量引用被重載的方法。下面是一個例子:
5. Java類加載器包括幾種?它們之間的關系是怎么樣的?
Java 類加載器有:
引導類加載器(bootstrap class loader):只加載 JVM 自身需要的類,包名為 java、javax、sun 等開頭。
擴展類加載器(extensions class loader):加載 JAVA_HOME/lib/ext 目錄下或者由系統變量 -Djava.ext.dir 指定位路徑中的類庫。
應用程序類加載器(application class loader):加載系統類路徑 java -classpath 或 -Djava.class.path 下的類庫。
自定義類加載器(java.lang.classloder):繼承 java.lang.ClassLoader 的自定義類加載器。
注意:-Djava.ext.dirs 會覆蓋 Java 本身的 ext 設置,造成 JDK 內建功能無法使用。可以像下面這樣指定參數:
它們的關系如下:
啟動類加載器,C++實現,沒有父類。
擴展類加載器(ExtClassLoader),Java 實現,父類加載器為 null。
應用程序類加載器(AppClassLoader),Java 實現,父類加載器為 ExtClassLoader 。
自定義類加載器,父類加載器為AppClassLoader。
Java學習交流圈:834962734 ,進群可免費獲取一份Java架構進階技術精品視頻。(高并發+Spring源碼+JVM原理解析+分布式架構+微服務架構+多線程并發原理+BATJ面試寶典)
6. 什么是JDBC驅動?
JDBC Driver 是一種實現 Java 應用與數據庫交互的軟件。JDBC 驅動有下面4種:
JDBC-ODBC bridge 驅動
Native-API 驅動(部分是 Java 驅動)
網絡協議驅動(全部是 Java 驅動)
Thin driver(全部是 Java 驅動)
7. 使用 Java 連接數據庫有哪幾步?
注冊驅動類
新建數據庫連接
新建語句(statement)
查詢
關閉連接
8. 列舉Spring配置中常用的重要注解。
下面是一些重要的注解:
@Required
@Autowired
@Qualifier
@Resource
@PostConstruct
@PreDestroy
9. Spring中的Bean是什么?列舉Spring Bean的不同作用域。
Bean 是 Spring 應用的骨架。它們由 Spring IoC 容器管理。換句話說,Bean 是一個由 Spring IoC 容器初始化、裝配和管理的對象。
下面是 Spring Bean 的5種作用域:
Singleton:每個容器只創建一個實例,也是 Spring Bean 的默認配置。由于非線程安全,因此確保使用時不要在 Bean 中共享實例變量,一面出現數據不一致。
Prototype:每次請求時創建一個新實例。
Request:與 prototype 相同,區別在于只針對 Web 應用。每次 HTTP 請求時創建一個新實例。
Session:每次收到 HTTP 會話請求時由容器創建一個新實例。
全局 Session:為每個門戶應用(Portlet App)創建一個全局 Session Bean。
感謝各位的閱讀,以上就是“ Java類加載器包括幾種以及它們之間的關系是怎樣的”的內容了,經過本文的學習后,相信大家對 Java類加載器包括幾種以及它們之間的關系是怎樣的這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。