黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 90%會被面試官問到的Java反射面試題

90%會被面試官問到的Java反射面試題

更新時間:2023-01-10 13:47:49 來源:動力節(jié)點 瀏覽2417次

2023年已經(jīng)開始了,接近我們的是大家常說的金三銀四,時間晃眼就過去,不少同學(xué)開始為新的工作早早做出準備,不管是臨陣磨槍還是勢在必得,想必看文章的你也正期待著升值漲薪吧,大家不妨來看看小編為大家盤點整理出的java反射面試題。

java反射面試題

1、實現(xiàn)單例設(shè)計模式(懶漢、餓漢)

//懶漢,顧名思義比較懶,在用的時候才實例化
public class Singleton {
	//創(chuàng)建實例,注意,此時沒有new
	private static Singleton instance = null;
	//構(gòu)造方法私有化
	private Singleton() {}
	//公有的靜態(tài)方法,返回實例對象
	public static Singleton getInstance() {
		if (instance == null) {
			//這里才new
			instance = new Singleton();
		}
		return instance;
	}
}

//餓漢,顧名思義很饑餓,創(chuàng)建對象的時候就直接new
public class Singleton {
	//創(chuàng)建實例的時候就new
	private static Singleton instance = new Singleton();
	// 私有化構(gòu)造方法,外部不能new
	private Singleton() {}
	public static Singleton getInstance() {
		return instance;
	}
}

2、簡述Java的反射機制和使用場景

反射是Java的一種機制,可以讓我們在運行時獲取類的信息

通過反射我們可以獲取到類的所有信息,比如它的屬性、構(gòu)造器、方法、注解等

適用于需要動態(tài)創(chuàng)建對象的場景

關(guān)于反射能說的太多,已單獨出一篇博客來記錄,請出門右轉(zhuǎn)至信不信十分鐘讓你徹底搞懂java反射

3、什么是內(nèi)存泄漏,怎么確定內(nèi)存泄漏?

概念:內(nèi)存泄漏就是指jvm內(nèi)存沒有及時釋放,用人話說就是使用完的對象沒有被回收,一般造成原因都是編碼不規(guī)范,new了很多值為null的對象,然后又不調(diào)用

怎么確認:linux有個工具叫valgrind,一兩句話說不清楚,單獨拎出來講,移步使用valgrind來檢查內(nèi)存泄漏

4、簡述動態(tài)代理和靜態(tài)代理

靜態(tài)代理:

  • 由程序員創(chuàng)建或由特定工具自動生成源代碼,再對其編譯。在程序運行前,代理類的.class文件就已經(jīng)存在了
  • 靜態(tài)代理通常只代理一個類
  • 靜態(tài)代理事先知道要代理的是什么

動態(tài)代理:

  • 在程序運行時,運用反射機制動態(tài)創(chuàng)建而成
  • 動態(tài)代理是代理一個接口下的多個實現(xiàn)類
  • 動態(tài)代理不知道要代理什么東西,只有在運行時才知道

5、Java中接口和抽象類的異同?

先單獨說一點,讓你可以在朋友面前裝逼:接口也能被繼承,只不過是被接口繼承

1、都能包含抽象的方法,這些抽象的方法用于描述類具備的功能,不提供具體的實現(xiàn)(jdk1.8允許接口有一個default的實現(xiàn)方法)

2、接口是對事物行為的抽象,而抽象類是對事務(wù)本質(zhì)的抽象;

3、接口中的變量必須給出初始值,抽象類可以不給;

4、一個類只能繼承一個抽象類,但可以實現(xiàn)多個接口;

5、抽象類中可以寫非抽象的方法,從而避免在子類中重復(fù)書寫它們,這樣可以提高代碼的復(fù)用性,這是抽象類的優(yōu)勢;接口中只能有抽象的方法;

針對第二點和第四點舉個例幫助理解:

