博客 / 列表

cicadasmile - Java進階 | 從整體上觀察面向對象

一、面向對象 面向對象是Java編程中最核心的思想,基本特徵:繼承、封裝、多態。 1、特徵之封裝 將結構、數據、操作封裝在對象實體中,使用時可以不關注對象內部結構,只能訪問開放權限的功能入口,從而降低程序耦合程度,提供安全性和可持續維護性。 public class Concept01 { public static void main(String[] args) { S

封裝 , 多態 , 繼承 , 面向對象設計模式

cicadasmile - SpringBoot3安全管理

標籤:Security.登錄.權限; 一、簡介 SpringSecurity組件可以為服務提供安全管理的能力,比如身份驗證、授權和針對常見攻擊的保護,是保護基於spring應用程序的事實上的標準; 在實際開發中,最常用的是登錄驗證和權限體系兩大功能,在登錄時完成身份的驗證,加載相關信息和角色權限,在訪問其他系統資源時,進行權限的驗證,保護系統的安全; 二、工程搭建 1、工程結構 2、依賴管理 在

springsecurity , springboot

cicadasmile - JDK中「SPI」原理分析

基於【JDK1.8】 一、SPI簡介 1、概念 SPI即service-provider-interface的簡寫; JDK內置的服務提供加載機制,可以為服務接口加載實現類,解耦是其核心思想,也是很多框架和組件的常用手段; 2、入門案例 2.1 定義接口 就是普通的接口,在SPI的機制中稱為【service】,即服務; public interface Animal { String a

java8 , JDK , JAVA

cicadasmile - 如何將「知識」體系化管理

積累和總結,是長期持續的過程 01 最近,很多朋友微信私聊關於「butte-java-note」倉庫的話題; 這個「Git倉庫」每年都會基於總結和思考,進行一次分類體系的改動; 多數朋友都比較好奇,整理的思路是什麼? 關於「butte-java-note」倉庫,其實就是個人對知識的積累和框架體系的迭代; 這個倉庫所記錄的內容,就是在工作中不斷遇到的各種「知識點」、「知識塊」、「知識體系」; 在工作

職場 , 知識體系

cicadasmile - 聊一聊系統重構

打破常規,重立新規; 01 開始想聊這個話題的時候,我是打算放棄的;因為這個話題涉及範圍之廣,內容之多,讓我犯怵; 近幾年,待過兩家公司;一家經歷過重構,另一家也打算重構...... 其實要下定決心,推翻重來,是一個很有勇氣的決定; 歸根結底,不到萬不得已,誰想這麼玩,誰願意花費大精力去做這些髒活、累活; 所以究其原因,也只能説是一種綜合因素吧,就像古話説的,天時、地利、人和; 至於為什麼這是個很

系統 , 重構 , 後端

cicadasmile - Java基礎 | Stream流原理與用法總結

Stream簡化元素計算; 一、接口設計 從Java1.8開始提出了Stream流的概念,側重對於源數據計算能力的封裝,並且支持序列與並行兩種操作方式;依舊先看核心接口的設計: BaseStream:基礎接口,聲明瞭流管理的核心方法; Stream:核心接口,聲明瞭流操作的核心方法,其他接口為指定類型的適配; 基礎案例:通過指定元素的值,返回一個序列流,元素的內容是字符串,並轉換為Lon

java8 , JAVA

cicadasmile - 聊聊支付流程的設計與實現邏輯

新手打怵老手頭疼的業務; 一、業務背景 通常在業務體系中,都會或多或少的涉及到支付相關的功能;對於一些經驗欠缺同學來説,最緊張的就是面對這類支付結算的邏輯,因為流程中的任何細節問題,都可能引發對賬異常的情況; 錯誤發生之後,再想去修復流程,花費的時間成本又是高昂的,還牽扯錯誤數據的調平問題,最終很可能引發亂賬算不清的結果,然後需要人工介入手動處理; 在支付場景中,不但涉及諸多的複雜業務,結算規則

業務 , 支付

cicadasmile - 理解Java中對象基礎Object類

一、Object簡述 源碼註釋:Object類是所有類層級關係的Root節點,作為所有類的超類,包括數組也實現了該類的方法,注意這裏説的很明確,指類層面。 所以在Java中有一句常説的話,一切皆對象,這話並不離譜。 1、顯式擴展 結論驗證 既然Object作為所有類的父級別的類,則不需要在顯式的添加繼承關係,Each01編譯期就會提示移除冗餘。 public class Each01 extend

JAVA , object