一些文章精選

1.java相關

1.1 Java基礎

文章 相關
爲什麼 String 的 hashCode 選擇 31 作爲乘子?
爲啥需要序列號ID
基於註解實現的策略模式優化switch case 我的demo代碼
lambda實現策略模式
lambda實現責任鏈模式
maIn方法爲啥必須是static

1.2 Java JVM相關

文章精選 更多
2019 年 300 多篇精華文章分類彙總,提升你的內功!
Class.forName 和 ClassLoader 有什麼區別

內容
springbootJVM調優
JVM內存溢出後,其它線程是否能正常工作
查看GC日誌
Linux查詢日誌方式

1.3 Java多線程、併發

文章 相關
長連接的心跳及重連 可以參考dubbo的心跳
基於時間輪的延時消息 可以參考Netty 中的 HashedWheelTimer
爲啥wait要放到同步代碼塊中?
rateLimiter限流(平滑) 帶預熱期的限流模式
sprigboot集成Hystrix做線程隔離
分佈式限流和Nginx限流
秒殺系統設計
ThreadLocal解決現實中的問題
停止線程的多種方式
防止超賣

2. mysql

2.1 mysql crud

文章
MySQL累加
MySQL性能以及查詢優化
mysql 幾種log

2.2 mysql 索引

2.3 MySQL事務

文章 相關
mysql分區的優缺點
1. 數據庫緩存和數據庫的一致性

筆記:
1.先更新數據庫,再刪除緩存

  1. 更新數據的時候先更新數據庫,再刪除緩存,爲啥是要刪除緩存,而不是更新呢?
  2. 爲了防止一直在更新,而不查詢的操作
  3. 如果刪除緩存失敗了,怎麼辦?數據就不一致了
  4. 解決方案是:先刪除緩存,再更新數據庫

2. 先刪除緩存,再更新數據庫
6. 如果修改還沒有完成,又來了一個請求,讀緩存發現是NULL,就去數據庫查詢到了舊的值,放入緩存中,完了,數據又不一致了,怎麼解決
7. 藉助一個隊列,每次更新數據往緩存中添加一個更新數據的id,如果有一個更新數據的操作正在執行,這時緩存肯定爲NULL,但是這時候又來了一百個請求數據的接口,其實就可以往隊列裏面添加100個請求更新緩存的id,這100個請求數據的接口,其實可以變成一個,因爲只要中間沒有其它的請求,然後就可以讓線程處理消息隊列就好了,到那時會有請求超時的問題,鏈接中有解決方案

2.4 主從

2.5 分庫分表

3. spring boot

文章 github
spring boot如何啓動

3.1 springboot一些小功能

文章 相關
springboot註解
springbootWebsocket在線聊天
普通、時間輪和分佈式定時任務
springboot一些高級配置
springboot讀寫分離
Spring Boot + Vue + Shiro 實現前後端分離、權限控制
nio上傳文件
springboot使用緩存
java 實現長短鏈接互換 核心:近制轉換
springbootSecurity實現在線人數控制
springboot-redis實現點贊功能
spring boot實現RabbitMQ消息100%消費
springboot國際化
springboot對於long類型的處理

3.2 spring boot參數配置

3.3 spring boot調優

文章 相關
idea調試技巧

4. dubbo

文章 相關
dubbo優雅停機
dubbo RPC壓力測試

5. 分佈式

文章 相關
分佈式事務
Jenkins搭建

6. redis

文章 相關
redis內存滿了怎麼辦
redis數據結構的應用和三主三從集羣的搭建
redis內部結構編碼方式

7. 源碼分析

類型 分析
ConcurrentHashMap分析
mybatis9種設計模式

8. mongo

功能 額外
mongo多數據源支持

9. 算法相關

需求 實現
5千萬數據排序

10 雜七雜八

文章
開發工具推薦
一個TCP請求可以發送多少HTTP請求?
session和cookie的區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章