原创 Java使用Redis實現分佈式鎖-代碼簡便

首先針對分佈式鎖的實現,需要注意如下幾點: 不會發生死鎖(及時客戶端持有鎖期間崩潰,需要保證其他客戶端可以解鎖) 容錯(大部分redis節點正常運行即可) 互斥(只有一個客戶端可以持有鎖) 加鎖和解鎖必須是用一個客戶端 public c

原创 idea項目啓動時控制檯報錯One or more listeners failed to start的解決方案

今天使用idea啓動tomcat時報錯,控制檯的錯誤信息只有一句:One or more listeners failed to start。沒有其他的任何錯誤信息。 最快的解決方案是:在classes目錄下面添加一個配置文件loggin

原创 Linux環境上安裝MiniKube

安裝MiniKube的前提 1.首先cd進入/etc/selinux目錄,修改config文件內容,將SELINUX修改爲disabled 2.關閉系統的防火牆systemctl stop firewalld,重啓linux服務器 3.

原创 Thread類中interrupt(),interrupted()和isInterrupted()方法詳解

先介紹一下這三個方法: interrupt()方法 中斷此線程(不一定是當前線程,指Thread實例代表的線程),該方法實際上是給線程設置一箇中斷狀態,並沒有實際中斷線程,線程仍會繼續執行。如果interrupt()不會中斷sleep,w

原创 ThreadLocal理解和應用

本篇博客將爲大家介紹一下ThreadLocal。從用途、使用方法、原理、及常見問題四個方面來介紹。 1.ThreadLocal用途 ThreadLocal用途可以理解成一個“儲物間”,這個“儲物間”當中擁有大量的“儲物櫃”,每個“儲物櫃”

原创 Java實現單鏈表反轉,LeetCode:206

class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } class Solution {

原创 Java實現鏈表中環的實現,LeetCode:141

普通的Hash解法,執行時間長,使用hashSet判斷節點是否出現兩次,出現兩次則證明有環的存在,見如下代碼: /** * Definition for singly-linked list. * class ListNode {

原创 Redission實現分佈式鎖

    首先在pom.xml文件中添加如下依賴: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star

原创 LeeCode:856-括號的分數,使用棧實現

給定一個平衡括號字符串 S,按下述規則計算該字符串的分數: () 得 1 分。 AB 得 A + B 分,其中 A 和 B 是平衡括號字符串。 (A) 得 2 * A 分,其中 A 是平衡括號字符串。   示例 1: 輸入: "()" 輸

原创 ZooKeeper的安裝和使用(單機和集羣環境配置)

Zookeeper的安裝: 1.Zookeeper的下載地址:https://archive.apache.org/dist/zookeeper/ 2.下載完成後,解壓文件: tar -zxvf /usr/local/src/apach

原创 雙鏈表刪除倒數第k個節點

跟單鏈表的處理方式基本一樣,將prev指針的重連即可,可以參考如下代碼: class ListNode { int val; ListNode next; ListNode prev; ListNode(

原创 Redis緩存穿透和緩存擊穿問題

緩存穿透     描述:緩存穿透是指緩存和數據庫中都沒有的數據,而用戶不斷髮起請求,且請求的數據均爲不存在的數據(id爲-1這種)。     解決方案: 接口進行參數校驗,將必要的參數進行基礎校驗,超過參數範圍則直接攔截; 從緩存取不到的

原创 Java實現求鏈表中間節點,LeetCode:876

使用雙指針,一快一慢指針進行遍歷鏈表,例如:1,2,3,4,5,返回3。1,2,3,4,5,6,返回4,代碼如下 class ListNode { int val; ListNode next; ListNod

原创 CentOS 開機出現錯誤信息:Could not apply the stored configuration for monitors

今天CentOS虛擬機開機出現如下圖的錯誤信息: 解決方案如下: 1.按鍵:ctrl+alt+f2,然後使用賬戶進行登錄。 2.先查看/root/.config的目錄下有沒有monitors.xml文件,如果有則rm -ri monit

原创 Redis緩存雪崩問題

概念 由於緩存層承載着大量請求, 有效地保護了存儲層, 但是如果緩存層由於某些原因不能提供服務(大量的緩存數據過期), 於是所有的請求都會達到存儲層, 存儲層的調用量會暴增, 造成存儲層也會級聯宕機的情況。 解決方案 1)保證緩存層服務高