天天看點

Java架構師必備技術:mysql資料恢複誤删

專題5:Java序列化

  • 1、什麼是java序列化,如何實作java序列化?
  • 2、儲存(持久化)對象及其狀态到記憶體或者磁盤
  • 3、序列化對象以位元組數組保持-靜态成員不儲存
  • 4、序列化使用者遠端對象傳輸
  • 5、Serializable 實作序列化
  • 6、writeObject 和 readObject 自定義序列化政策
  • 7、序列化 ID
  • 8、序列化并不儲存靜态變量
  • 9、Transient 關鍵字阻止該變量被序列化到檔案中
  • 10、序列化(深 clone 一中實作)
Java架構師必備技術:mysql資料恢複誤删

專題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 中不推薦使用?
Java架構師必備技術:mysql資料恢複誤删

專題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性能調優
Java架構師必備技術:mysql資料恢複誤删

專題9:Mysql

Java架構師必備技術: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+學習筆記圖***

最後再分享一份終極手撕架構的大禮包(學習筆記):分布式+微服務+開源架構+性能優化

Java架構師必備技術:mysql資料恢複誤删

繼續閱讀