摘要:
Semaphore 是 Java 并發包 (java.util.concurrent) 中的重要工具,主要用于控制多線程對共享資源的并發訪問量。它可以設置“許可證”(permit)的數量,并允許指定數量的線程同時訪問某一資源,適合限流、資源池等場景。下面從源碼設計、底層原理、應用場景、以及與其它 J
閱讀全文
posted @ 2024-11-10 18:08
lgx211
閱讀(571)
推薦(2)
摘要:
CountDownLatch 是 Java 并發包(java.util.concurrent)中的一個同步輔助類,它允許一個或多個線程等待一組操作完成。 一、設計理念 CountDownLatch 是基于 AQS(AbstractQueuedSynchronizer)實現的。其核心思想是維護一個倒計
閱讀全文
posted @ 2024-11-09 10:30
lgx211
閱讀(379)
推薦(1)
摘要:
一,Spring Boot啟動過程 1. 啟動入口 Spring Boot 應用的啟動入口通常是一個包含 @SpringBootApplication 注解的主類,并調用 SpringApplication.run() 方法。@SpringBootApplication 是一個復合注解,包含了 @C
閱讀全文
posted @ 2024-11-08 21:48
lgx211
閱讀(8022)
推薦(0)
摘要:
Spring Security 是一個強大且靈活的安全框架,提供了身份驗證(認證)和授權(授權)功能。下面我們將詳細介紹 Spring Security 的認證功能流程,并提供自定義實現登錄接口的示例,包括自定義認證過濾器和登出功能。 一、Spring Security 認證流程的深入分析 Spri
閱讀全文
posted @ 2024-11-04 18:55
lgx211
閱讀(2625)
推薦(5)
摘要:
Spring IOC(Inversion of Control,控制反轉)依賴注入是 Spring 框架的核心特性之一,旨在實現對象之間的松耦合,提升代碼的可維護性、可測試性和可擴展性。下面我們將從以下幾個方面深入探討 Spring IOC 依賴注入的機制和實現原理。 一、基本概念 控制反轉(Inv
閱讀全文
posted @ 2024-11-03 12:04
lgx211
閱讀(692)
推薦(0)
摘要:
一、基本概念 Java NIO 是 Java 1.4 引入的,用于處理高速、高并發的 I/O 操作。與傳統的阻塞 I/O 不同,NIO 支持非阻塞 I/O 和選擇器,可以更高效地管理多個通道。 二、核心組件 通道(Channel) Channel 是 NIO 中用于讀取和寫入數據的主要接口,提供雙向
閱讀全文
posted @ 2024-11-01 12:17
lgx211
閱讀(820)
推薦(0)
摘要:
Java 的 IO(輸入/輸出)操作是處理數據流的關鍵部分,涉及到文件、網絡等多種數據源。以下將深入探討 Java IO 的不同類型、底層實現原理、使用場景以及性能優化策略。 1. Java IO 的分類 Java IO 包括兩大主要包:java.io 和 java.nio。 1.1 java.io
閱讀全文
posted @ 2024-10-31 13:56
lgx211
閱讀(1012)
推薦(1)
摘要:
Spring Boot 的自動配置機制是它的重要特性之一,極大地簡化了 Spring 應用的配置工作。自動配置的核心思想是基于類路徑中的依賴、環境配置以及自定義代碼進行智能化配置,避免了開發者手動編寫大量的樣板代碼。 接下來,我將詳細介紹 Spring Boot 自動配置的過程,核心原理以及涉及的關
閱讀全文
posted @ 2024-10-27 17:56
lgx211
閱讀(4243)
推薦(5)
摘要:
MySQL 的執行計劃是數據庫查詢優化的重要工具,幫助開發者理解 SQL 查詢的執行過程,從而進行性能調優。執行計劃詳細展示了 MySQL 如何解析、優化和執行 SQL 語句,直接影響查詢的效率和性能。 1. 執行計劃的基本概念 執行計劃是 MySQL 對 SQL 查詢進行分析后生成的一組指令,描述
閱讀全文
posted @ 2024-10-26 14:27
lgx211
閱讀(934)
推薦(0)
摘要:
深度分頁(Deep Pagination)在MySQL中指的是對大型數據集進行分頁查詢時,尤其是當需要獲取較后頁的數據時,性能可能會受到影響。傳統的分頁方法在數據量較大時,隨著頁數的增加,性能會迅速下降。本文將深入探討深度分頁的實現方式、問題及其解決方案。 1. 深度分頁的基本概念 在MySQL中,
閱讀全文
posted @ 2024-10-26 14:06
lgx211
閱讀(2262)
推薦(2)
摘要:
MySQL 中的存儲引擎是其數據庫管理系統的核心模塊,用于處理不同類型的數據存儲和檢索操作。每種存儲引擎都有自己的特點,適用于不同類型的應用場景。MySQL 最常用的存儲引擎包括 InnoDB、MyISAM、Memory、CSV、Archive、Merge、Federated、NDB 等。以下是對
閱讀全文
posted @ 2024-10-25 10:46
lgx211
閱讀(996)
推薦(3)
摘要:
在企業級 Web 開發中,MySQL 優化是至關重要的,它直接影響系統的響應速度、可擴展性和整體性能。下面從不同角度,列出詳細的 MySQL 優化技巧,涵蓋查詢優化、索引設計、表結構設計、配置調整等方面。 一、查詢優化 1. 合理使用索引 單列索引:為查詢頻繁的字段(如 WHERE、ORDER BY
閱讀全文
posted @ 2024-10-24 14:24
lgx211
閱讀(5161)
推薦(9)
摘要:
Redis 提供了豐富的數據類型,每種數據類型都有其獨特的存儲結構和操作方法,可以滿足不同的業務場景需求。下面詳細介紹 Redis 支持的主要數據類型及其底層實現,并結合具體的應用場景說明其使用。 1. 字符串(String) 介紹: Redis 中最基本的鍵值對類型,鍵和值都可以是字符串,值的最大
閱讀全文
posted @ 2024-10-24 01:50
lgx211
閱讀(907)
推薦(7)
摘要:
Redis 和 MySQL 一致性問題是企業級應用中常見的挑戰之一,特別是在高并發、高可用的場景下。由于 Redis 是內存型數據庫,具備極高的讀寫速度,而 MySQL 作為持久化數據庫,通常用于數據的可靠存儲,如何保證兩者數據的一致性需要具體業務場景的設計與優化。 下面我們將結合幾個典型的業務場景
閱讀全文
posted @ 2024-10-23 12:40
lgx211
閱讀(4262)
推薦(6)
摘要:
緩存雪崩、緩存擊穿、緩存穿透是分布式系統中使用緩存時,常遇到的三類問題,都會對系統性能和穩定性產生嚴重影響。下面將詳細介紹這三者的定義、產生原因、危害以及常見的解決方案。 1. 緩存雪崩 1.1 定義 緩存雪崩是指在某一時刻,大量緩存同時失效,導致大量請求直接打到數據庫層,造成數據庫壓力驟增,甚至可
閱讀全文
posted @ 2024-10-22 11:04
lgx211
閱讀(4198)
推薦(6)
摘要:
布隆過濾器(Bloom Filter)是一種空間效率極高的數據結構,用于快速判斷一個元素是否在集合中。它能夠節省大量內存,但它有一個特點:可能存在誤判,即可能會認為某個元素存在于集合中,但實際上不存在;而對于不存在的元素,它保證一定不會誤判。布隆過濾器適合在對存儲空間要求極為嚴格,同時能接受少量誤判
閱讀全文
posted @ 2024-10-21 13:05
lgx211
閱讀(1799)
推薦(0)
摘要:
InnoDB 的 MVCC(Multi-Version Concurrency Control,多版本并發控制) 是 MySQL 實現高并發事務處理的一種機制。通過 MVCC,InnoDB 可以在高并發環境下支持 事務隔離,并提供 非阻塞的讀操作,從而避免鎖定所有讀操作帶來的性能瓶頸。MVCC 允許
閱讀全文
posted @ 2024-10-20 09:18
lgx211
閱讀(929)
推薦(3)
摘要:
出現內存溢出的場景通常發生在應用程序中存在內存泄漏、對象生命周期過長、對象頻繁創建但未能及時回收等問題。以下是幾個真實的業務場景,結合內存溢出問題,并從多個角度提出優化方法,來提高內存使用效率。 場景 1:大量業務數據緩存導致堆內存溢出 場景描述: 一個企業級 Web 應用使用了大量內存緩存來存儲業
閱讀全文
posted @ 2024-10-18 18:24
lgx211
閱讀(459)
推薦(1)
摘要:
在數據庫事務管理中,Undo Log 和 Redo Log 是兩種關鍵日志,用于保障事務的 原子性 和 持久性。它們的作用是確保數據庫在出現崩潰、斷電、宕機等故障時,能夠進行恢復操作,從而保障數據一致性和完整性。它們通常用于支持事務的 ACID 特性中的 原子性 和 持久性。下面將分別介紹 Undo
閱讀全文
posted @ 2024-10-17 16:23
lgx211
閱讀(1043)
推薦(0)
摘要:
MySQL 死鎖 是指兩個或多個事務互相等待對方持有的鎖,從而導致所有事務都無法繼續執行的現象。在 InnoDB 存儲引擎中,死鎖是通過鎖機制產生的,特別是在并發較高、業務邏輯復雜的情況下,更容易發生死鎖。 一、MySQL 死鎖的成因 MySQL 的死鎖一般發生在 行級鎖 上。常見的死鎖成因包括:
閱讀全文
posted @ 2024-10-17 15:42
lgx211
閱讀(3452)
推薦(18)
摘要:
在MySQL中,InnoDB引擎通過Next-Key Locking技術來解決幻讀問題。幻讀是一種事務并發問題,通常出現在Repeatable Read隔離級別下的范圍查詢操作中。幻讀的現象是,事務在查詢時多次執行相同的范圍查詢,但由于其他事務的插入或刪除操作導致結果不一致,出現“幻覺”一樣的記錄。
閱讀全文
posted @ 2024-10-16 23:07
lgx211
閱讀(565)
推薦(0)
摘要:
1,左右布局
- 左側固定寬帶,右側自適應剩余的寬度。
- 中間一條分割線,可以拖拉,自適應調整左右側的寬度。
- 左側的高度超長自動出現橫向滾動條,左側寬度超長,自動出現豎向滾動條。
2,上中下布局
- 最上面的 搜索條件 div 固定占用 100 px 高度,下面的 查詢條件 div 固定占用 30 px 高度,最下面的分頁固定占用高度,頁面剩下的高度自動分配給中間的表格內容。
- 表格內容高度超過后自動出現豎向滾動條,寬度超出后自動出現橫向滾動條。
- 點擊按鈕,可以 隱藏/顯示 搜索條件 div 里面的內容。
- 當隱藏 搜索條件 div 里面的內容時,中間表格的高度為:整個頁面的高度—操作按鈕div的高度—分頁div的高度。
- 當搜索條件 div 里面的內容時,中間表格的高度為:整個頁面的高度—搜索條件div的高度—操作按鈕div的高度—分頁div的高度。
3,分辨率自適應
- 加載即動態實時計算高度,寬度
閱讀全文
posted @ 2024-08-08 13:58
lgx211
閱讀(2026)
推薦(10)
摘要:
一,上固定,下自適應
二,下固定,上自適應
三,上下固定,中間自適應
四,左固定,右自適應
五,仿網站布局
六,仿xshell布局
閱讀全文
posted @ 2022-05-06 17:48
lgx211
閱讀(160)
推薦(1)
摘要:
由淺深入理解java多線程,java并發,synchronized實現原理及線程鎖機制 多進程是指操作系統能同時運行多個任務(程序)。 多線程是指在同一程序中有多個順序流在執行。 一,線程的生命周期 新建狀態: 使用 new 關鍵字和 Thread 類或其子類建立一個線程對象后,該線程對象就處于新建
閱讀全文
posted @ 2021-10-24 22:49
lgx211
閱讀(301)
推薦(0)
摘要:
打開一個新窗口用來展示新頁面,而且需要傳參數,并且參數不能顯示在地址欄里面,而且當我刷新頁面的時候,傳過來的參數不能丟失,要一直存在,除非我手動關閉這個新窗口
閱讀全文
posted @ 2021-03-04 13:32
lgx211
閱讀(1974)
推薦(3)
摘要:
vue(element)中使用monaco實現代碼高亮 使用的是vue語言,用element的組件,要做一個在線編輯代碼,要求輸入代碼內容,可以進行高亮展示,可以切換各不同語言,而且支持關鍵字補全,還要有一個各不同版本間的代碼左右比較,這就是需求。 至于為什么選中monaco,請查看 vue(ele
閱讀全文
posted @ 2020-04-19 15:01
lgx211
閱讀(1579)
推薦(0)
摘要:
vue(element)中使用codemirror實現代碼高亮,代碼補全,版本差異對比 使用的是vue語言,用element的組件,要做一個在線編輯代碼,要求輸入代碼內容,可以進行高亮展示,可以切換各不同語言,而且支持關鍵字補全,還要有一個各不同版本間的代碼左右比較,這就是需求。 至于為什么選中co
閱讀全文
posted @ 2020-04-17 15:08
lgx211
閱讀(8490)
推薦(0)
摘要:
@[toc] 全面對比 從活躍方面來看 從功能方面來看 代碼高亮是必須的,社區必須活躍,不然修復bug沒有一點點參考,太費時間。自動補全縮進,快捷鍵操作,搜索和替換等功能不是必須的,如果有,能拿來裝逼當然最好,不能也不影響使用。 故而挑出了以下幾個,再具體分析,逐個調查,查看后續開發,部署的坑,坑少
閱讀全文
posted @ 2020-04-16 09:23
lgx211
閱讀(4333)
推薦(0)
摘要:
Error in v-on handler: "TypeError: Cannot read property 'value' of undefined"
$refs獲取不到值
取不到el-dialog對話框中的子組件對象
返回的都是undefined
閱讀全文
posted @ 2020-04-14 10:34
lgx211
閱讀(44353)
推薦(1)
摘要:
三臺服務器上離線安裝redis哨兵集群,一主二從三哨兵 系統安裝好gcc環境,(不然編譯redis會報錯)。依舊不知道怎么離線安裝gcc環境的可查看 "CentOS下離線安裝gcc環境,圖文詳細" 下載 點擊官網地址下載Linux版的redis http://download.redis.io/re
閱讀全文
posted @ 2020-04-07 11:35
lgx211
閱讀(791)
推薦(0)
摘要:
CentOS下離線安裝gcc環境,圖文詳細,方法全面 下載 方式1:如果有網的虛擬機還沒有安裝,可以直接 方式2:如果有網的虛擬機已經安裝過,可以 可以看到,gcc的依賴如下 gcc++的依賴如下 方式3:看到我給的依賴包,直接網上下載好,這里是地址,可以在里面找到 http://mirrors.1
閱讀全文
posted @ 2020-04-07 11:15
lgx211
閱讀(10291)
推薦(4)
摘要:
超詳細,多圖文使用galera cluster搭建mysql集群并介紹wsrep相關參數 介紹galera cluster原理的文章已經有一大堆了,百度幾篇看一看就能有相關了解,這里就不贅述了。本文主要側重實操,因為跟著百度前幾頁的搭建教程或多或少都有坑,前后配置邏輯矛盾的也有。終于,經過幾個通宵的
閱讀全文
posted @ 2020-03-12 16:21
lgx211
閱讀(9092)
推薦(1)
摘要:
多圖文,詳細介紹mysql各個集群方案 集群的好處 高可用性:故障檢測及遷移,多節點備份。 可伸縮性:新增數據庫節點便利,方便擴容。 負載均衡:切換某服務訪問某節點,分攤單個節點的數據庫壓力。 集群要考慮的風險 網絡分裂:群集還可能由于網絡故障而拆分為多個部分,每部分內的節點相互連接,但各部分之間的
閱讀全文
posted @ 2020-03-10 17:06
lgx211
閱讀(23876)
推薦(2)
摘要:
超詳細,多圖文介紹redis集群方式并搭建redis偽集群 超多圖文,對新手友好度極好。敲命令的過程中,難免會敲錯,但為了截好一張合適的圖,一旦出現一點問題,為了好的演示效果,就要從頭開始敲。且看且珍惜。 再認識redis集群前,若想先知道redis單機版的可查看, "springboot整合red
閱讀全文
posted @ 2020-03-08 10:54
lgx211
閱讀(909)
推薦(1)
摘要:
今天提交代碼報錯,看了看提示的錯誤,百度了一下,發現操作都比較繁瑣,所以自己重新給一個最簡單有效的。 有的要下載sqlite3.exe,借助它清空本地.svn\wc.db數據庫文件里面的operation,即表名是work_queue。這是目前最多的方法。 還有的要通過SVN的安裝包,借助其命令執行
閱讀全文
posted @ 2020-03-06 11:19
lgx211
閱讀(223)
推薦(0)
摘要:
Could not find a valid gem 'redis' (= 0) 報錯詳情如下; ERROR: Could not find a valid gem 'redis' ( = 0), here is why: Unable to download data from https://r
閱讀全文
posted @ 2020-03-06 11:04
lgx211
閱讀(1709)
推薦(0)
摘要:
Redis緩存 @[toc] 簡介 redis是一個高性能的key value數據庫 優勢 性能強,適合高度的讀寫操作(讀的速度是110000次/s,寫的速度是81000次/s )。 支持較為豐富的數據類型(如二進制的Strings, Lists, Hashes, Sets ,Ordered Set
閱讀全文
posted @ 2019-12-03 18:33
lgx211
閱讀(1503)
推薦(1)
摘要:
Rabbit MQ消息隊列 @[toc] 簡介 優點 erlang開發,并發能力強。 社區活躍,使用的人多,穩定性較強。 延時低 缺點 erlang語言開發的,國內精通的不多,日后定制開發困難。 Rabbit MQ工作模式 1,"Hello World!"模式 簡單模式是Rabbit MQ最簡單入門
閱讀全文
posted @ 2019-11-29 16:37
lgx211
閱讀(584)
推薦(1)
摘要:
Druid連接池 簡介 由阿里巴巴開源的druid連接池是目前綜合實力最突出的數據庫連接池,而且還提供了監控日志功能,能夠分析SQL執行情況。 引入druid連接池 pom.xml中加入 application.properties中加入 注:之前已經配置好了mysql,mybatis,這里沒有重復
閱讀全文
posted @ 2019-11-26 10:18
lgx211
閱讀(320)
推薦(0)
摘要:
MyBatis @[toc] 簡介 優點 最大的優點是SQL語句靈活,適合調優情景,業務復雜情景 劣勢 最大的劣勢是不同數據庫之間的遷移 引入mybatis組件 pom.xml中加入 application.properties中加入 需要說明的是,我引入的mysql驅動為 com.mysql.cj
閱讀全文
posted @ 2019-11-25 11:31
lgx211
閱讀(379)
推薦(0)