Java基礎和底層面試題附答案

在大公司的面試裏,最愛考的就是基礎和底層的知識,可謂必考題,也是很多人薄弱的地方。在小公司的面試裏,也有不少考基礎的。整理一下基礎知識和底層原理相關的高頻面試題。爲了方便自我檢測,答案隱藏起來了,需要看答案的自行向右拖動滾動條查看。

目錄:

Java篇

Java的基本數據類型和對應的佔用空間
參考答案:https://www.runoob.com/java/java-basic-datatypes.html

面向對象的三大特徵?

                                                                                                                              封裝、繼承、多態。

什麼是多態?

                                                                                                                     接口的多種不同實現方式就是多態。比如同一個接口,使用不同的實例,執行不同的操作。             (這個很重要,一定要理解,有點抽象,不理解的請自行百度。)

局部內部類可以修改局部變量嗎?

                                                                                                           不能。原因:因爲局部內部類要訪問局部變量,局部變量必須被聲明爲final,所以局部內部類無法修改局部變量。JDK1.8後,在局部內部類訪問局部變量即使變量沒有被聲明爲final也是自動認爲該變量是final,所以局部內部類只能訪問而無法修改局部變量。注意!!!成員內部類是可以修改局部變量的。
                                                                   

多線程篇

JVM啓動的是多線程嗎?

                                                                                                                    JVM啓動至少啓動了垃圾回收線程和主線程,所以是多線程的。

如何讓主線程等待所有子線程執行完了再執行?

                                                                                                          方法:1.使用Thread的join()方法,在調用Thread的start()方法後調用Thread的jion()方法。Thread的join()方法的作用是讓父線程等待子線程結束之後才能繼續執行。
                                                                                                                 2.使用工具類CountDownLatch。
                                                                                                                 3.使用工具類CyclicBarrier。
                                                                                                                 4.使用線程池。
                                                                                                                 參考:https://blog.csdn.net/m0_37125796/article/details/81105099

數據結構篇

Set、List、Map的區別與聯繫?
ArrayList和LinkedList區別?
Vector和ArrayList 區別?
參考解析:https://blog.csdn.net/qq_39241239/article/details/82116734

Map的有序和無序實現類有哪些?

                                                                                                                       1.HashMap、Hashtable不是有序的;

                                                                                                                      2.TreeMap和LinkedHashMap是有序的(TreeMap默認 Key 升序,LinkedHashMap則記錄了插入順序)。

MySQL篇

整理中…

算法篇

整理中…

Spring篇

Spring 中創建的Bean(例如Controller)默認是單例還是多例的?

                                                                                                                                       默認是單例的。
                                                                                                                                   

Spring框架中的三大核心思想是什麼?

                                                                                                                       DI(依賴注入)
                                                                                                                       IOC(控制反轉)
                                                                                                                       AOP(面向切面編程)

Spring MVC篇

整理中…

MyBatis篇

整理中…

Redis篇

redis的數據類型有哪些?

																																						1.字符串(String)
																																						2.哈希(Hash)
																																						3.列表(List) 
																																						4.集合(Set)
																																						5.有序集合(sorted set)

JVM篇

對象被垃圾回收器回收前會調用什麼方法?

                                                                                                             finalize()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章