對于抽象類:比方說有公雞、母雞、公狗、母狗,我們可以抽象出兩個更高級的類,雞類和狗類,因為你不能又是雞又是狗,所以你只能繼承其中一個,這就是為什么抽象類只能單繼承;

對于接口:眾所周知,雞都會唱、跳、rap,這時候就可以把雞的基本操作抽象成一個接口,而有的雞通過后天練習(xí)可能會學(xué)會打籃球,那么就存在一種高端雞,又會唱跳rap又會打籃球,這就是為什么接口可以多實現(xiàn);

6、Java中sleep和wait的區(qū)別?

1、sleep是Thread的方法,wait是Object的方法

2、sleep方法沒有釋放鎖,而wait方法釋放了鎖

3、wait,notify和notifyAll只能在同步控制方法或者同步控制塊里面使用,而sleep可以在任何地方使用

4、sleep必須捕獲異常,而wait,notify和notifyAll不需要捕獲異常

7、Java如何進行高效的數(shù)組拷貝?

Arrays.copyOf或 System.arraycopy,是自己new數(shù)組, 然后for循環(huán)復(fù)制效率的兩倍左右

為什么快,因為它們是native方法;

8、http中g(shù)et和post的區(qū)別?

GET在瀏覽器回退時是無害的,而POST會再次提交請求。

GET產(chǎn)生的URL地址可以被Bookmark,而POST不可以。

GET請求會被瀏覽器主動cache,而POST不會,除非手動設(shè)置。

GET請求只能進行url編碼,而POST支持多種編碼方式。

GET請求參數(shù)會被完整保留在瀏覽器歷史記錄里,而POST中的參數(shù)不會被保留。

GET請求在URL中傳送的參數(shù)是有長度限制的,而POST么有。

對參數(shù)的數(shù)據(jù)類型,GET只接受ASCII字符,而POST沒有限制。

GET比POST更不安全,因為參數(shù)直接暴露在URL上,所以不能用來傳遞敏感信息。

GET參數(shù)通過URL傳遞,POST放在Request body中。

然而實際上,它們的本質(zhì)都是 TCP 連接,并無區(qū)別。上面的答案純粹是為了應(yīng)付面試官。真正導(dǎo)致產(chǎn)生區(qū)別的原因是 HTTP 的規(guī)定以及瀏覽器/服務(wù)器的限制,這才導(dǎo)致它們在應(yīng)用過程中可能會有所不同。

以上就是“90%會被面試官問到的Java反射面試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動力節(jié)點Java官網(wǎng)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 最近中文字幕2019免费版日本 | 国产一区二区三区毛片 | 综合在线播放 | 香蕉视频免费网站 | 精品久久久久久综合网 | 欧美国产日韩精品 | 欧美在线香蕉在线现视频 | 1024国产精品视频观看 | 直接观看黄网站免费视频 | 中国国产高清一级毛片 | 国产一区二区中文字幕 | 亚欧视频在线观看 | 六月天综合网 | 国产级a爱做片免费观看 | 婷婷在线五月 | 中文字幕视频在线观看 | 黄色a视频在线观看 | 国产高清一区二区三区四区 | 九九综合视频 | 精品国产欧美另类一区 | youjizzxxxx18日本 yy3341殇情影院理论片 | 欧美视频免费在线 | 欧美精品二区 | 羞羞视频网址 | 亚洲日韩精品欧美一区二区一 | 亚洲一区二区三区中文字幕 | 国内视频在线 | 不卡午夜视频 | 日产国产精品亚洲系列 | 日韩免费观看的一级毛片 | 大桥未久aⅴ一区二区 | 国外成人在线视频网站 | 免费大片a一级一级 | 欧美日韩一区二区视频免费看 | 亚洲人成网址在线观看 | 亚洲日本中文字幕 | 中文国产欧美在线观看 | 无遮挡男女激烈免费动态图 | 丝袜美腿极品老师系列集合 | 天天躁天天弄天天爱 | 动漫美女无遮挡 |