原创 6種限流方法之服務端時間窗口算法(結合redis)

時間窗口算法 又名滑動時間算法,所謂的滑動時間算法指的是以當前時間爲截止時間,往前取一定的時間,比如取60s的時間,在這60s時間內最大的訪問數爲100。此時算法的執行邏輯爲,先清除這60s 之前的所有請求記錄,再計算當前集合內請求數是否

原创 idea條件斷點如何使用?

條件斷點,顧名思義,就是滿足條件時進入斷點。這應該是每個後端開發者必須掌握的一個技巧。 多用於遍歷比較大的 List 或 Map 對象時,譬如有 2000個Person對象,你不可能每個對象都挨個走一遍,你可能只想在 person.url

原创 Linux系統如何搭建MySQL主從複製和讀寫分離(雙機熱備)?

主從複製: 當mysql數據庫中的數據量過大,查詢數據非常困難時,無論如何優化都會造成瓶頸,這時需要添加服務器設備來實現分佈式數據庫,實現多機熱備份,實現多機熱備,您必須首先了解主從數據庫服務器版本的要求。主從mysql的安裝和運行版本必

原创 6種常見的限流方案

限流的分類: 1)合法性驗證限流:比如驗證碼、IP 黑名單等,這些手段可以有效的防止惡意攻擊和爬蟲採集; 2)容器限流:比如 Tomcat、Nginx 等限流手段,其中 Tomcat 可以設置最大線程數(maxThreads),當併發超過

原创 6種限流方法之服務端令牌算法(結合guava工具包)

令牌算法 在令牌桶算法中有一個程序以某種恆定的速度生成令牌,並存入令牌桶中。每個請求必須先獲取令牌才能執行,請求如果沒有獲取到令牌,可以選擇等待,也可以放棄執行,如下圖所示: 我們可以使用 Google 開源的 guava 包,很方便的

原创 6種限流方法之服務端漏桶算法

漏桶算法 漏桶算法的思路來源於日常生活中常見的漏斗。 之前介紹過的滑動時間算法有一個很大的問題就是在一定範圍內,比如 60s 內只能有 10 個請求,當第一秒時就到達了 10 個請求,那麼剩下的 59s 只能把所有的請求都給拒絕掉,而漏桶

原创 idea設置支持es6語法

不設置是這樣的,報錯信息:String templates are not supported by current JavaScript version 雖然程序能夠正常運行,但是閱讀代碼時看起來非常難受。 原因: 上面代碼其實使用的

原创 5分鐘改造MySQL使其支持存儲emoji等表情符號

5分鐘改造MySQL使其支持存儲emoji等表情符號 甲方爸爸的新需求:客戶端需要在評論中使用emoji函數。 mysql5.5以前,UTF-8編碼只支持1-3字節;MySQL5.5後,它可以支持4字節的UTF編碼utf8mb4,一個字符

原创 springboot集成Thymeleaf時頁面跳轉和路徑問題

衆所周知,springboot簡化了框架整合的相關配置。默認static中放靜態頁面,templates中放動態頁面。 編寫測試代碼 新建兩個頁面分別放到static和templates目錄下。 static/hello.html 1

原创 idea斷點調試寫求值表達式

在一堆單步跟蹤的按鈕旁邊,有一個不太顯眼的按鈕,這個按鈕就是 “求值表達式”。 我們在調試的時候會非常有用,可以查看某個變量的值,也可以計算某個表達式的值,甚至還可以寫一串代碼並求值,分別對應兩種不同的模式: Expression Mo

原创 域名解析不生效,提示“未使用阿里雲解析”如何解決?

問題背景 中國模式識別與計算機視覺大會(Chinese Conference on Pattern Recognition and Computer Vision)是由中國模式識別學術會議(CCPR)和中國計算機視覺大會(CCCV)合併而

原创 Java項目管理平臺的設計與實現

原文鏈接:https://www.jiagou1216.com/share/grad/779.html 課題背景 隨着社會信息化的發展,社會上很多事務的管理也跟着相應發生了根本的變化,項目申報管理也跟着發生了變化,以前的管理是一種各地信

原创 Java使用ganymed工具包執行LINUX命令教程

瞭解更多開發技巧,請訪問,架構師小跟班官網:https://www.jiagou1216.com  package com.bootdo; import ch.ethz.ssh2.Connection; import ch.ethz.

原创 Java學生信息管理系統源碼

學生信息管理系統 功能說明 學生信息管理,包括學生、班級、院系、課程、成績等的管理。 本程序僅供學習食用。 工程環境 JDK IntelliJ IDEA MySQL 運行說明 1、安裝JDK。 2、導入SQL腳本並配置。 使用前請導入

原创 Java開發環境系列:通過命令備份MySQL表結構和數據

有人會說,明明可以使用navicat一鍵導出腳本,爲什麼還要這麼麻煩呢?呵呵,太天真!比如某些政府項目,服務器權限給你限制的死死地,各種VPN、跳板機、端口屏蔽、防火牆讓你一身本領無從下手。能讓你遠程敲命令就不錯了。命令行下具體用法 m