原创 Spring事務之7種傳播行爲

Spring在TransactionDefinition接口中規定了7種類型的事務傳播行爲。事務傳播行爲是Spring框架獨有的事務增強特性,他不屬於的事務實際提供方數據庫行爲。這是Spring爲我們提供的強大的工具箱,使用事務傳播行可以

原创 觸發FullGC的幾個條件

1.年輕代存活的對象太多,老年代了放不下 01.示例代碼 public class DemoTest1 {    public static void main(String[] args) {        byte[] arra

原创 Logback配置,提升TPS

通過閱讀本篇文章將瞭解到 1.日誌輸出到文件並根據LEVEL級別將日誌分類保存到不同文件 2.通過異步輸出日誌減少磁盤IO提高性能 3.異步輸出日誌的原理   配置文件logback-spring.xml SpringBoot工程自帶lo

原创 JVM類加載過程與雙親委派

Class 文件需要加載到虛擬機中之後才能運行和使用,那麼虛擬機是如何加載這些 Class 文件呢? 系統加載 Class 類型的文件主要三步:加載->連接->初始化。連接過程又可分爲三步:驗證->準備->解析。 類加載過程 加載 類加

原创 HashMap和CurrentHashMap

哈希表(hash table)也叫散列表,是一種非常重要的數據結構,應用場景及其豐富,許多緩存技術(比如memcached)的核心其實就是在內存中維護一張大的哈希表。 一、什麼是哈希表 在討論哈希表之前,我們先大概瞭解下其他數據結構在

原创 K8S架構解析

每個微服務通過 Docker 進行發佈,隨着業務的發展,系統中遍佈着各種各樣的容器。於是,容器的資源調度,部署運行,擴容縮容就是我們要面臨的問題。 基於 Kubernetes 作爲容器集羣的管理平臺被廣泛應用,今天我們一起來看看 Kube

原创 Volatile的作用及原理

內容導航 volatile的作用 什麼是可見性 volatile源碼分析 volatile的作用 在多線程中,volatile和synchronized都起到非常重要的作用,synchronized是通過加鎖來實現線程的安全性。而vola

原创 一致性Hash算法(環形思想)

這裏拿Redis來舉個例子,實際一致性Hash算法應用廣泛   一、Redis集羣的使用 我們在使用Redis的時候,爲了保證Redis的高可用,提高Redis的讀寫性能,最簡單的方式我們會做主從複製,組成Master-Master或者M

原创 JVM性能調優監控工具jps、jstack、jmap、jhat、hprof使用詳解

現實企業級Java應用開發、維護中,有時候我們會碰到下面這些問題: OutOfMemoryError,內存不足 內存泄露 線程死鎖 鎖爭用(Lock Contention) Java進程消耗CPU過高 ...... 這些問題在日常開發、維

原创 數據庫的事務以及事務隔離級別

學習數據庫的時候常常會接觸到事務, ACID等概念,那麼到底什麼是數據庫的事務,數據庫事務又具有哪些特點,和ACID有怎樣的關係,事務的隔離級別又是做什麼的呢?。 事務及其四大特性? 事務(Transaction):訪問並可能更新數據庫中

原创 JAVA反射,Class.forName和ClassLoader的區別

一 看名字就知道了,一個是類的創建,一個類加載器   二 再看下Class.forName源碼,調用了ClassLoader @CallerSensitive public static Class<?> forName(Str

原创 ThreadPoolExecutor拒絕策略

前言 談到java的線程池最熟悉的莫過於ExecutorService接口了,jdk1.5新增的java.util.concurrent包下的這個api,大大的簡化了多線程代碼的開發。而不論你用FixedThreadPool還是Cache

原创 如何保證APP與服務端通信安全

前言 最近公司外包給別人做的一個APP項目上線了,拿到源碼一看那代碼質量真是一言難盡啊! 剛上線用戶比較少倒也沒出啥問題,不過隨着用戶慢慢變多,問題逐漸暴露出來了。 最嚴重的問題就是我們的APP與服務器的通信接口沒有加密處理被人抓包了,有

原创 Nginx服務器的負載均衡策略

一、關於Nginx的負載均衡 在服務器集羣中,Nginx起到一個代理服務器的角色(即反向代理),爲了避免單獨一個服務器壓力過大,將來自用戶的請求轉發給不同的服務器。詳情請查看我的另一篇博客。   二、Nginx負載均衡策略 負載均衡用於從

原创 Spring中@Resource和@Autowire的區別

1、實踐出真知 @Resource 是 JSR-250 規範的一部分 說到 @Resource 大家肯定會想到 @Autowired, 至於兩者的區別, 大部門分童鞋都知道。 @Resource 的作用和 @Autowired 一樣,只