原创 JVM 垃圾收集與 GC 算法

一. 垃圾收集基礎 Java語言的一大特點就是可以進行自動垃圾回收處理,而無需開發人員過於關注系統資源(尤其是內存資源)的釋放情況。自動垃圾收集雖然大大減輕了開發人員的工作量,但同時,它也增加了軟件系統的負擔。一個不合適的垃圾回收

原创 response的頁面跳轉與request的頁面跳轉的區別

response頁面跳轉與request的頁面跳轉的區別 response: response是服務器對客戶端的反饋,其對頁面頁面跳轉的流程是:當客戶端向服務器發起請求時,服務器重新給客戶端一個URL地址,讓客戶端重新發起一個新的

原创 數據庫事務的四大特性、隔離級別、Spring中七種事務傳播行爲

一. 什麼是事務 事務是應用程序中一系列邏輯相關的操作,所有操作必須成功完成,否則在每個操作中所作的所有更改都會被撤消。也就是事務具有原子性:一個事務中的一系列的操作要麼全部成功,要麼一個都不做。 事務的結束有兩種,當事務中的所以

原创 SpringBoot實戰(2)

用SpringBoot來整合SSM,我們使用之前SSM用到的數據庫user和實體類User 1.創建maven工程 2.編寫基本代碼 pom.xml <?xml version="1.0" encoding="UTF-8"?> <

原创 redis cluster 的 hash slot 算法

1. redis cluster 介紹 自動將數據進行分片,每個 master 上放一部分數據 提供內置的高可用支持,部分 master 不可用時,還是可以繼續工作的 在 redis cluster 架構下,每個 redis 要放

原创 淺談swagger

在瞭解swagger之前需要知道什麼是OpenAPI OpenAPI OpenAPI規範(OpenAPI Specification 簡稱OAS)是Linux基金會的一個項目,試圖通過定義一種用來描述API格式或API定義的語言,

原创 多態的實現原理和具體體現

多態的實現原理 在這裏推薦一個博客 Java技術——多態的實現原理 https://blog.csdn.net/SEU_Calvin/article/details/52191321 多態的具體體現 面向對象編程有四個特徵:

原创 淺談Redis的持久化------RDB和AOF

Redis的常用功能 Redis的強大功能很大程度上是由於其將所有數據都存儲在內存中,也就是做緩存,緩存的目標主要是那些需要經常訪問的數據,或計算複雜而耗時的數據。緩存的效果就是減少了數據庫讀的次數,減少了複雜數據的計算次數,從而

原创 Redis主從架構、主從複製

1. Redis主從複製原理 1.1 主從架構 redis主從架構 -> 讀寫分離架構 -> 可支持水平擴展的讀高併發架構 架構做成主從架構,一主多從,主負責寫,從負責讀。數據同步時,將master的數據同步複製到其他slave

原创 進程與線程區別、多線程、run()與start()的區別、wait()和sleep()的區別、

一. 線程與進程的區別: 1.線程(Thread)與進程(Process) 進程定義的是應用程序與應用程序之間的邊界,通常來說一個進程就代表一個與之對應的應用程序。 不同的進程之間不能共享代碼和數據空間,而同一進程的不同線程可以

原创 Java多線程實現的四種方式、線程的生命週期

一. 多線程 多線程出現的原因: 爲了解決負載均衡問題,充分利用CPU資源.爲了提高CPU的使用率,採用多線程的方式去同時完成幾件事情而不互相干擾.爲了處理大量的IO操作時或處理的情況需要花費大量的時間等等,比如:讀寫文件,視頻圖

原创 Redis哨兵架構基礎知識、數據丟失問題、底層核心原理

一、Redis哨兵架構的相關基礎知識 1. 哨兵的介紹 sentinel,中文名是哨兵 哨兵是redis集羣架構中非常重要的一個組件,主要功能如下 集羣監控,負責監控redis master和slave進程是否正常工作 消息通知

原创 Spring事務、AOP、IOC、DI、編程式事務、聲明式事務(註解、xml)

一. spring是如何管理事務的 Spring提供的事務管理可以分爲兩類: 編程式;比較靈活,但是代碼量大,存在重複的代碼比較多 聲明式;聲明式的比編程式的更靈活方便。 1. 編程式事務 通過 Spring 提供的事務管理

原创 猜數字遊戲(Random、Scanner)、統計字符個數(String)

猜數字遊戲 Random類 此類的實例用於生成僞隨機數,例如,一下代碼使用戶能得到一個隨機數 //創建Random對象 Random random = new Random(); //生成一

原创 SpringBoot使用Mybatis-PageHelper,和PageResult

public PageResult<SpuBo> querySpuBoByPage(String key, Boolean saleable, Integer page, Integer rows) { Exam