国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java面試題及答案(基礎篇)

這篇具有很好參考價值的文章主要介紹了java面試題及答案(基礎篇)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

如今IT仍是熱門行業(yè),面試程序員的人也非常多,那么,怎樣才能順利通過面試呢?2021最新java面試題及答案(基礎篇),為你的面試助攻!

1、Java中的內存溢出是如何造成的?

OutOfMemoryError:

(1)PerGern Space 程序中使用了大量jar或class,使Java虛擬機裝載類空間不夠。

解決方案:調參XX:PermSize 和 XX:MaxPermSize 、減少jar包,減少類的重復加載

(2)Java Heap Space Java虛擬機創(chuàng)建了太多的對象。

解決方案:調參Xms(初始堆大小)Xmx(最大堆大?。z查死循環(huán)或不必要創(chuàng)建的重復對象

(3)unable to create new native Thread JVM占用了太多內存空間,而在JVM中創(chuàng)建線程還要再操作系統(tǒng)中也創(chuàng)建線程。

解決方案:調整JVM中線程大小。

2、String s = “123”;這個語句有幾個對象產生?

若字符串池中沒有"123",則產生一個對象,并且放入常量池中,若有"123",則產生0個對象。

若是String s = new String(“123”),若常量池中沒有,則在常量池中創(chuàng)建一個,然后在堆內存中創(chuàng)建一個。

3、問題:如果A和B對象循環(huán)引用,是否可以被GC?

回答:可以,現在的虛擬機基本都是通過可達性分析算法來判斷對象是否存活的,而不是通過簡單的引用計數法來判斷對象是否存活。可達性分析算法使用一系列的“GC Roots”對象(虛擬機棧中引用的對象、靜態(tài)屬性引用對象)作為起始點,這些節(jié)點向下搜索的路徑稱為引用鏈,當一個對象到GC Roots沒有任何引用鏈連接,則證明對象是不可用的。

4、Error、Exception和RuntimeException的區(qū)別,作用又是什么?

Error和Exception都是Throwable的子類,RuntimeException是Exception的子類。

Error用于指示合理應用程序不應該試圖捕獲的錯誤。

Exception指出合理的應用程序需要捕獲的條件。分為已檢查異常和未檢查異常。

RuntimeException是未檢查異常,不需要try catch或在方法上聲明,主要子類:NullPointer、Arithmatic、ArrayIndexOutOfBounds、ClassCast。

5、hashCode的作用?

hashCode主要是用于快速查找,如HashMap結構中,用于定位鍵值對的位置。兩個對象相同,則hashCode一定相同,而hashCode相同的對象則不一定相同,就相當于放在同一個框里。

6、HashMap和Hashtable的區(qū)別?

線程安全性、null值的key、效率、HashMap(Iterator快速失敗迭代器)、Hashtable(enumerator迭代器)、時間推移HashMap元素位置會變

7、Reader和InputStream區(qū)別?

都是抽象類,Reader用于讀取字符流(char或String),InputStream用于讀取字節(jié)流(byte數組)。

8、HashMap中是否任何對象都可以做為key,用戶自定義對象做為key有沒有什么要求?

可以、但是要key對象必須是不可變的對象,不然在Entry被插入Map中后,再改變key值,會導致當前key值與hash值不符合,即與數組索引不符,將無法被查找到。

9、 啟動一個線程是用run()還是start()?

多線程有幾種實現 同步和并發(fā)是如何解決的 什么叫守護線程,用什么方法實現守護線程(Thread.setDeamon()的含義) 如何停止一個線程? 解釋是一下什么是線程安全?舉例說明一個線程不安全的例子。解釋Synchronized關鍵字的作用。 當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?

(1)start

(2)繼承Thread類、實現Runnable接口、使用ExectuorService、Future、Callable實現由返回值的線程。

(3)同步方法、同步代碼塊、鎖

(4)Damon線程、為其他線程的運行提供服務,如GC,Thread。setDeamon(true)。

(5)Thread.stop()不推薦(不會正確釋放資源)、使用中斷來停止線程。

(6)當多個線程訪問一個對象時,如果不用考慮這些線程在運行時環(huán)境下的調度和交替執(zhí)行,也不需要進行額外的同步,或者在調用方進行任何其他的協(xié)調操作,調用這個對象的行為都可以獲得正確的結果,那這個對象是線程安全的。

(7)車票被重復賣出。

(8)同步關鍵詞。修飾靜態(tài)方法,則以類作為鎖對象,同時只能有一個線程訪問此類同步的靜態(tài)方法;修飾普通方法,則以此對象作為鎖對象,同時只能有一個線程訪問此類同步的普通方法;也可以自定義鎖對象同步代碼塊。

(9)synchronized方法不可以進入,非synchronized可以進入。

10、最新java面試題之對sql進行優(yōu)化的原則有哪些?

11、Servlet的生命周期,Serlvet與CGI的區(qū)別?

生命周期:類加載、實例化(構造對象),初始化(init),服務(service),銷毀(destroy)。

CGI:common gateway interface,通用網關接口,Perl語言編寫,每個請求創(chuàng)建一個CGI對象。

Servlet:只需要實例化、初始化一次,多線程。

12、了解過哪些JDK8的新特性,舉例描述下相應的特性?

(1)lambda表達式:函數式編程,方法引用

(2)Stream API

(3)接口的默認方法

(4)日期時間API的改進,新增DateTimeFormatter方法

13、StringBuffer有什么優(yōu)勢?為什么快?

因為StringBuffer不需要重復創(chuàng)建String對象,但是其實也不是這樣。

比如String s = “a” + “b” + "c"操作編譯器會優(yōu)化,變成String s = “abc”

String s = s1 + s2 + s3編譯器也會優(yōu)化,變成StringBuilder的append操作,但是如果不是一次性+操作拼接完,就會反復生成String對象與StringBuilder對象,效率會很低。

14、加密解密算法了解嗎?

摘要算法:MD5(128位)、SHA1(160位),是一種不可逆的過程,無論多大的數據,經過摘要算法后都生成相同長度的數據。只能通過字典進行破解。

對稱加密算法:DES、AES,加密解密時使用相同的秘鑰。

非對稱加密算法:RSA,加密解密時使用不同的秘鑰,對接支付寶使用RSA2。

15、Integer內部緩存?

Integer類內部有一個staitic 的Integer數組,存儲的是一些已經完成初始化的Integer對象,一般值為(-128~127),若用==比較,則有時候會因為值不在緩存中而返回false,所以應該用equals比較。

16、ArrayList的原理?

(1)ArrayList是線程不安全的,若要線程安全,則使用CopyOnWriteList。

(2)底層是Object[]數組,內部有一個elementData引用指向數組,剛開始默認指向一個緩存空數組(transient),當要進行擴容時,會重新new一個大小為1.5倍(x + (x >>1))的新數組,然后將舊元素通過System.arraycopy這個native方法拷貝到新數組中。

(3)隨機讀寫(get、set)方法的算法復雜度為O(1)。

(4)增加操作分為兩種,add(index, value)的算法復雜度為O(n),因為要通過元素復制進行移動;而add(value)操作的算法復雜度為O(1)(若不發(fā)生擴容)。

(5)刪除操作的時間復雜度為O(n),因為不管是按index進行刪除還是按照object去刪除,都需要通過復制去實現移動操作,刪除后數組大小不會變,靠size屬性來維護長度。按object進行刪除時不能用new出來的對象,要通過ArrayList內對象的引用刪除。

17、LinkedList的原理?

(1)底層是一個雙向鏈表,維護著一個first指針和一個last指針。

(2)隨機讀寫(get,set)的時間復雜度為O(n)。

(3)插入操作add(object)的時間復雜度為O(1);add(index, object)的時間復雜度為O(n)。

(4)刪除操作remove(object)的時間復雜度為O(1);remove(index)的時間復雜度為O(n)。

18、解決高并發(fā)與高負載?

(1)靜態(tài)頁面消耗最小,盡可能的HTML靜態(tài)化,采用信息發(fā)布系統(tǒng)CMS實現信息錄入自動生成靜態(tài)頁面、在前端緩存不經常改變的動態(tài)數據。

(2)CDN,把CSS/JS等資源分布在不同的服務器上。

(3)負載均衡(Nginx)。

(4)緩存不常改變的數據(Redis、memcache)。

(5)圖片服務器與應用服務器分離。

(6)集群。

19、Spring中@Autowire與@Resource的區(qū)別?

@Autowire默認按照類型裝配,默認情況下它要求依賴對象必須存在如果允許為null,可以設置它required屬性為false,如果我們想使用按照名稱裝配,可以結合@Qualifier注解一起使用;

@Resource默認按照名稱裝配,當找不到與名稱匹配的bean才會按照類型裝配,可以通過name屬性指定,如果沒有指定name屬性,當注解標注在字段上,即默認取字段的名稱作為bean名稱尋找依賴對象,當注解標注在屬性的setter方法上,即默認取屬性名作為bean名稱尋找依賴對象

20、線程池使用的注意事項?

(1)防止死鎖。線程池中所有線程都在等待A事件發(fā)生,而沒有空閑線程去執(zhí)行A。

(2)防止系統(tǒng)資源不足。要控制線程數量。

(3)防止并發(fā)錯誤。

(4)防止線程泄漏,某個線程因RuntimeException或Error沒有正常被捕獲導致該線程異常終止,線程池失去了一個線程。

(5)避免任務過載。
?文章來源地址http://www.zghlxwxcb.cn/news/detail-654205.html

到了這里,關于java面試題及答案(基礎篇)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 2023 年Java面試題及答案大全(持續(xù)更新)

    2023 年Java面試題及答案大全(持續(xù)更新)

    本文分為十九個模塊,分別是:「Java 基礎、容器、多線程、反射、對象拷貝、Java Web 、異常、網絡、設計模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM」 Java 基礎 1. JDK 和 JRE 有什么區(qū)別? JDK:Java Development Kit 的簡稱,Jav

    2024年02月08日
    瀏覽(33)
  • 大廠最全1100道Java面試題及答案整理(2023最新版)

    大廠最全1100道Java面試題及答案整理(2023最新版)

    春招,秋招,社招,我們 Java 程序員的面試之路,是挺難的,過了 HR,還得被技術面,小刀在去各個廠面試的時候,經常是通宵睡不著覺,頭發(fā)都脫了一大把,還好最終僥幸能夠入職一個獨角獸公司,安穩(wěn)從事喜歡的工作至今... 近期也算是抽取出大部分休息的時間,為大家準

    2024年02月09日
    瀏覽(28)
  • 2023 年最新版Java面試題及答案整理(完整版,超詳細)

    2023 年最新版Java面試題及答案整理(完整版,超詳細)

    程序員一步入中年,不知不覺便會被鋪天蓋地的“危機感”上身,曾經的那個少年已經不在,時間就是這樣公平。就算你能發(fā)明Java語言,隨著時間的推移,你注定還是要成為慢慢變蔫的茄子,緩緩變黑的葡萄。 看著金九銀十就要來臨的消息,嚇得我周末趕緊拿出了面試資料

    2024年02月14日
    瀏覽(26)
  • php面試題及答案

    1 請輸出下面代碼執(zhí)行結果 復制 講解:count(var)是用來統(tǒng)計數組或對象的元素個數的。當var是null或者空數組時,結果為0。如果var是普通變量,則返回1。正常情況下返回var中的元素或屬性個數。 2 請說明php.ini中的safe_mode開啟之后影響了哪些函數 答案:Safe_mode是php的安全模式。

    2024年02月11日
    瀏覽(17)
  • 面試題:ES的面試題及答案

    什么是ES? 答:ES是Elasticsearch的縮寫,是一款開源的分布式搜索引擎。它可以快速地存儲、搜索和分析大量的數據,支持全文檢索、結構化查詢等多種查詢方式。ES的主要特點是速度快、可擴展、高可用和易于使用。 ES的主要用途是什么? 答:ES主要用于建立搜索引擎、日志

    2024年02月16日
    瀏覽(18)
  • 【面試題】2023前端vue面試題及答案

    【面試題】2023前端vue面試題及答案

    前后端面試題庫 (面試必備) 推薦:★★★★★ 地址:前端面試題庫??web前端面試題庫 VS java后端面試題庫大全 ? Vue3.0 為什么要用 proxy? 在 Vue2 中, 0bject.defineProperty 會改變原始數據,而 Proxy 是創(chuàng)建對象的虛擬表示,并提供 set 、get 和 deleteProperty 等處理器,這些處理器可

    2024年02月06日
    瀏覽(58)
  • php算法面試題及答案

    1. PHP的基礎知識點 PHP中類的繼承屬于單繼承,一個子類只能繼承一個父類??梢娦詾閜ublic protected的屬性和方法可以被繼承。 繼承的方法或屬性可以被重寫,可見性越來越大。 PHP中的變量名區(qū)分大小寫,但類名、函數名不區(qū)分大小寫。 2. error_reporting()函數的作用 error_reporti

    2024年02月09日
    瀏覽(15)
  • Qt經典面試題及答案

    面試題: 請解釋什么是Qt框架,以及它在軟件開發(fā)中的作用和優(yōu)勢。 請談談你在使用Qt進行GUI開發(fā)方面的經驗和技能。 請描述Qt的信號和槽機制,并解釋其在軟件開發(fā)中的作用。 請介紹Qt中的模型/視圖架構,并說明如何使用Qt模型/視圖框架來實現數據的展示和交互。 在Qt中,

    2024年02月03日
    瀏覽(28)
  • 運維常用面試題及答案

    介紹一下你的運維經驗和技能。 答案:在回答這個問題時,可以簡要概述你的運維經驗和技能,包括你的工作經歷、參與的項目、使用的工具和技術等。重點突出你在系統(tǒng)監(jiān)控、故障排除、自動化部署、容量規(guī)劃和安全性等方面的經驗和技能。 你在日常工作中使用過哪些自

    2024年02月15日
    瀏覽(19)
  • 28道Zookeeper面試題及答案

    28道Zookeeper面試題及答案

    JAVA面試寶典,搞定JAVA面試,不再是難題,系列文章傳送地址,請點擊本鏈接。 目錄 1、說說 Zookeeper 是什么? 2、ZooKeeper 有哪些應用場景? 3、說說Zookeeper的工作原理? 4、請描述一下 Zookeeper 的通知機制是什么? 5、Zookeeper 對節(jié)點的 watch 監(jiān)聽通知是永久的嗎? 6、 Zookeeper 集

    2024年01月21日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包