原创 《Java周邊》IDEA操作說明

1.  setting 設置 1.1 設置字體大小: 1.2 設置文件層級 1.3 編碼設置   設置默認值: 1.4 設置註釋模板 1.5 屬性斷點 1.6 異常斷點 1.7 條件斷點 1.8 調試(強制調用可以進入jdk的

原创 《MySQL數據庫》索引詳解

前言 索引在數據庫中至關重要,必須要牢牢掌握,在看索引篇之前必須掌握InnoDB 的數據結構:https://www.cnblogs.com/jssj/p/devil_osiris.html。 索引創建與刪除 主鍵索引創建: mysql>

原创 《Java 併發編程》ReentrantLock詳細分析

前言 原理 ReentrantLock案例 import java.util.concurrent.locks.ReentrantLock; public class ReentrantLockDemo { public st

原创 《RabbitMQ 消息中間件》如何保證消息可靠性

前言 開發過程中遇到問題,要保證MQ消息一定被消費。 經過 情況一: 這種情況下:MQ已經發送出去,但是這個事務其實已經被回滾。 情況二: 這種情況下,MQ發送如果出現問題,就導致MQ消息沒有發送。 情況三: 服務A發送消息後, 其實

原创 《Java 併發編程》Atomic原子類

前言 併發的情況下,非常多的操作都存在併發問題。 原理 程序目的爲:run裏面的部分代碼只執行一遍 public class LockDemo14 implements Runnable { public static bool

原创 《Java基礎知識》 Java創建對象的5種方法

前言 學習的過程,遇到很多情況需要通過非“new”的方式創建對象。 第一種(new) public class Test { @Override public String toString() { re

原创 《MySQL數據庫》MySQL 高級技巧總結

1. 計數器表 案例:網站訪問數記錄 正常一張表一個字段就可以解決這個問題。 create table tcount (cnt int) ; 通過左邊語句更新: update tcount set cnt = cnt+1 ; 當大型

原创 《Java知識應用》Java 判斷字符串是否爲數字

正則表達式:(-|\\+)?([1-9]\\d*\\.?\\d*)|(0\\.\\d*[0-9])  案例: public class NumberUtil { /** * 判斷是否爲數字 * @param

原创 《C言語 基礎知識》入門案例

前言 爲了更加學習Java 虛擬機的知識,於是決定重新學習C語言知識。 第一個程序 #include <stdio.h> int main() { printf("Hello world!\n"); return 0;

原创 《Java 底層原理》String字符串詳解

前言 Java 字符串底層是如何存儲的,如何提高性能的,今天就來好好了解一下。 字符串的存儲結構 Jvm 有專門的字符串常量池用於存放字符串,存放字符串的數據結構是HashTable。 HashTable的數據結構如下: 看個案例: p

原创 《Java 底層原理》Jvm性能調優

前言 Java 的性能調優,主要就是爲了防止出現out of memory(oom)。Java出現oom就會直接導致程序停止運行。 調優 模擬元空間oom的情況 import net.sf.cglib.proxy.Enhancer; im

原创 《Java 底層原理》Jvm GC算法

前言 之前的學習也是爲了讓我們更好的理解GC,GC是我們學習Jvm的核心,因爲我們後面的優化,爲什麼會出現oom,怎麼調整堆空間的大小等等。 GC算法 第一種標記算法:引用計數法 在對象中添加一個屬性用於標記對象被引用的次數,每多一個其他對

原创 《Java 併發編程》ThreadLock詳解

前言 在併發開發的過程中,我們都知道需要保證共享資源的的讀寫有序。加鎖是我們比較常用的一種方式。ThreadLock則是從另外一個角度出發,每一個線程都獨立資源,這樣同樣可以解決資源的問題。這樣講可能不是很好理解,下面我們通過案例來說明這個

原创 《Java 底層原理》Jvm對象結構和指針壓縮

前言 Java 程序調優是一個程序員必備的技能。 對象內存結構 對象頭:     Mark Word :32bit機 4B;64bit機 8B 是固定的。     類型指針:klass pointer,引用類型在方法區的地址。 開啓指針壓

原创 《Java 底層原理》Java內存模型

前言 通過JDK原理來重新理解一遍Java內存模型,通過其他方式學習到,總會有錯誤或者遺漏的情況。 內存模型 Java常常被提到的4個概念: class文件:硬盤上的.class文件 class content:類加載器將.clas文件加載