原创 線程的幾種通信方式

目錄 一、Object的wait()、notify()、notifyAll()方法 二、Condition的await()、signal()、signalAll()方法 三、CountDownLatch 四、CyclicBarrier 五

原创 深入synchronized底層原理

目錄 一、java對象頭 二、synchronized底層原理 三、synchronized底層原理進階 3.1輕量級鎖 3.2鎖膨張 3.3自旋優化 3.4偏向鎖  四、總結 一、java對象頭 在深入瞭解synchronized底層原

原创 反射(java)

反射機制就是在程序“運行狀態”時:對任意一個類,我們通過反射都能夠知道這個類的所有屬性和方法;對於任意一個對象,我們同樣也都能夠調用它的任意一個方法和屬性。 目錄 一、反射的入口 二、反射可以拿到什麼 2.1獲取所有實現的接口 2.2獲取

原创 RabbitMQ(二)——RabbitMQ的工作模式

在RabbitMQ(一)——入門中我們簡單的介紹了一下RabbitMQ的入門知識,這節我們針對RabbitMQ的幾種常見的工作模式展開來講解一下。RabbitMQ有以下幾種工作模式 : 目錄 一、簡單模式 二、工作隊列模式 三、發佈/訂閱

原创 MySQL(一)——在Linux下安裝MySQL

一、MySQL在Linux下的安裝 時常接觸Linux的同學可能知道,Linux下的安裝包一般包含有三種不同的格式:yum、tar.gz、rmp,這三者的大致區別如下 tar.gz:tar.gz就是一個壓縮包,類似於win上面的zip等文

原创 Linux學習——虛擬機VMware安裝

這篇文章的內容借鑑了CSDN上另一位博主Johnson_zx的文章,他總結的很好,也提供了VMware的永久密鑰。我爲了方便以後自己複習,我幾乎全套搬過來了。這是他的原文鏈接大家多多支持:VMware Workstation 14 中文破

原创 ReentrantLock入門講解

目錄 一、概述 二、ReentrantLock基本語法 三、ReentrantLock的特性 3.1可重入 3.2可打斷 3.3鎖超時 3.4公平鎖 3.5條件變量 一、概述 ReentrantLock字面意思就是可重入鎖(re表示重新,

原创 RabbitMQ(一)——入門

前言 原來公司項目的消息中間件一直在用RabbitMQ,今天抽出時間簡單總結梳理一下關於RabbitMQ的相關知識點。我們知道消息隊列在分佈式系統中應用的的地方有很多,它也有很多種類型,除了今天重點介紹的RabbitMQ,還有像Activ

原创 JVM內存模型(JMM)

目錄 一、概念 二、JMM數據的原子操作 2.1JMM數據的原子操作 2.2volatile可見性原理 2.3 lock和unlock 三、volatile 3.1可見性 3.2原子性 3.3有序性 一、概念 JMM——Java Meme

原创 java類的生命週期(一)

目錄 概述 一、加載 二、連接     2.1驗證  ​        2.2準備     2.3解析 三、初始化 四、使用 五、卸載 概述 java類的生命週期大致會經歷一下幾個階段:加載——>連接——>初始化——>使用——>卸載。其中

原创 ThreadLocal全面講解

概述 ThreadLocal無論是在平常的項目中還是面試都會比較頻繁的出現,今天星期天,抽時間總結一下。首先ThreadLocal的出現是爲解決多線程程序的併發問題的,ThreadLocal提供了線程內存儲變量的能力,這些變量不同之處在於

原创 Java中的四種引用類型

大家對Java中的四種引用類型相信都不陌生,都知道這四種應用類型分別是強引用(Strongly Reference)、軟引用(Soft Reference)、弱引用(Weak Refrence)和虛引用(Phantom Reference

原创 利用cronlog 切割tomcat日誌文件(非root用戶)

引言: 公司項目部署在tomcat上,隨着時間的推移,tomcat/logs下的日誌文件catalina.out會越來越大。如下圖所示,是我們公司的項目日誌文件,大家可以看到catalina.out已經有5.2G這麼大了。爲了避免日誌文件

原创 MySQL(六)——存儲過程和存儲函數

前言         今天簡單的介紹一下“存儲函數”和“存儲過程”,平時在工作中用到的時間不多,時間長了難免會忘記。在這裏簡單的做個回憶總結,方便自己以後複習回憶,當然能幫到需要的同學那就更好了。     關於MySQL中的存儲過程/函數

原创 MySQL(五)——MySQL中的變量

在mysql文檔中,mysql變量可分爲兩大類,即系統變量和用戶變量。 但根據實際應用又被細化爲四種類型,即局部變量、用戶變量、會話變量和全局變量。 一、局部變量 mysql局部變量,只能用在begin/end語句塊中,比如存儲過程中的b