秋招總結指南之「性能調優」:MySQL+Tomcat+JVM,還怕面試官的轟炸?
01 MySQL性能調優
1.1 MySQL性能調優問題有哪些?怎麼學?
關於這個,給你們看一份學習大綱(xmind)文件,每個分支裏面會有詳細的介紹。java
這裏都是以圖片形式展現介紹,如要下載原文件以及更多的性能調優筆記(MySQL+Tomcat+JVM)能夠 直接【click here】!!mysql
1.2 關於MySQL,面試官會問哪些問題?
-
第一個:MySQ性能優化最佳實踐21個(有具體的解釋)你知道哪些?程序員
-
爲查詢緩存優化你的查詢web
-
EXPLAIN你的SELECT查詢面試
-
當只要一行數據時使用LIMIT 1sql
-
爲搜索字段建索引數據庫
-
在Join表的時候使用至關類型的例,並將其索引緩存
-
千萬不要 ORDER BY RAND()tomcat
-
避免 SELECT *性能優化
-
永遠爲每張表設置一個 ID
-
使用 ENUM 而不是 VARCHAR
-
從 PROCEDURE ANALYSE() 取得建議
-
儘量的使用 NOT NULL
-
Prepared Statements
-
無緩衝的查詢
-
把 IP 地址存成 UNSIGNED INT
-
固定長度的表會更快
-
垂直分割
-
拆分大的 DELETE 或 INSERT 語句
-
越小的列會越快
-
選擇正確的存儲引擎
-
使用一個對象關係映射器(Object Relational Mapper)
-
當心「永久連接」
篇幅有點長,整理成了一個PDF文檔:
-
第二個:來看下MySQL的高頻20問(附帶詳細解答,整理成冊)
-
事務四大特性(ACID)原子性、一致性、隔離性、持久性?
-
事務的併發?事務隔離級別,每一個級別會引起什麼問題,MySQL默認是哪一個級別?
-
MySQL常見的三種存儲引擎(InnoDB、MyISAM、MEMORY)的區別?
-
MySQL的MyISAM與InnoDB兩種存儲引擎在,事務、鎖級別,各自的適用場景?
-
查詢語句不一樣元素(where、jion、limit、group by、having等等)執行前後順序?
-
什麼是臨時表,臨時表何時刪除?
-
MySQL B+Tree索引和Hash索引的區別?
-
sql查詢語句肯定建立哪一種類型的索引?如何優化查詢?
-
彙集索引和非彙集索引區別?
-
有哪些鎖(樂觀鎖悲觀鎖),select 時怎麼加排它鎖?
-
非關係型數據庫和關係型數據庫區別,優點比較?
-
數據庫三範式,根據某個場景設計數據表?
-
數據庫的讀寫分離、主從複製,主從複製分析的 7 個問題?
-
使用explain優化sql和索引?
-
MySQL慢查詢怎麼解決?
-
什麼是 內鏈接、外鏈接、交叉鏈接、笛卡爾積等?
-
mysql都有什麼鎖,死鎖斷定原理和具體場景,死鎖怎麼解決?
-
varchar和char的使用場景?
-
mysql 高併發環境解決方案?
-
數據庫崩潰時事務的恢復機制(REDO日誌和UNDO日誌)?
1.3 MySQL性能調優筆記分享
-
《MySQL性能調優與架構設計--全冊(PDF)》
本書分爲3個部分,第一部分是基礎篇,第二部分是重點之重性能調優篇,第三部分是架構設計篇
(1)目錄簡介
(2)詳情內容
-
《重學MySQL:從入門到精通(PDF)》
本書包括MySQL的安裝與配置、數據庫的建立、數據表的建立、數據類型和運算符、MySQL函數、查詢數據、數據表的操做(插入、更新與刪除數據)、索引、存儲過程和函數、視圖、觸發器、用戶管理、數據備份與恢復、日誌以及性能優化等等。本書注重實戰操做,幫助讀者按部就班的掌握MySQL的各項技術。須要重學一下MySQL,建議能夠看看這個
02 Tomcat性能調優
2.1 Tomcat性能調優面試必備題(附帶詳細解答)你能答多少?
-
你怎樣給 tomcat 去調優?
-
如何加大 tomcat 鏈接數
-
tomcat 中如何禁止列目錄下的文件
-
怎樣加大 tomcat 的內存
-
Tomcat 有幾種部署方式
-
Tomcat 的優化經驗
-
Tomcat 的缺省端口是多少,怎麼修改?
-
tomcat 有哪幾種 Connector 運行模式( 優化) ?
-
Tomcat 有幾種部署方式?
-
tomcat 容器是如何建立 servlet 類實例?用到了什麼原理?
-
tomcat 如何優化?
-
內存調優
-
垃圾回收策略調優
-
添加 JMS 遠程監控
-
專業點的分析工具備
-
關於 Tomcat 的 的 session 數目
-
監視 Tomcat 的內存使用狀況
-
打印類的加載狀況及對象的回收狀況
-
Tomcat 一個請求的完整過程
-
Tomcat 工做模式?
2.2 Tomcat學習筆記分享
-
《深刻剖析Tomcat(中文版)(PDF)》
-
第1章:本書從介紹一個簡單的HTTP服務器開始。爲了創建一個能夠運行的HTTP服務器,你須要瞭解java.net包下Socket類和ServerSocket類的內部運行機制。該章有詳細的背景信息介紹,使你能夠理解該章中應用程序的運行機制。
-
第2章:闡明一個簡單的servlet容器是如何工做的。此章有兩個與servlet容器有關的應用程序員,能夠服務於靜態資源的請求和簡單servlet的請求。。
-
第15章:說明如何經過Digester組件來對Web應用程序進行配置,Digester是Apacbe軟件基金會的一個開源項目,即便你對這個不熟悉也不要緊,該章會簡要介紹Digester庫,說明如何使用該庫來搞XML。
-
第16章:對Tomcat中的關閉鉤子進行說明,不論用戶如何關閉Tomcat(即經過發送關閉命令,或是忽然直接關閉控制檯),經過使用關閉鉤子,Tomcat老是能夠執行一些清理工做。
-
第17章:對使用批處理文件和Shell腳原本啓動和關閉Tomcat進行說明。
-
第18章:對部署組件進行說明,該組件負責部署和安裝web應用程序。
-
Servlet對一個特殊接口(ContainerServlet)進行說明。使用該接口,Servlet對象能夠訪問Catalina中的內部對象,此外,該章會對用來管理已部署應用程序的Manager應用程序進行說明
-
第20章:對JMX進行說明,並闡述Tomcat是如何爲其內部對象建立MBean,並使用這些內部對象可託管的。
03 JVM性能調優
3.1 JVM和性能調優問題學習大綱(xmind)
3.2 JVM性能調優面試相關問題(附解析)
-
Java 類加載過程?
-
描述一下 JVM 加載 Class 文件的原理機制?
-
Java 內存分配。
-
GC 是什麼? 爲何要有 GC?
-
簡述 Java 垃圾回收機制。
-
如何判斷一個對象是否存活?(或者 GC 對象的斷定方法)
-
垃圾回收的優勢和原理。並考慮 2 種回收機制
-
垃圾回收器的基本原理是什麼?垃圾回收器能夠立刻回收內存嗎?有什麼辦法主動通知虛擬機進行垃圾回收?
-
Java 中會存在內存泄漏嗎,請簡單描述。
-
深拷貝和淺拷貝。
-
System.gc() 和 Runtime.gc() 會作什麼事情?
-
finalize() 方法何時被調用?析構函數 (finalization) 的目的是什麼?
-
若是對象的引用被置爲 null,垃圾收集器是否會當即釋放對象佔用的內存?
-
什麼是分佈式垃圾回收(DGC)?它是如何工做的?
-
串行(serial)收集器和吞吐量(throughput)收集器的區別是什麼?
-
在 Java 中,對象何時能夠被垃圾回收?
-
簡述 Java 內存分配與回收策率以及 Minor GC 和 MajorGC
-
JVM 的永久代中會發生垃圾回收麼?
-
Java 中垃圾收集的方法有哪些?
-
什麼是類加載器,類加載器有哪些?
-
類加載器雙親委派模型機制?
3.3 JVM性能調優筆記分享
-
《JVM調優總結(PDF)》
(1)目錄
(2)內容詳解
關於「性能調優」:MySQL+Tomcat+JVM,我要給你們分享學習的就這麼多,不知道這些面試常備問題你都能答得上來不?不會也不要緊,能夠找小編分享完整的原件(題目+答案解析)
還有這些關於「性能調優」的學習筆記,這些學習路線以及書籍筆記之類的,如果你尚未,也可 click here 免費下載!
秋招總結指南之「性能調優」:MySQL+Tomcat+JVM:https://docs.qq.com/doc/DVkdwSEVEcHBTZ1lq