專題5:Java序列化
- 1、什麼是java序列化,如何實作java序列化?
- 2、儲存(持久化)對象及其狀态到記憶體或者磁盤
- 3、序列化對象以位元組數組保持-靜态成員不儲存
- 4、序列化使用者遠端對象傳輸
- 5、Serializable 實作序列化
- 6、writeObject 和 readObject 自定義序列化政策
- 7、序列化 ID
- 8、序列化并不儲存靜态變量
- 9、Transient 關鍵字阻止該變量被序列化到檔案中
- 10、序列化(深 clone 一中實作)
專題6:Java注解
- 1、4種标準元注解是哪四種?
- 2、注解是什麼?
專題7:多線程&并發
- 1、Java中實作多線程有幾種方法
- 2、繼承 Thread 類
- 3、實作 Runnable 接口。
- 4、ExecutorService、 Callable、 Future 有傳回值線程
- 5、基于線程池的方式
- 6、4 種線程池
- 7、如何停止一個正在運作的線程
- 8、notify()和notifyAll()有什麼差別?
- 9、sleep()和wait() 有什麼差別?
- 10、volatile 是什麼?可以保證有序性嗎?
- 11、Thread 類中的start() 和 run() 方法有什麼差別?
- 12、為什麼wait, notify 和 notifyAll這些方法不在thread類裡面?
- 13、為什麼wait和notify方法要在同步塊中調用?
- 14、Java中interrupted 和 isInterruptedd方法的差別?
- 15、Java中synchronized 和 ReentrantLock 有什麼不同?
- 16、有三個線程T1,T2,T3,如何保證順序執行?
- 17、SynchronizedMap和ConcurrentHashMap有什麼差別?
- 18、什麼是線程安全
- 19、Thread類中的yield方法有什麼作用?
- 20、Java線程池中submit() 和 execute()方法有什麼差別?
- 21、說一說自己對于 synchronized 關鍵字的了解
- 22、說說自己是怎麼使用 synchronized 關鍵字,在項目中用到了嗎synchronized關鍵字最主要的三種使用方式
- 23、什麼是線程安全?Vector是一個線程安全類嗎?
- 24、volatile關鍵字的作用?
- 25、簡述一下你對線程池的了解
- 26、線程生命周期(狀态)
- 27、建立狀态(NEW)
- 28、就緒狀态(RUNNABLE)
- 29、運作狀态(RUNNING)
- 30、阻塞狀态(BLOCKED)
- 31、線程死亡(DEAD)
- 32、終止線程 4 種方式
- 33、start 與 run 差別
- 34、JAVA 背景線程
- 35、什麼是樂觀鎖
- 36、什麼是悲觀鎖
- 37、什麼是自旋鎖
- 38、Synchronized 同步鎖
- 39、ReentrantLock
- 40、Condition 類和 Object 類鎖方法差別差別
- 41、tryLock 和 lock 和 lockInterruptibly 的差別
- 42、Semaphore 信号量
- 43、Semaphore 與 ReentrantLock 差別
- 44、可重入鎖(遞歸鎖)
- 45、公平鎖與非公平鎖
- 46、ReadWriteLock 讀寫鎖
- 47、共享鎖和獨占鎖
- 48、重量級鎖(Mutex Lock)
- 49、輕量級鎖
- 50、偏向鎖
- 51、分段鎖
- 52、鎖優化
- 53、線程基本方法
- 54、線程等待(wait)
- 55、線程睡眠(sleep)
- 56、線程讓步(yield)
- 57、線程中斷(interrupt)
- 58、Join 等待其他線程終止
- 59、為什麼要用 join()方法?
- 60、線程喚醒(notify)
- 61、線程其他方法
- 62、程序
- 63、上下文
- 64、寄存器
- 65、程式計數器
- 66、PCB-“切換桢”
- 67、上下文切換的活動
- 68、引起線程上下文切換的原因
- 69、同步鎖
- 70、死鎖
- 71、線程池原理
- 72、線程複
- 73、線程池的組成
- 74、拒絕政策
- 75、Java 線程池工作過程
- 76、JAVA 阻塞隊列原理
- 77、Java 中的阻塞隊列
- 78、ArrayBlockingQueue(公平、非公平)
- 79、LinkedBlockingQueue(兩個獨立鎖提高并發)
- 80、PriorityBlockingQueue(compareTo 排序實作優先)
- 81、DelayQueue(緩存失效、定時任務 )
- 82、SynchronousQueue(不存儲資料、可用于傳遞資料)
- 83、LinkedTransferQueue
- 84、LinkedBlockingDeque
- 85、在 java 中守護線程和本地線程差別
- 86、線程與程序的差別?
- 87、什麼是多線程中的上下文切換?
- 88、死鎖與活鎖的差別,死鎖與饑餓的差別?
- 89、Java 中用到的線程排程算法是什麼?
- 90、什麼是線程組,為什麼在 Java 中不推薦使用?
- 91、為什麼使用 Executor 架構?
- 92、在 Java 中 Executor 和 Executors 的差別?
- 93、如何在 Windows 和 Linux 上查找哪個線程使用的 CPU 時間最長?
- 94、什麼是原子操作?在 Java Concurrency API 中有哪些原子類(atomic classes)?
- 95、Java Concurrency API 中的 Lock 接口(Lock interface)是什麼?對比同步它有什麼優勢?
- 96、什麼是 Executors 架構?
- 97、什麼是阻塞隊列?阻塞隊列的實作原理是什麼?如何使用阻塞隊列來實作生産者-消費者模型?
- 98、什麼是 Callable 和 Future?
- 99、什麼是 FutureTask?使用 ExecutorService 啟動任務。
- 100、什麼是并發容器的實作?
- 101、多線程同步和互斥有幾種實作方法,都是什麼?
- 102、什麼是競争條件?你怎樣發現和解決競争?
- 103、為什麼我們調用 start()方法時會執行 run()方法,為什麼我們不能直接調用 run()方法?
- 104、Java中,你怎樣喚醒一個阻塞的線程?
- 105、在 Java 中 CycliBarriar 和 CountdownLatch 有什麼差別?
- 106、什麼是不可變對象,它對寫并發應用有什麼幫助?
- 107、Java 中用到的線程排程算法是什麼?
- 108、什麼是線程組,為什麼在 Java 中不推薦使用?
專題8:JVM
- 1、java中會存在記憶體洩漏嗎,請簡單描述。
- 2、64 位 JVM 中,int 的長度是多數?
- 3、Serial 與 Parallel GC 之間的不同之處?
- 4、32 位和 64 位的 JVM,int 類型變量的長度是多數?
- 5、Java 中 WeakReference 與 SoftReference 的差別?
- 6、JVM 選項 -XX:+UseCompressedOops 有什麼作用?為什麼要使用?
- 7、怎樣通過 Java 程式來判斷 JVM 是 32 位 還是 64位?
- 8、32 位 JVM 和 64 位 JVM 的最大堆記憶體分别是多數?
- 9、JRE、JDK、JVM 及 JIT 之間有什麼不同?
- 10、解釋 Java 堆空間及 GC?
- 11、JVM 記憶體區域
- 12、程式計數器(線程私有)
- 13、虛拟機棧(線程私有)
- 14、本地方法區(線程私有)
- 15、你能保證 GC 執行嗎?
- 16、怎麼擷取 Java 程式使用的記憶體?堆使用的百分比?
- 17、Java 中堆和棧有什麼差別?
- 18、描述一下 JVM 加載 class 檔案的原理機制
- 19、GC 是什麼?為什麼要有 GC?
- 20、堆(Heap-線程共享) -運作時資料區
- 21、方法區/永久代(線程共享)
- 22、JVM 運作時記憶體
- 23、新生代
- 24、老年代
- 25、永久代
- 26、JAVA8 與中繼資料
- 27、引用計數法
- 28、可達性分析
- 29、标記清除算法( Mark-Sweep)
- 30、複制算法(copying)
- 31、标記整理算法(Mark-Compact)
- 32、分代收集算法
- 33、新生代與複制算法
- 34、老年代與标記複制算法
- 35、JAVA 強引用
- 36、JAVA軟引用
- 37、JAVA弱引用
- 38、JAVA虛引用
- 39、分代收集算法
- 40、在新生代-複制算法
- 41、在老年代-标記整理算法
- 42、分區收集算法
- 43、GC 垃圾收集器
- 44、Serial 垃圾收集器(單線程、 複制算法)
- 45、ParNew 垃圾收集器(Serial+多線程)
- 46、Parallel Scavenge 收集器(多線程複制算法、高效)
- 57、Serial Old 收集器(單線程标記整理算法 )
- 58、Parallel Old 收集器(多線程标記整理算法)
- 59、CMS 收集器(多線程标記清除算法)
- 60、G1 收集器
- 61、JVM 類加載機制
- 62、類加載器
- 63、雙親委派
- 64、OSGI( 動态模型系統)
- 65、動态改變構造
- 66、子產品化程式設計與熱插拔
- 67、JVM記憶體模型
- 68、棧
- 69、本地方法棧
- 70、程式計數器
- 71、堆
- 72、方法區
- 73、分代回收
- 74、堆和棧的差別
- 75、什麼時候會觸發FullGC
- 76、什麼是Java虛拟機?為什麼Java被稱作是“平台無關的程式設計語言”?
- 77、對象配置設定規則
- 78、描述一下JVM加載class檔案的原理機制?
- 79、Java對象建立過程
- 80、簡述Java的對象結構
- 81、如何判斷對象可以被回收
- 82、JVM的永久代中會發生垃圾回收麼
- 83、垃圾收集算法
- 84、調優指令有哪些?
- 85、調優工具
- 86、Minor GC與Full GC分别在什麼時候發生?
- 87、你知道哪些JVM性能調優
專題9:Mysql
- 1、資料庫存儲引擎
- 2、InnoDB(B+樹)
- 2、TokuDB( Fractal Tree-節點帶資料)
- 3、MyIASM
- 4、Memory
- 5、資料庫引擎有哪些
- 6、InnoDB與MyISAM的差別
- 7、索引
- 8、常見索引原則有
- 9、資料庫的三範式是什麼
- 10、第一範式(1st NF - 列都是不可再分)
- 11、第二範式(2nd NF- 每個表隻描述一件事情)
- 12、第三範式(3rd NF- 不存在對非主鍵列的傳遞依賴)
- 13、資料庫是事務
- 14、SQL優化
- 15、簡單說一說drop、delete與truncate的差別
- 16、什麼是視圖
- 17、什麼是内聯接、左外聯接、右外聯接?
- 18、并發事務帶來哪些問題?
- 19、事務隔離級别有哪些?MySQL的預設隔離級别是?
- 20、大表如何優化?
- 21、水準分區
- 22、分庫分表之後,id 主鍵如何處理
- 23、存儲過程(特定功能的 SQL 語句集)
- 24、存儲過程優化思路
- 25、觸發器(一段能自動執行的程式)
- 26、資料庫并發政策
- 27、MySQL 中有哪幾種鎖?
- 28、MySQL 中有哪些不同的表格?
- 29、簡述在 MySQL 資料庫中 MyISAM 和 InnoDB 的差別
- 30、MySQL 中 InnoDB 支援的四種事務隔離級别名稱,以及逐級之間的差別?
- 31、CHAR 和 VARCHAR 的差別?
- 32、主鍵和候選鍵有什麼差別?
- 33、myisamchk 是用來做什麼的?
- 34、MyISAM Static 和 MyISAM Dynamic 有什麼差別?
- 35、如果一個表有一列定義為 TIMESTAMP,将發生什麼?
- 36、你怎麼看到為表格定義的所有索引?
- 37、LIKE 聲明中的%和_是什麼意思?
- 38、列對比運算符是什麼?
- 39、BLOB 和 TEXT 有什麼差別?
- 40、MySQL_fetch_array 和 MySQL_fetch_object 的差別是什麼?
- 41、MyISAM 表格将在哪裡存儲,并且還提供其存儲格式?
- 42、MySQL 如何優化 DISTINCT?
- 43、如何顯示前 50 行?
- 44、可以使用多少列建立索引?
- 45、NOW()和 CURRENT_DATE()有什麼差別?
- 46、什麼是非标準字元串類型?
- 47、什麼是通用 SQL 函數?
- 48、MySQL 支援事務嗎?
- 49、MySQL 裡記錄貨币用什麼字段類型好
- 50、MySQL 有關權限的表都有哪幾個?
- 51、列的字元串類型可以是什麼?
- 52、MySQL 資料庫作釋出系統的存儲,一天五萬條以上的增量,預計運維三年,怎麼優化?
- 53、鎖的優化政策
- 54、索引的底層實作原理和優化
- 55、什麼情況下設定了索引但無法使用
- 56、實踐中如何優化 MySQL
- 57、優化資料庫的方法
- 58、簡單描述 MySQL 中,索引,主鍵,唯一索引,聯合索引的差別,對資料庫的性能有什麼影響(從讀寫兩方面)
- 59、資料庫中的事務是什麼?
- 60、SQL 注入漏洞産生的原因?如何防止?
- 61、為表中得字段選擇合适得資料類型
- 62、存儲時期
- 63、對于關系型資料庫而言,索引是相當重要的概念,請回答有關索引的幾個問題
- 64、解釋 MySQL 外連接配接、内連接配接與自連接配接的差別
- 65、Myql 中的事務復原機制概述
- 66、SQL 語言包括哪幾部分?每部分都有哪些操作關鍵
- 67、完整性限制包括哪些?
- 68、什麼是鎖?
- 69、什麼叫視圖?遊标是什麼?
- 70、什麼是存儲過程?用什麼來調用?
- 71、如何通俗地了解三個範式?
- 72、什麼是基本表?什麼是視圖?
- 73、試述視圖的優點?
- 74、NULL 是什麼意思
- 75、主鍵、外鍵和索引的差別?
- 76、你可以用什麼來確定表格裡的字段隻接受特定範圍裡的值?
- 77、說說對 SQL 語句優化有哪些方法?(選擇幾條)
- 78、什麼是樂觀鎖
- 79、什麼是悲觀鎖
- 80、什麼是時間戳
- 81、什麼是行級鎖
- 82、什麼是表級鎖
- 83、什麼是頁級鎖
最後
這次要給大家分享總結的東西就是這些了
資料全都放在——***我的學習筆記:大廠面試真題+微服務+MySQL+Java+Redis+算法+網絡+Linux+Spring全家桶+JVM+學習筆記圖***
最後再分享一份終極手撕架構的大禮包(學習筆記):分布式+微服務+開源架構+性能優化
都有哪些操作關鍵
- 67、完整性限制包括哪些?
- 68、什麼是鎖?
- 69、什麼叫視圖?遊标是什麼?
- 70、什麼是存儲過程?用什麼來調用?
- 71、如何通俗地了解三個範式?
- 72、什麼是基本表?什麼是視圖?
- 73、試述視圖的優點?
- 74、NULL 是什麼意思
- 75、主鍵、外鍵和索引的差別?
- 76、你可以用什麼來確定表格裡的字段隻接受特定範圍裡的值?
- 77、說說對 SQL 語句優化有哪些方法?(選擇幾條)
- 78、什麼是樂觀鎖
- 79、什麼是悲觀鎖
- 80、什麼是時間戳
- 81、什麼是行級鎖
- 82、什麼是表級鎖
- 83、什麼是頁級鎖
最後
這次要給大家分享總結的東西就是這些了
資料全都放在——***我的學習筆記:大廠面試真題+微服務+MySQL+Java+Redis+算法+網絡+Linux+Spring全家桶+JVM+學習筆記圖***
最後再分享一份終極手撕架構的大禮包(學習筆記):分布式+微服務+開源架構+性能優化