java重写paint方法时怎么样不覆盖文字_美团十月社招Java面试题合集,JVM+Spring+Spring,看了答案其实也不难...
歡迎關(guān)注專(zhuān)欄《Java架構(gòu)筑基》——專(zhuān)注于Java技術(shù)的研究與分享!
Java架構(gòu)筑基?zhuanlan.zhihu.com- Java架構(gòu)筑基——專(zhuān)注于Java技術(shù)的研究與分享!
- 后續(xù)文章將首發(fā)此專(zhuān)欄!
- 歡迎各位Java工程師朋友投稿和關(guān)注
美團(tuán)算大廠嗎?為什么程序員擠破頭也要進(jìn)大廠?
那年十八 母校舞會(huì)站著如嘍啰那時(shí)候 我含淚發(fā)誓各位 必須看到我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ū)ο?#xff1f;
Java 不是100%面向?qū)ο?#xff0c;因?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)?什么是運(yùn)行時(shí)多態(tài),也稱(chēng)動(dòng)態(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)型:
- 編譯時(shí)多態(tài)。
- 運(yùn)行時(shí)多態(tài)。
- 編譯時(shí)多態(tài)主要是對(duì)方法進(jìn)行重載(overload),而運(yùn)行時(shí)多態(tài)主要通過(guò)使用繼承或者實(shí)現(xiàn)接口。
在 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。
6. 列舉Spring配置中常用的重要注解。
下面是一些重要的注解:
- @Required
- @Autowired
- @Qualifier
- @Resource
- @PostConstruct
- @PreDestroy
7. 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。
8. 什么是JDBC驅(qū)動(dòng)?
JDBC Driver 是一種實(shí)現(xiàn) Java 應(yīng)用與數(shù)據(jù)庫(kù)交互的軟件。JDBC 驅(qū)動(dòng)有下面4種:
- JDBC-ODBC bridge 驅(qū)動(dòng)
- Native-API 驅(qū)動(dòng)(部分是 Java 驅(qū)動(dòng))
- 網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)(全部是 Java 驅(qū)動(dòng))
- Thin driver(全部是 Java 驅(qū)動(dòng))
9. 使用 Java 連接數(shù)據(jù)庫(kù)有哪幾步?
- 注冊(cè)驅(qū)動(dòng)類(lèi)
- 新建數(shù)據(jù)庫(kù)連接
- 新建語(yǔ)句(statement)
- 查詢(xún)
- 關(guān)閉連接
寫(xiě)在最后
篇幅有限,所以文中并沒(méi)有給出所有的面試題,有需要的朋友下面有領(lǐng)取方式;其實(shí)不管面不面試,拿來(lái)試試手也挺好,就當(dāng)復(fù)習(xí)復(fù)習(xí)
PDF完整版面試題領(lǐng)取方式:
領(lǐng)取地址
以下是部分面試題截圖
總結(jié)
以上是生活随笔為你收集整理的java重写paint方法时怎么样不覆盖文字_美团十月社招Java面试题合集,JVM+Spring+Spring,看了答案其实也不难...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Redis 有序集合(zset)取交集(
- 下一篇: javaaop模式供其他项目调用_Jav