欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

百度Java面試題 前200頁精選(中)

 更新時間:2017年12月06日 10:18:16   作者:tangyouhua  
這篇文章主要為大家分享了Java面試資源中篇,百度“Java面試題”前200頁都在這里了,具有一定的參考價值,感興趣的小伙伴們可以參考一下

百度“Java面試題”前200頁精選中篇

多線程

基本概念

什么是線程
多線程的優(yōu)點

多線程的幾種實現(xiàn)方式
1.用 Runnable 還是 Thread

什么是線程安全

  • Vector, SimpleDateFormat 是線程安全類嗎
  • 什么 Java 原型不是線程安全的
  • 哪些集合類是線程安全的

多線程中的忙循環(huán)是什么
如何創(chuàng)建一個線程
編寫多線程程序有幾種實現(xiàn)方式
什么是線程局部變量
線程和進程有什么區(qū)別?進程間如何通訊,線程間如何通訊
什么是多線程環(huán)境下的偽共享(false sharing)
同步和異步有何異同,在什么情況下分別使用他們?舉例說明

Current

ConcurrentHashMap 和 Hashtable的區(qū)別
ArrayBlockingQueue, CountDownLatch的用法
ConcurrentHashMap的并發(fā)度是什么

CyclicBarrier 和 CountDownLatch有什么不同?各自的內(nèi)部原理和用法是什么
Semaphore的用法
Thread

啟動一個線程是調(diào)用 run() 還是 start() 方法?start() 和 run() 方法有什么區(qū)別
調(diào)用start()方法時會執(zhí)行run()方法,為什么不能直接調(diào)用run()方法
sleep() 方法和對象的 wait() 方法都可以讓線程暫停執(zhí)行,它們有什么區(qū)別
yield方法有什么作用?sleep() 方法和 yield() 方法有什么區(qū)別
Java 中如何停止一個線程
stop() 和 suspend() 方法為何不推薦使用
如何在兩個線程間共享數(shù)據(jù)
如何強制啟動一個線程
如何讓正在運行的線程暫停一段時間
什么是線程組,為什么在Java中不推薦使用
你是如何調(diào)用 wait(方法的)?使用 if 塊還是循環(huán)?為什么

生命周期

有哪些不同的線程生命周期
線程狀態(tài),BLOCKED 和 WAITING 有什么區(qū)別
畫一個線程的生命周期狀態(tài)圖

ThreadLocal 用途是什么,原理是什么,用的時候要注意什么
ThreadPool

線程池是什么?為什么要使用它
如何創(chuàng)建一個Java線程池
ThreadPool用法與優(yōu)勢
提交任務(wù)時,線程池隊列已滿時會發(fā)會生什么
newCache 和 newFixed 有什么區(qū)別?簡述原理。構(gòu)造函數(shù)的各個參數(shù)的含義是什么,比如 coreSize, maxsize 等
線程池的實現(xiàn)策略
線程池的關(guān)閉方式有幾種,各自的區(qū)別是什么
線程池中submit() 和 execute()方法有什么區(qū)別?

線程調(diào)度

Java中用到的線程調(diào)度算法是什么
什么是多線程中的上下文切換
你對線程優(yōu)先級的理解是什么
什么是線程調(diào)度器 (Thread Scheduler) 和時間分片 (Time Slicing)

線程同步

請說出你所知的線程同步的方法
synchronized 的原理是什么
synchronized 和 ReentrantLock 有什么不同
什么場景下可以使用 volatile 替換 synchronized
有T1,T2,T3三個線程,怎么確保它們按順序執(zhí)行?怎樣保證T2在T1執(zhí)行完后執(zhí)行,T3在T2執(zhí)行完后執(zhí)行
同步塊內(nèi)的線程拋出異常會發(fā)生什么
當一個線程進入一個對象的 synchronized 方法A 之后,其它線程是否可進入此對象的 synchronized 方法B
使用 synchronized 修飾靜態(tài)方法和非靜態(tài)方法有什么區(qū)別
如何從給定集合那里創(chuàng)建一個 synchronized 的集合

Java Concurrency API 中 的 Lock 接口是什么?對比同步它有什么優(yōu)勢
Lock 與 Synchronized 的區(qū)別?Lock 接口比 synchronized 塊的優(yōu)勢是什么
ReadWriteLock是什么?
鎖機制有什么用
什么是樂觀鎖(Optimistic Locking)?如何實現(xiàn)樂觀鎖?如何避免ABA問題
解釋以下名詞:重排序,自旋鎖,偏向鎖,輕量級鎖,可重入鎖,公平鎖,非公平鎖,樂觀鎖,悲觀鎖
什么時候應(yīng)該使用可重入鎖
簡述鎖的等級方法鎖、對象鎖、類鎖
Java中活鎖和死鎖有什么區(qū)別?
什么是死鎖(Deadlock)?導(dǎo)致線程死鎖的原因?如何確保 N 個線程可以訪問 N 個資源同時又不導(dǎo)致死鎖
死鎖與活鎖的區(qū)別,死鎖與饑餓的區(qū)別
怎么檢測一個線程是否擁有鎖
如何實現(xiàn)分布式鎖
有哪些無鎖數(shù)據(jù)結(jié)構(gòu),他們實現(xiàn)的原理是什么

