原创 虛擬機中類加載機制

1、爲什麼要了解虛擬機的類加載機制? public class SSClass { static { System.out.println("SSClass init!"); } }

原创 設計模式之狀態模式詳解

電梯具有的動作: 開門:乘客進入、出去。 關門:電梯準備開始運行。 運行:上下運行。 停止:停止運行。 1、先讓電梯運行起來 //定義電梯接口 public interface ILift { void open()

原创 Kafka到底會不會丟消息

1、kafka是什麼 一種高吞吐量的分佈式、發佈訂閱消息系統,它可以處理消費者規模的,網站中的所有動作流數據,具有高性能、持久化、多副本備份、橫向擴展能力…… 以時間複雜度爲 O(1) 的方式提供消息持久化能力,即使對 TB 級

原创 索引背後的數據結構和算法原理

提問:常見索引有哪些? 1、從數據結構角度 * B-Tree/B+Tree索引:B-Tree/B+Tree簡介。 * Hash索引:1、查詢效率非常高,一次查詢即可;2、僅能滿足=、in,不能用於範圍查詢;3、* 只有memory

原创 ThreadlLocal詳解

1、ThreadlLocal 簡介:ThreadLocal提供線程的局部變量,每個線程都可以通過get()和set()對局部變量進行操作而不會對其他線程的局部變量產生影響,實現了線程之間的數據隔離。e.g. 數據庫的連接池管理

原创 java虛擬機之逃逸分析

在Java的編譯體系中,一個Java的源代碼文件變成計算機可執行的機器指令的過程中,需要經過兩段編譯,第一段是把.java文件轉換成.class文件。第二段編譯是把.class轉換成機器指令的過程。 第一段編譯就是javac命令。

原创 記錄一次HashMap死循環問題

一、HashMap簡介: 1、數據結構 數組+鏈表的結構,每一對k:v都封裝成一個entry,通過鏈表解決衝突和碰撞。 put(k, v):首先對key哈希找到table對應的位置index,如果該位置沒有entry,直接放進去

原创 部署單體daytrader

安裝服務器(前提安裝配置好jdk): 1、獲取tomcat服務器:geronimo-tomcat7-javaee6-web3.0.0-bin.tar.gz安裝包 2、安裝tomcat服務器:解壓到某個目錄下即可 3、啓動服務器:進入bin

原创 liunx下安裝配置JDK

liunx JDK安裝教程 1、到官網下載JDK安裝包:jdk-7u79-linux-x64.gz 2、解壓:    tar -zxvf jdk-7u79-linux-x64.gz 3、爲了方便重新命名:    mv jdk-7u79-

原创 如何讓 Spring Boot 項目發佈到 Tomcat 服務器

第 1 步:將這個 Spring Boot 項目的打包方式設置爲 war。 <packaging>war</packaging> 這裏還要多說一句, SpringBoot 默認有內嵌的 tomcat 模塊