中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

每周10道Java面試題:面向?qū)ο? 類(lèi)加載器, JDBC, Spring 基礎(chǔ)概念

2018-12-21    來(lái)源:importnew

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

每周10道?Java?面試題由 ImportNew 整理編譯自網(wǎng)絡(luò)。
面試題答案討論請(qǐng)移步:https://github.com/jobbole/java-interview/issues/1
Java面試題投遞交流請(qǐng)移步:https://github.com/jobbole/java-interview/issues/2

1. 為什么說(shuō)Java是一門(mén)平臺(tái)無(wú)關(guān)語(yǔ)言?

平臺(tái)無(wú)關(guān)實(shí)際的含義是“一次編寫(xiě)到處運(yùn)行”。Java 能夠做到是因?yàn)樗淖止?jié)碼(byte code)可以運(yùn)行在任何操作系統(tǒng)上,與底層系統(tǒng)無(wú)關(guān)。

2. 為什么 Java 不是100%面向?qū)ο螅?/h3>

Java 不是100%面向?qū)ο,因(yàn)樗?個(gè)原始數(shù)據(jù)類(lèi)型,例如?boolean、byte、char、int、float、double、long、short。它們不是對(duì)象。

3. 什么是 singleton class,如何創(chuàng)建一個(gè) singleton class?

Singleton class 在任何時(shí)間同一個(gè) JVM 中只有一個(gè)實(shí)例?梢园褬(gòu)造函數(shù)加 private 修飾符創(chuàng)建 singleton。

4. 什么是多態(tài)?

多態(tài)簡(jiǎn)單地說(shuō)“一個(gè)接口,多種實(shí)現(xiàn)”。多態(tài)的出現(xiàn)使得在不同的場(chǎng)合同一個(gè)接口能夠提供不同功能,具體地說(shuō)可以讓變量、函數(shù)或者對(duì)象能夠提供多種功能。下面是多態(tài)的兩種類(lèi)型:

  1. 編譯時(shí)多態(tài)
  2. 運(yùn)行時(shí)多態(tài)

編譯時(shí)多態(tài)主要是對(duì)方法進(jìn)行重載(overload),而運(yùn)行時(shí)多態(tài)主要通過(guò)使用繼承或者實(shí)現(xiàn)接口。

什么是運(yùn)行時(shí)多態(tài),也稱(chēng)動(dòng)態(tài)方法分配?

在 Java 中,運(yùn)行時(shí)多態(tài)或動(dòng)態(tài)方法分配是一種在運(yùn)行過(guò)程中的方法重載。在這個(gè)過(guò)程中,通過(guò)調(diào)用父類(lèi)的變量引用被重載的方法。下面是一個(gè)例子:

class Car {
	void run()
	{
		System.out.println(“car is running”); 
	}
}
class Audi extends Car {
	void run()
	{
		System.out.prinltn(“Audi is running safely with 100km”);
	}
	public static void main(String args[])
	{
		Car b= new Audi();    //向上轉(zhuǎn)型
		b.run();
	}
}

5. Java類(lèi)加載器包括幾種?它們之間的關(guān)系是怎么樣的?

Java 類(lèi)加載器有:

  • 引導(dǎo)類(lèi)加載器(bootstrap class loader):只加載 JVM 自身需要的類(lèi),包名為 java、javax、sun 等開(kāi)頭。
  • 擴(kuò)展類(lèi)加載器(extensions class loader):加載 JAVA_HOME/lib/ext 目錄下或者由系統(tǒng)變量 -Djava.ext.dir 指定位路徑中的類(lèi)庫(kù)。
  • 應(yīng)用程序類(lèi)加載器(application class loader):加載系統(tǒng)類(lèi)路徑 java -classpath 或 -Djava.class.path 下的類(lèi)庫(kù)。
  • 自定義類(lèi)加載器(java.lang.classloder):繼承 java.lang.ClassLoader 的自定義類(lèi)加載器。

注意:-Djava.ext.dirs 會(huì)覆蓋 Java 本身的 ext 設(shè)置,造成 JDK 內(nèi)建功能無(wú)法使用。可以像下面這樣指定參數(shù):