讀寫鎖可以用于什么應(yīng)用場景

  • Executors類是什么? Executor和Executors的區(qū)別
  • 什么是Java線程轉(zhuǎn)儲(Thread Dump),如何得到它
  • 如何在Java中獲取線程堆棧
  • 說出 3 條在 Java 中使用線程的最佳實踐
  • 在線程中你怎么處理不可捕捉異常
  • 實際項目中使用多線程舉例。你在多線程環(huán)境中遇到的常見的問題是什么?你是怎么解決它的
  • 請說出與線程同步以及線程調(diào)度相關(guān)的方法
  • 程序中有3個 socket,需要多少個線程來處理
  • 假如有一個第三方接口,有很多個線程去調(diào)用獲取數(shù)據(jù),現(xiàn)在規(guī)定每秒鐘最多有 10 個線程同時調(diào)用它,如何做到
  • 如何在 Windows 和 Linux 上查找哪個線程使用的 CPU 時間最長
  • 如何確保 main() 方法所在的線程是 Java 程序最后結(jié)束的線程
  • 非常多個線程(可能是不同機器),相互之間需要等待協(xié)調(diào)才能完成某種工作,問怎么設(shè)計這種協(xié)調(diào)方案
  • 你需要實現(xiàn)一個高效的緩存,它允許多個用戶讀,但只允許一個用戶寫,以此來保持它的完整性,你會怎樣去實現(xiàn)它

異常

基本概念

Error 和 Exception有什么區(qū)別
1.UnsupportedOperationException是什么
2.NullPointerException 和 ArrayIndexOutOfBoundException 之間有什么相同之處

什么是受檢查的異常,什么是運行時異常
運行時異常與一般異常有何異同
簡述一個你最常見到的runtime exception(運行時異常)

finally

finally關(guān)鍵詞在異常處理中如何使用
1.如果執(zhí)行finally代碼塊之前方法返回了結(jié)果,或者JVM退出了,finally塊中的代碼還會執(zhí)行嗎
2.try里有return,finally還執(zhí)行么?那么緊跟在這個try后的finally {}里的code會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后
3.在什么情況下,finally語句不會執(zhí)行

throw 和 throws 有什么區(qū)別?
OOM你遇到過哪些情況?你是怎么搞定的?
SOF你遇到過哪些情況?
既然我們可以用RuntimeException來處理錯誤,那么你認為為什么Java中還存在檢查型異常
當自己創(chuàng)建異常類的時候應(yīng)該注意什么
導(dǎo)致空指針異常的原因
異常處理 handle or declare 原則應(yīng)該如何理解
怎么利用 JUnit 來測試一個方法的異常
catch塊里別不寫代碼有什么問題
你曾經(jīng)自定義實現(xiàn)過異常嗎?怎么寫的
什么是 異常鏈
在try塊中可以拋出異常嗎

JDBC

通過 JDBC 連接數(shù)據(jù)庫有哪幾種方式
闡述 JDBC 操作數(shù)據(jù)庫的基本步驟
JDBC 中如何進行事務(wù)處理
什么是 JdbcTemplate
什么是 DAO 模塊
使用 JDBC 操作數(shù)據(jù)庫時,如何提升讀取數(shù)據(jù)的性能?如何提升更新數(shù)據(jù)的性能
列出 5 個應(yīng)該遵循的 JDBC 最佳實踐

IO

File

File類型中定義了什么方法來創(chuàng)建一級目錄
File類型中定義了什么方法來判斷一個文件是否存在

為了提高讀寫性能,可以采用什么流
Java中有幾種類型的流
JDK 為每種類型的流提供了一些抽象類以供繼承,分別是哪些類
對文本文件操作用什么I/O流
對各種基本數(shù)據(jù)類型和String類型的讀寫,采用什么流
能指定字符編碼的 I/O 流類型是什么

序列化

什么是序列化?如何實現(xiàn) Java 序列化及注意事項
Serializable 與 Externalizable 的區(qū)別

Socket

socket 選項 TCP NO DELAY 是指什么
Socket 工作在 TCP/IP 協(xié)議棧是哪一層
TCP、UDP 區(qū)別及 Java 實現(xiàn)方式

說幾點 IO 的最佳實踐
直接緩沖區(qū)與非直接緩沖器有什么區(qū)別?
怎么讀寫 ByteBuffer?ByteBuffer 中的字節(jié)序是什么
當用System.in.read(buffer)從鍵盤輸入一行n個字符后,存儲在緩沖區(qū)buffer中的字節(jié)數(shù)是多少
如何使用掃描器類(Scanner Class)令牌化

面向?qū)ο缶幊蹋∣OP)

解釋下多態(tài)性(polymorphism),封裝性(encapsulation),內(nèi)聚(cohesion)以及耦合(coupling)
多態(tài)的實現(xiàn)原理
封裝、繼承和多態(tài)是什么
對象封裝的原則是什么?


