原创 docker入門實踐,自制鏡像的2種方式

目前我知道的自制鏡像有2種方式,根據容器製作鏡像和根據Dockerfile製作鏡像。 根據現成的容器製作鏡像 適用於已經有一個現成的容器已經滿足需求的情況 % docker ps -a CONTAINER ID IM

原创 SPI技術-JDK實現

SPI是什麼 SPI全稱Service Provider Interface,是Java提供的一套用來被第三方實現或者擴展的API,它可以用來啓用框架擴展和替換組件。 Java SPI 實際上是“基於接口的編程+策略模式+配置文

原创 GC專題-查看日誌

GC日誌參數列表 -XX:+PrintGC 輸出GC日誌 -XX:+PrintGCDetails 輸出GC的詳細日誌 -XX:+PrintGCTimeStamps 輸出GC的時間戳(以基準時間的形式) -XX:+PrintGCDa

原创 java String字符串在內存中的地址和指向問題

String str1 = “abc”; System.out.println(str1 == “abc”); 步驟: 棧中開闢一塊空間存放引用str1, String池中開闢一塊空間,存放String常量"abc", 引用

原创 Java String6,7,8,9區別 以及 有哪些方式可以提高性能

String 對象在jdk不同版本中的實現 String對象是 Java 中使用最頻繁的對象之一,所以 Java 公司也在不斷的對String對象的實現進行優化,以便提升String對象的性能,看下面這張圖,一起了解一下Strin

原创 如何保證消息隊列的順序性?

面試題 如何保證消息的順序性? 面試官心理分析 其實這個也是用 MQ 的時候必問的話題,第一看看你了不瞭解順序這個事兒?第二看看你有沒有辦法保證消息是有順序的?這是生產系統中常見的問題。 面試題剖析 我舉個例子,我們以前做過一個

原创 java程序開啓遠程調試功能

代碼就是最好的文檔 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 幾點說明: -agentlib:jdwp 這個是jdk自帶的

原创 查看JVM使用的垃圾收集器

一、設置垃圾收集器參數 我們設置JVM垃圾收集器參數時,一個參數就同時指定新生代老年代各自的垃圾收集器了。 -XX:+UseSerialGC,虛擬機運行在Client模式下的默認值,Serial+Serial Old。 -

原创 Jdk8 foreach語法需要break怎麼辦?

forEach裏的return只相當於continue,沒有break語法,在這裏我總結了3種解決方案供你選擇 exception , filter anyMatch //forEach裏的return只相當於

原创 Mysql的explain之Extra字段講解

認真閱讀了一下explain之Extra字段,前2篇關於一道sql (select * from t where a=? and b>? order by c limit 0,100 ) 如何加索引的問題答案終於浮出水面 Us

原创 Mysql的explain官方文檔翻譯

原文地址: https://dev.mysql.com/doc/refman/5.7/en/explain-output.html#explain-extra-information 先複製進來,每天翻譯一段,有興趣的小夥伴可以一

原创 Mysql實戰題目,如何加索引?

Mysql實戰題目,如何加索引? 實戰題目 select * from t where a=? and b>? order by c limit 0,100 如何加索引 測試環境 mysql> select version()

原创 Mysql實戰題目,如何加索引2?

Mysql實戰題目,如何加索引2? 這一篇,較上一篇文章區別在於構造的數據內容發生了變化 實戰題目 select * from t2 where a=? and b>? order by c limit 0,100 如何加索引

原创 HashMap/ConcurrentHashMap在單線程模式下的性能比較

起源 閱讀源碼發現jdk8中ConcurrentHashMap是基於synchronized來加鎖實現多線程安全的,但是實現方式上與早期的HashTable又有了很大的區別,雖然都是使用synchronized來加鎖,但是鎖的粒

原创 Git基礎操作:push提交成功後如何撤銷回退,回退代碼到某次commit

使用git log 查看提交歷史日誌,找到需要回滾的commit_id git log 退到/進到 指定commit的sha碼 ( 退回後會保留commit_id的提交內容,在這次之後的內容都會丟掉 ) git reset