原创 3、JVM 調優 - 堆

1、Java堆結構與配置參數 (1)Java7堆內存結構圖   (2) Java8堆內存結構圖   2.2 堆內存調優簡介 (1)調優參數:   (2)如何查看堆內存信息 public static void main(Strin

原创 4、JVM 調優 - 棧

1、虛擬機棧結構示意圖:   2、棧幀結構示意圖:   1、“堆和棧”中存放局部變量的棧(和存放對象的堆),但是不僅僅存放局部變量,存放局部變量的只是裏面的變量表部分。 2、棧針是方法執行產生的內存,每一個方法會創建一個棧幀,用於存儲

原创 2、JVM 運行

  1、方法區-Method Area 線程共享,存儲已經被虛擬機加載的類信息、常量、靜態變量、即時編譯器編譯後的代碼等等。(HotSpot虛擬機上開發部署人員更願意成爲“永久代”,Permanent Generation)。   1

原创 5、JVM 調優 - Mothed Area

1、方法區結構示意圖     2、方法區(Method Area) 與Java堆一樣,是各個線程共享的內存區域,它用於存儲已被虛擬機加載的類信息、常量、靜態變量、即時編譯器編譯後的代碼等數據。細緻理解如下: 1)Java虛擬機規範把方

原创 1、Spring Boot 註解

一、註解(annotations)列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration註解。其中@ComponentScan

原创 1、JVM 基礎

1)JVM運行過程 我們都知道java一直宣傳的口號是:一次編譯,到處運行。那麼它如何實現的呢?   Java程序經過一次編譯之後,將Java代碼編譯爲字節碼也就是.class文件,然後在不同的操作系統上依靠不同的java虛擬機進行解釋

原创 Java字節碼執行方式--解釋執行和JIT

注:主要參考自《分佈式java應用:基礎與實踐》《深入理解Java虛擬機(第二版)》   1、兩種執行方式: · 解釋執行(運行期解釋字節碼並執行)· 強制使用該模式:-Xint· 編譯爲機器碼執行(將字節碼編譯爲機器碼並執行,這個編譯

原创 JVM簡介

1、JVM概念         JVM是Java Virtual Machine的簡稱。意爲Java虛擬機。  虛擬機                                          指

原创 SVN與GIT的區別

Svn 集中式的版本控制Svn版本控制系統是集中式的數據管理存在一箇中央版本庫,所有開發人員本地開發使用的代碼都來自於版本庫,提交代碼也都必須提交到這個中央版本庫。 Svn版本控制系統工作流程如下: 1

原创 SVN簡單介紹

Svn(subversion)是近年來崛起的非常優秀的版本管理工具,與CVS管理工具一樣,SVN是一個跨平臺的開源的版本控制系統。1、Svn會自動備份並記錄每個文件每一次的修改更新變動。 2、Svn會吧任

原创 Java類加載機制

在查看本文前,先要了解JVM內存結構,見 第一章 JVM內存結構 1、類加載流程 · 把描述類的數據從xxx.class文件加載到JVM內存 · 對這些數據進行校驗、準備、解析(這三個過程總稱爲"鏈接") · 對這些數據進行初始化,最終形

原创 Java類加載器ClassLoader源碼解析

說明:瞭解ClassLoader前,先了解 第四章 類加載機制   1、ClassLoader作用· 類加載流程的"加載"階段是由類加載器完成的。   2、類加載器結構結構:BootstrapClassL

原创 Javac編譯原理

1、javac作用· 將*.java源代碼文件轉化爲*.class文件 2、編譯流程   流程:· 詞法分析器:將源碼轉換爲Token流· 將源代碼劃分成一個個Token(Token包含的元素類型看3.2)· 語法分析器:將Token流轉

原创 Javap的使用與類文件結構

1、javap的使用與類文件結構使用過程: java源代碼: package compile; /**  * class字節碼 */ public class TestClass { privat