獲得一個類的類對象有哪些方式
重載(Overload)和重寫(Override)的區(qū)別。重載的方法能否根據(jù)返回類型進行區(qū)分?
說出幾條 Java 中方法重載的最佳實踐

抽象類

抽象類和接口的區(qū)別
抽象類中是否可以有靜態(tài)的main方法
抽象類是否可實現(xiàn)(implements)接口
抽象類是否可繼承具體類(concrete class)

匿名類(Anonymous Inner Class)

匿名內(nèi)部類是否可以繼承其它類?是否可以實現(xiàn)接口

內(nèi)部類

內(nèi)部類分為幾種
內(nèi)部類可以引用它的包含類(外部類)的成員嗎
請說一下 Java 中為什么要引入內(nèi)部類?還有匿名內(nèi)部類

繼承

繼承(Inheritance)與聚合(Aggregation)的區(qū)別在哪里
繼承和組合之間有什么不同
為什么類只能單繼承,接口可以多繼承
存在兩個類,B 繼承 A,C 繼承 B,能將 B 轉(zhuǎn)換為 C 么?如 C = (C) B
如果類 a 繼承類 b,實現(xiàn)接口c,而類 b 和接口 c 中定義了同名變量,請問會出現(xiàn)什么問題

接口

接口是什么
接口是否可繼承接口
為什么要使用接口而不是直接使用具體類?接口有什么優(yōu)點

泛型

泛型的存在是用來解決什么問題
泛型的常用特點
List能否轉(zhuǎn)為List

工具類

日歷

Calendar Class的用途
如何在Java中獲取日歷類的實例
解釋一些日歷類中的重要方法
GregorianCalendar 類是什么
SimpleTimeZone 類是什么
Locale類是什么
如何格式化日期對象
如何添加小時(hour)到一個日期對象(Date Objects)
如何將字符串 YYYYMMDD 轉(zhuǎn)換為日期

Math

Math.round()什么作用?Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

XML

XML文檔定義有幾種形式?它們之間有何本質(zhì)區(qū)別?解析XML文檔有哪幾種方式?DOM 和 SAX 解析器有什么不同?
Java解析XML的方式
用 jdom 解析 xml 文件時如何解決中文問題?如何解析
你在項目中用到了 XML 技術(shù)的哪些方面?如何實現(xiàn)

動態(tài)代理

描述動態(tài)代理的幾種實現(xiàn)方式,分別說出相應(yīng)的優(yōu)缺點

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot之Jpa通用接口及公共方法使用示例

    springboot之Jpa通用接口及公共方法使用示例

    這篇文章主要為大家介紹了springboot?之Jpa通用接口及公共方法使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 淺析java的foreach循環(huán)

    淺析java的foreach循環(huán)

    foreach語句是java5之后的新特征之一,在循環(huán)遍歷數(shù)組、集合方面更加簡潔,有需要的朋友可以參考一下
    2013-12-12
  • 基于JAVA每月運勢api調(diào)用代碼實例

    基于JAVA每月運勢api調(diào)用代碼實例

    這篇文章主要為大家詳細介紹了JAVA每月運勢api調(diào)用代碼實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 如何使用IntelliJ IDEA的HTTP Client進行接口驗證

    如何使用IntelliJ IDEA的HTTP Client進行接口驗證

    這篇文章主要介紹了如何使用IntelliJ IDEA的HTTP Client進行接口驗證,本文給大家分享最新完美解決方案,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Java利用Redis實現(xiàn)高并發(fā)計數(shù)器的示例代碼

    Java利用Redis實現(xiàn)高并發(fā)計數(shù)器的示例代碼

    這篇文章主要介紹了Java利用Redis實現(xiàn)高并發(fā)計數(shù)器的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Java線程實現(xiàn)的兩種方式解析

    Java線程實現(xiàn)的兩種方式解析

    這篇文章主要介紹了Java線程實現(xiàn)的兩種方式解析,注意在構(gòu)造器中啟動這個線程的話,很容易造成this逃逸的問題,這是要注意的,這是通過直接集成thread來成為線程,同時在這種情況下,你可以通過調(diào)用合適的方法來,需要的朋友可以參考下
    2024-01-01
  • spring cloud config和bus組件實現(xiàn)自動刷新功能

    spring cloud config和bus組件實現(xiàn)自動刷新功能

    今天通過本文給大家介紹spring cloud config和bus組件實現(xiàn)自動刷新功能,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-10-10
  • springboot中的多個application文件講解

    springboot中的多個application文件講解

    這篇文章主要介紹了springboot中的多個application文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Mybatis之類型處理器TypeHandler的作用與自定義方式

    Mybatis之類型處理器TypeHandler的作用與自定義方式

    這篇文章主要介紹了Mybatis之類型處理器TypeHandler的作用與自定義方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Java volatile的適用場景實例詳解

    Java volatile的適用場景實例詳解

    在本文里我們給大家整理了一篇關(guān)于Java volatile的適用場景實例內(nèi)容和知識點,需要的朋友們可以學(xué)習(xí)下。
    2019-08-08

最新評論