原创 線程的幾種通信方式
目錄 一、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