-Djava.ext.dirs=./plugin:$JAVA_HOME/jre/lib/ext。

它們的關(guān)系如下:

  • 啟動(dòng)類(lèi)加載器,C++實(shí)現(xiàn),沒(méi)有父類(lèi)。
  • 擴(kuò)展類(lèi)加載器(ExtClassLoader),Java 實(shí)現(xiàn),父類(lèi)加載器為 null。
  • 應(yīng)用程序類(lèi)加載器(AppClassLoader),Java 實(shí)現(xiàn),父類(lèi)加載器為 ExtClassLoader 。
  • 自定義類(lèi)加載器,父類(lèi)加載器為AppClassLoader。

7. 什么是JDBC驅(qū)動(dòng)?

JDBC Driver 是一種實(shí)現(xiàn) Java 應(yīng)用與數(shù)據(jù)庫(kù)交互的軟件。JDBC 驅(qū)動(dòng)有下面4種:

  1. JDBC-ODBC bridge 驅(qū)動(dòng)
  2. Native-API 驅(qū)動(dòng)(部分是 Java 驅(qū)動(dòng))
  3. 網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)(全部是 Java 驅(qū)動(dòng))
  4. Thin driver(全部是 Java 驅(qū)動(dòng))

8. 使用 Java 連接數(shù)據(jù)庫(kù)有哪幾步?

  • 注冊(cè)驅(qū)動(dòng)類(lèi)
  • 新建數(shù)據(jù)庫(kù)連接
  • 新建語(yǔ)句(statement)
  • 查詢(xún)
  • 關(guān)閉連接

9. 列舉Spring配置中常用的重要注解。

下面是一些重要的注解:

  • @Required
  • @Autowired
  • @Qualifier
  • @Resource
  • @PostConstruct
  • @PreDestroy

10. Spring中的Bean是什么?列舉Spring Bean的不同作用域。

Bean 是 Spring 應(yīng)用的骨架。它們由 Spring IoC 容器管理。換句話(huà)說(shuō),Bean 是一個(gè)由?Spring IoC 容器初始化、裝配和管理的對(duì)象。

下面是 Spring Bean 的5種作用域:

  • Singleton:每個(gè)容器只創(chuàng)建一個(gè)實(shí)例,也是 Spring Bean 的默認(rèn)配置。由于非線(xiàn)程安全,因此確保使用時(shí)不要在 Bean 中共享實(shí)例變量,一面出現(xiàn)數(shù)據(jù)不一致。
  • Prototype:每次請(qǐng)求時(shí)創(chuàng)建一個(gè)新實(shí)例。
  • Request:與 prototype 相同,區(qū)別在于只針對(duì) Web 應(yīng)用。每次 HTTP 請(qǐng)求時(shí)創(chuàng)建一個(gè)新實(shí)例。
  • Session:每次收到 HTTP 會(huì)話(huà)請(qǐng)求時(shí)由容器創(chuàng)建一個(gè)新實(shí)例。
  • 全局 Session:為每個(gè)門(mén)戶(hù)應(yīng)用(Portlet App)創(chuàng)建一個(gè)全局 Session Bean。

關(guān)于作者: 唐尤華

唐尤華

我喜歡程序員,他們單純、固執(zhí)、容易體會(huì)到成就感;面對(duì)壓力,能夠挑燈夜戰(zhàn)不眠不休;面對(duì)困難,能夠迎難而上挑戰(zhàn)自我。他們也會(huì)感到困惑與傍徨,但每個(gè)程序員的心中都有一個(gè)比爾蓋茨或是喬布斯的夢(mèng)想“用智慧開(kāi)創(chuàng)屬于自己的事業(yè)”。我想說(shuō)的是,其實(shí)我是一個(gè)程序員。(新浪微博:@唐尤華

查看唐尤華的更多文章 >>

標(biāo)簽: ssl 安全 數(shù)據(jù)庫(kù) 網(wǎng)絡(luò) 轉(zhuǎn)型

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:從零開(kāi)始用好Maven:從HelloWorld到日常使用

下一篇:Java中的構(gòu)造函數(shù)引用和方法引用