首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java SE 面試核心知識點精華整理(上):基礎語法、集合、併發、IO 全覆蓋

     編輯:Java 相關知識

JDK/JRE/JVM 三角關係

  • JDK = JRE + 開發工具(javac、jdb 等)
  • JRE = JVM + 核心類庫
  • JVM:平台相關,**不具備跨平台性**,保證 Java 跨平台的是「編譯一次,到處運行」的字節碼 + 各平台專屬 JVM

基礎語法要點

考點核心結論
保留字goto、const 未使用但保留
main 方法非關鍵字,JVM 識別的入口,簽名固定 public static void main(String[] args)
path vs classpathpath 指向可執行文件;classpath 指向 .class 文件
基本類型4 類 8 種:byte/short/int/long、float/double、char、boolean
byte 範圍-128 ~ 127
char 範圍0 ~ 65535 (Unicode)
long vs floatlong 8 字節,float 4 字節,但 float 範圍更大(指數位)
++/-- 前後綴獨立語句無差;混合運算時前綴先增後用,後綴先用後增
&& vs &短路與非短路,短路提升效率
== vs equals== 比基本類型值、引用類型地址;equals 未重寫同 ==,重寫比內容
String/Builder/BufferString 不可變;Buffer 線程安全;Builder 非線程安全、效率高

集合體系速覽

  • Collection → List(有序、可重復:ArrayList/LinkedList/Vector)→ Set(無序、唯一:HashSet/TreeSet)
  • Map:HashMap/Hashtable/TreeMap,鍵值對存儲
  • ArrayList vs LinkedList:數組 vs 鏈表,隨機訪問 vs 增刪
  • HashMap 原理:數組 + 鏈表/紅黑樹,hashCode 定位,equals 確認

併發基石

  • 線程創建:繼承 Thread / 實現 Runnable(推薦,避免單繼承限制)
  • 生命週期:新建 → 就緒 → 運行(含阻塞/等待) → 死亡
  • sleep() 不釋放鎖,指定時間自動喚醒;wait() 釋放鎖,需 notify() 喚醒
  • yield() 讓出 CPU,重新競爭

IO 流體系

  • 按方向:輸入流 / 輸出流
  • 按單位:字節流(InputStream/OutputStream) / 字符流(Reader/Writer)
  • flush() 刷新緩衝區可繼續寫;close() 釋放資源不可再用
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
概念定義
進程運行中的程序,資源分配單位
線程進程內執行路徑,調度單位
並發單核 CPU 時間片輪轉「邏輯同時」
並行多核 CPU 物理同時執行