原创 volatile變量能保證線程安全性嗎?爲什麼?

volatile是什麼? 在談及線程安全時,常會說到一個變量——volatile。在《Java併發編程實戰》一書中是這麼定義volatile的——“Java語言提供了一種稍弱的同步機制,即volatile變量,用來確保將變量的更新操作通

原创 Redis跨機房雙向同步實踐

關鍵詞:Rotter,Redis,多活,跨機房,同步 一、項目介紹Rotter是禧雲自主研發的跨機房Redis雙向同步解決方案(下文簡稱爲方案),具有零侵入、高吞吐量、低延時、高堆積能力等特點。當前版本支持Sentinel模式和單點模式Re

原创 淺談數據庫、JVM、緩存、SQL等性能調優方法和原則

性能優化基本是BAT等一線互聯網公司程序員必備的技能,以下爲大家完整揭曉性能完整的優化方案和方法:包含web網站調優、數據庫、JVM調優、架構調優等方案。 第一:Web網站調優 1、儘可能減少HTTP請求:圖片合併 (css sprites

原创 spring cloud 2.x版本 Gateway熔斷、限流教程

前言 本文采用Spring cloud本文爲2.1.8RELEASE,version=Greenwich.SR3 概術 在高併發應用中,緩存、限流、降級,是我們保護系統應用的三大利器。在開發一些api接口的時候,通常也會在網關層做限流控制,

原创 如何利用緩存機制實現JAVA類反射性能提升30倍

1 SSM框架簡介 SSM框架,即SpringMVC+Spring+Mybatis三個開源框架整合在一起的縮寫。 在SSM框架之前生產環境中SSH框架佔據多數,即Struts2+Spring+Hibernate三個開源框架整合而成。後因St

原创 關於一個 websocket 多節點分佈式問題的面試題

你來說說 websocket 有什麼用 雙向通信,服務器端可以主動 push,給客戶端發送通知 那websocket多個節點有什麼問題? 頭條面試官的提問讓我的回憶飄到了一個下午,想起了我兩個同事之間的對話 引子 咱有部分用戶收不到通知了

原创 一篇詳解Redis -- 延時隊列

Redis的 list 數據結構常用來作爲 異步消息隊列 使用,使用 rpush/lpush 操作 入隊 ,使用 lpop/rpop 來操作 出隊 > rpush my-queue apple banana pear (integer)

原创 SpringBoot中教你手把手配置 https

升級 https 記錄 1、去阿里雲購買證書(免費版),並提交審覈資料 購買的證書 2、下載證書 下載證書 3、查看上圖頁面的第三步 JKS證書安裝 4、在證書目錄下執行阿里雲提供的命令,密碼都填 pfx-password.txt 中的內容

原创 SpringBoot 2.0 開發案例之百倍級減肥瘦身之旅

前言 爲了存我的小黃圖,最近在做一款圖牀服務,集成了各種第三方雲存儲服務,目前正在內部測試階段。項目是以Jar的形式運行在騰訊雲上,不要問我爲什麼使用騰訊雲了,因爲阿里雲老用戶和狗不得入內。 問題凸顯 因爲內測期間代碼邏輯會經常變動,這

原创 隨意摸底三問,你瞭解多少併發量、吞吐量的知識?

併發量1.什麼是併發量?併發量,是指同時訪問服務器站點的連接數[引用百度]。指同一時刻向服務器發送的請求數。2.QPS是什麼?QPS是指每秒查詢率,一般用作單位時間內處理的併發數量。QPS通常用來表達系統的負載能力。3.如何計算QPS?QP

原创 你寫的 Java 代碼是如何一步步輸出結果的?

目錄一、編寫Java源程序二、編譯Java源代碼三、執行Java源文件四、JVM如何執行字節碼文件對於任何一門語言,要想達到精通的水平,研究它的執行原理(或者叫底層機制)不失爲一種良好的方式。在本篇文章中,將重點研究java源代碼的執行原理

原创 面試常問的一道Java線程問題、從而引發的連環慘案

0.寫在前面這兩天做了一道常見的Java面試題,毫無懸念的做錯了,在運行出正確答案之後,發現以自己的知識儲備竟然無法完整的解釋爲什麼,十分慚愧,於是有了這篇文章,對其進行總結反思。1.題目先看下題目:運行結果爲:hello hello ch

原创 解Bug之路-記一次調用外網服務概率性失敗問題的排查

前言和外部聯調一直是令人困擾的問題,尤其是一些基礎環境配置導致的問題。筆者在一次偶然情況下解決了一個調用外網服務概率性失敗的問題。在此將排查過程發出來,希望讀者遇到此問題的時候,能夠知道如何入手。起因筆者的新系統上線,需要PE執行操作。但是

原创 這款多線程中間件,吊打 Redis!

今天給大家介紹的是KeyDB,KeyDB項目是從redis fork出來的分支。衆所周知redis是一個單線程的kv內存存儲系統,而KeyDB在100%兼容redis API的情況下將redis改造成多線程。上次也跟大家說了,redis多線

原创 它,是一部全網最全的JDK發展歷史軌跡圖...

Java語言的相關組織和規範(其他語言也有類似的組織):JCP:(Java Community Process)由世界上各個爲 Java 發展操心的人士組成的社區,參與定義 Java 新特性和新版本制定標準的組織。JSR:(Java Spe