原创 十五、垃圾回收相關算法

1、標記階段:引用計數算法   垃圾標記階段:對象存活判斷 在堆裏存放着幾乎所有的Java對象實例,在GC執行垃圾回收之前,首先需要區分出內存中哪些是存活對象,哪些是已經死亡的對象。只有被標記爲己經死亡的對象, GC纔會在執行垃圾回收時,

原创 (9)Mycat常用分片規則

1、 取模 此規則爲對分片字段求摸運算。也是水平分表最常用規則。5.1 配置分表中,orders 表採用了此規 則。 2、 分片枚舉 通過在配置文件中配置可能的枚舉 id,自己配置分片,本規則適用於特定的場景,比如有些業務 需要按照省份或

原创 十三、StringTable

1、String的基本特性 String : 字符串,使用一對 "" 引起來表示。 String s1 = "shuidiit";//字面量的定義方式 String s2 = new String("hello"); String聲明爲

原创 二、類加載子系統 三、運行時數據區概述及線程 四、程序計數器(PC 寄存器)

1、類加載子系統作用   Class文件,class文件在文件開頭有特定的文件標識。 只負責class文件的加載,至於它是否可以運行,則由ExecutionEngine決定 (這部分常量信息是Class文件中常量池部分的內存映射)  

原创 十四、垃圾回收概述

1、什麼是垃圾   垃圾收集,不是Java語言的伴生產物。早在1960年,第一門開始使用內存動態分配和垃圾收集技術的Lisp語言誕生。 關於垃圾收集有三個經典問題: 哪些內存需要回收? 什麼時候回收? 如何回收? 垃圾收集機制是Ja

原创 五、虛擬機棧

1、虛擬機棧概述 虛擬機棧出現的背景 由於跨平臺性的設計, Java的指令都是根據棧來設計的。不同平臺CPU架構不同,所以不能設計爲基於寄存器的。 優點是跨平臺,指令集小,編譯器容易實現,缺點是性能下降,實現同樣的功能需要更多的指令。  

原创 六、本地方法接口 七、本地方法棧

六、本地方法接口     什麼是本地方法? 簡單地講,一個Native Method就是一個Java調用非Java代碼的接口。一個Native Method是這樣一個Java方法:該方法的實現由非Java語言實現,比如C。這個特徵並非

原创 (10)HAProxy+Keepalived 搭建 Mycat 集羣,實現高可用

我們可以使用 HAProxy + Keepalived 配合兩臺 Mycat 搭起 Mycat 集羣,實現高可用性。HAProxy 實現了 MyCat 多節點的集羣高可用和負載均衡, 而 HAProxy 自身的高可用則可以通過 Keepa

原创 九、方法區

1、 棧、堆、方法區的交互關係                         2、 方法區的理解   https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#j

原创 八、堆

八、堆   1、堆的核心概述   一個JVM實例只存在一個堆內存,堆也是Java內存管理的核心區域。 Java 堆區在JVM啓動的時候即被創建,其空間大小也就確定了。是JVM管理的最大一塊內存空間。 >堆內存的大小是可以調節的。 《J

原创 十六、垃圾回收相關概念

1、System.gc()的理解   在默認情況下,通過System.gc ()或者Runtime.getRuntime () .gc()的調用,會顯式觸發Full GC,同時對老年代和新生代進行回收,嘗試釋放被丟棄對象佔用的內存。 然而

原创 一、JVM與Java體系結構

1、jvm整體結構   2、Java 代碼執行流程  

原创 (11)Mycat監控工具

Mycat-web簡介 Mycat-web是Mycat可視化運維的管理和監控平臺,彌補了Mycat在監控上的空白。幫Mycat分 擔統計任務和配置管理任務。Mycat-web引入了ZooKeeper作爲配置中心,可以管理多個節點。 Myc

原创 MySQL鎖定狀態查看相關命令

1. SHOW PROCESSLIST; 顯示哪些線程正在運行(只列出前100條),SHOW FULL PROCESSLIST; 列出所有線程信息。 如果您有SUPER權限,您可以看到所有線程。否則,您只能看到您自己的線程(也就是,與您正

原创 十七、垃圾回收器

  1、GC分類與性能指標   垃圾收集器沒有在規範中進行過多的規定,可以由不同的廠商、不同版本的JVM來實現。 由於JDK的版本處於高速迭代過程中,因此Java發展至今已經衍生了衆多的GC版本。 從不同角度分析垃圾收集器,可以將GC分爲