原创 [Java高併發編程](一)理解CAS

本篇博客根據衆多優秀的博客文章整理而來,參考的博客鏈接請看文章最下方 前言   在java語言之前,併發就已經廣泛存在並在服務器領域得到了大量的應用。所以硬件廠商老早就在芯片中加入了大量直至併發操作的原語,從而在硬件層面提升效

原创 [Java 多線程技術](八)線程池的使用

前言   在我們使用線程的時候就去創建一個線程,這樣實現起來非常方便,但是會有一個問題:   ☛ 如果併發的線程量很多,並且每個線程都是執行一個時間很短的任務就結束了,這樣頻繁的創建線程會大大降低系統的效率,因爲頻繁的創建和銷燬

原创 maven 阿里雲中央倉庫

當Maven下載jar在私服上也沒有的時候,就會從中央倉庫下載,下的少還好說,當你下jar包就用了半個多小時就實在忍無可忍了,聽說有阿里雲中央倉庫鏡像,趕緊來試試。 在maven的settings.xml文件中添加如下配置; <

原创 [Redis學習] 初識Redis

1.Redis特性   Redis是基於內存的Key-Value型高性能的NoSQL數據庫。Redis之所以受到如此多公司的青睞,必然有之過人之處,下面關於Redis的8個重要特性。 1.1 速度快   正常情況下,Redis執行

原创 Java 反射

…… 文章目錄1.概述1.1 什麼是反射1.2 爲什麼要使用反射2. Class類的介紹3. 反射的使用3.1 通過反射獲取構造方法並使用3.2 獲取成員變量並調用3.3 獲取成員方法並調用3.4 通過反射運行配置文件內容3.5 通過

原创 使用SpringBoot使用validation數據校驗

1. 前言   簡述JSR303/JSR-349,hibernate validation,spring validation之間的關係。JSR303是一項標準,JSR-349是其的升級版本,添加了一些新特性,他們規定一些校驗規範即

原创 Result對象 + 統一異常處理

1. 錯誤異常碼設計 1.1 統一異常碼接口定義 /** * 統一異常碼接口定義 * * @author 王洪玉 * @date 2018/11/11 */ public interface ExceptionEnum {

原创 [MySQL高級](七) MySQL主從複製及讀寫分離實戰

1. 簡介   隨着技術的發展,在實際的生產環境中,由單臺MySQL數據庫服務器不能滿足實際的需求。此時數據庫集羣就很好的解決了這個問題。採用MySQL分佈式集羣,能夠搭建一個高併發、負載均衡的集羣服務器。在此之前我們必須要保證每臺MyS

原创 [MySQL高級](四) 索引優化之索引失效

1. 前言   索引的建立是爲了讓我們更加高效快速的查詢出結果,但是,要想充分利用起索引,我們首先要解決的最大問題就是要避免索引失效,下面我們來一起通過實例來探討造成索引失效的情況,並通過優化SQL查詢語句來避免索引失效。   ➤ 準備

原创 [菜鳥學JVM](二)垃圾收集器

概述   在上篇博客中我們介紹了Java內存運行時區域的各個部分,其中程序計數器、虛擬機棧、本地方法棧3個區域隨線程而生,隨線程而滅;棧中的棧幀隨着方法的進入和退出而有條不紊的執行着出棧和入棧操作。每一個棧幀中分配多少內存基本上是在類結構

原创 [Redis學習] Redis持久化—RDB和AOF

1. 簡介   Redis支持RDB和AOF兩種持久化機制,持久化功能有效的避免因進程退出造成的數據丟失問題,當下次重啓時利用之前持久化的文件即可實現數據恢復。首先我們介紹RDB、AOF的配置和運行流程,以及控制持久化的相關命令,如bgs

原创 Java操作RabbitMQ隊列

1. 新建項目 1.1 引入pom <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client<

原创 將Token添加到請求頭Header中

概述   在使用JSON Web Token作爲單點登錄的驗證媒介時,爲保證安全性,建議將JWT的信息存放在HTTP的請求頭中,並使用https對請求鏈接進行加密傳輸,效果如下圖所示: 問題 1.由於項目是前後端分離的,不可避免的就產

原创 [Redis學習] Redis持久化對於故障恢復的意義

本文以單機部署爲例進行介紹。 1. 生產環境中Redis啓動前的配置 生產環境中,要把redis作爲一個系統的daemon進程去運行的,每次系統啓動,redis進程一起啓動。 1.1 Redis各文件目錄設置 redis的解壓目錄下,進

原创 zookeeper基本特性及linux客戶端操作

1. session的基本原理 客戶端與服務端之間的連接存在會話 每個會話都會可以設置一個超時時間 心跳結束,session過期 session過期,則臨時節點znode會被拋棄 心跳機制:客戶端向服務端的ping包請求 2. zk常