摘要:為什么不是面向?qū)ο蟛皇敲嫦驅(qū)ο?,因為它包含個原始數(shù)據(jù)類型,例如。自定義類加載器繼承的自定義類加載器??梢韵裣旅孢@樣指定參數(shù)面試題面向?qū)ο?,類加載器,基礎(chǔ)概念它們的關(guān)系如下啟動類加載器,實現(xiàn),沒有父類。自定義類加載器,父類加載器為。
1. 為什么說Java是一門平臺無關(guān)語言?
平臺無關(guān)實際的含義是“一次編寫到處運行”。Java 能夠做到是因為它的字節(jié)碼(byte code)可以運行在任何操作系統(tǒng)上,與底層系統(tǒng)無關(guān)。
2. 為什么 Java 不是100%面向?qū)ο螅?/strong>
Java 不是100%面向?qū)ο?,因為它包?個原始數(shù)據(jù)類型,例如 boolean、byte、char、int、float、double、long、short。它們不是對象。
3. 什么是 singleton class,如何創(chuàng)建一個 singleton class?
Singleton class 在任何時間同一個 JVM 中只有一個實例??梢园褬?gòu)造函數(shù)加 private 修飾符創(chuàng)建 singleton。
4. 什么是多態(tài)?
多態(tài)簡單地說“一個接口,多種實現(xiàn)”。多態(tài)的出現(xiàn)使得在不同的場合同一個接口能夠提供不同功能,具體地說可以讓變量、函數(shù)或者對象能夠提供多種功能。下面是多態(tài)的兩種類型:
編譯時多態(tài)
運行時多態(tài)
編譯時多態(tài)主要是對方法進行重載(overload),而運行時多態(tài)主要通過使用繼承或者實現(xiàn)接口。
什么是運行時多態(tài),也稱動態(tài)方法分配?
在 Java 中,運行時多態(tài)或動態(tài)方法分配是一種在運行過程中的方法重載。在這個過程中,通過調(diào)用父類的變量引用被重載的方法。下面是一個例子:
Java面試題:面向?qū)ο?,類加載器,JDBC, Spring 基礎(chǔ)概念
5. Java類加載器包括幾種?它們之間的關(guān)系是怎么樣的?
Java 類加載器有:
引導(dǎo)類加載器(bootstrap class loader):只加載 JVM 自身需要的類,包名為 java、javax、sun 等開頭。
擴展類加載器(extensions class loader):加載 JAVA_HOME/lib/ext 目錄下或者由系統(tǒng)變量 -Djava.ext.dir 指定位路徑中的類庫。
應(yīng)用程序類加載器(application class loader):加載系統(tǒng)類路徑 java -classpath 或 -Djava.class.path 下的類庫。
自定義類加載器(java.lang.classloder):繼承 java.lang.ClassLoader 的自定義類加載器。
注意:-Djava.ext.dirs 會覆蓋 Java 本身的 ext 設(shè)置,造成 JDK 內(nèi)建功能無法使用??梢韵裣旅孢@樣指定參數(shù):
Java面試題:面向?qū)ο?,類加載器,JDBC, Spring 基礎(chǔ)概念
它們的關(guān)系如下:
啟動類加載器,C++實現(xiàn),沒有父類。
擴展類加載器(ExtClassLoader),Java 實現(xiàn),父類加載器為 null。
應(yīng)用程序類加載器(AppClassLoader),Java 實現(xiàn),父類加載器為 ExtClassLoader 。
自定義類加載器,父類加載器為AppClassLoader。
Java學(xué)習(xí)交流圈:834962734 ,進群可免費獲取一份Java架構(gòu)進階技術(shù)精品視頻。(高并發(fā)+Spring源碼+JVM原理解析+分布式架構(gòu)+微服務(wù)架構(gòu)+多線程并發(fā)原理+BATJ面試寶典)
6. 什么是JDBC驅(qū)動?
JDBC Driver 是一種實現(xiàn) Java 應(yīng)用與數(shù)據(jù)庫交互的軟件。JDBC 驅(qū)動有下面4種:
JDBC-ODBC bridge 驅(qū)動
Native-API 驅(qū)動(部分是 Java 驅(qū)動)
網(wǎng)絡(luò)協(xié)議驅(qū)動(全部是 Java 驅(qū)動)
Thin driver(全部是 Java 驅(qū)動)
7. 使用 Java 連接數(shù)據(jù)庫有哪幾步?
注冊驅(qū)動類
新建數(shù)據(jù)庫連接
新建語句(statement)
查詢
關(guān)閉連接
8. 列舉Spring配置中常用的重要注解。
下面是一些重要的注解:
@Required
@Autowired
@Qualifier
@Resource
@PostConstruct
@PreDestroy
9. Spring中的Bean是什么?列舉Spring Bean的不同作用域。
Bean 是 Spring 應(yīng)用的骨架。它們由 Spring IoC 容器管理。換句話說,Bean 是一個由 Spring IoC 容器初始化、裝配和管理的對象。
下面是 Spring Bean 的5種作用域:
Singleton:每個容器只創(chuàng)建一個實例,也是 Spring Bean 的默認配置。由于非線程安全,因此確保使用時不要在 Bean 中共享實例變量,一面出現(xiàn)數(shù)據(jù)不一致。
Prototype:每次請求時創(chuàng)建一個新實例。
Request:與 prototype 相同,區(qū)別在于只針對 Web 應(yīng)用。每次 HTTP 請求時創(chuàng)建一個新實例。
Session:每次收到 HTTP 會話請求時由容器創(chuàng)建一個新實例。
全局 Session:為每個門戶應(yīng)用(Portlet App)創(chuàng)建一個全局 Session Bean。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40261.html
摘要:為什么不是面向?qū)ο蟛皇敲嫦驅(qū)ο?,因為它包含個原始數(shù)據(jù)類型,例如。自定義類加載器繼承的自定義類加載器??梢韵裣旅孢@樣指定參數(shù)面試題面向?qū)ο?,類加載器,基礎(chǔ)概念它們的關(guān)系如下啟動類加載器,實現(xiàn),沒有父類。自定義類加載器,父類加載器為。 1. 為什么說Java是一門平臺無關(guān)語言? 平臺無關(guān)實際的含義是一次編寫到處運行。Java 能夠做到是因為它的字節(jié)碼(byte code)可以運行在任何操作...
摘要:前言由于寫的文章已經(jīng)是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導(dǎo)航。 前言 由于寫的文章已經(jīng)是有點多了,為了自己和大家的檢索方便,于是我就做了這么一個博客導(dǎo)航。 由于更新比較頻繁,因此隔一段時間才會更新目錄導(dǎo)航哦~想要獲取最新原創(chuàng)的技術(shù)文章歡迎關(guān)注我的公眾號:Java3y Java3y文章目錄導(dǎo)航 Java基礎(chǔ) 泛型就這么簡單 注解就這么簡單 Druid數(shù)據(jù)庫連接池...
摘要:使用的好處知乎的回答不用自己組裝,拿來就用。統(tǒng)一配置,便于修改。 前言 只有光頭才能變強 回顧前面: 給女朋友講解什么是代理模式 包裝模式就是這么簡單啦 單例模式你會幾種寫法? 工廠模式理解了沒有? 在刷Spring書籍的時候花了點時間去學(xué)習(xí)了單例模式和工廠模式,總的來說還是非常值得的! 本來想的是刷完《Spring 實戰(zhàn) (第4版)》和《精通Spring4.x 企業(yè)應(yīng)用開發(fā)實戰(zhàn)》...
閱讀 3662·2021-11-15 11:37
閱讀 2990·2021-11-12 10:36
閱讀 4450·2021-09-22 15:51
閱讀 2394·2021-08-27 16:18
閱讀 898·2019-08-30 15:44
閱讀 2176·2019-08-30 10:58
閱讀 1791·2019-08-29 17:18
閱讀 3288·2019-08-28 18:25