摘要:
對象的實例化內存布局與訪問定位 對象的實例化 對象創建的方式 (1)new:最常見的方式、單例類中調用getInstance的靜態類方法,XXXFactory的靜態方法 (2)Class的newInstance方法:在JDK9里面被標記為過時的方法,因為只能調用空參構造器,并且權限必須為public
閱讀全文
posted @ 2024-07-04 17:06
homle
閱讀(25)
推薦(0)
摘要:
方法區 棧,堆,方法區的交互關系 從線程共享與否的角度來看 ThreadLocal:如何保證多個線程在并發環境下的安全性?典型場景就是數據庫連接管理,以及會話管理。 堆,棧,方法區的交互關系 下面涉及了對象的訪問定位 (1)Person類的.class信息存放在方法區中; (2)person變量存放
閱讀全文
posted @ 2024-07-03 16:16
homle
閱讀(42)
推薦(0)
摘要:
堆 堆的核心概述 堆與進程 (1)堆針對一個JVM進程來說是唯一的,也就是一個進程只有一個JVM實例,一個JVM示例也就只有只有一個運行時數據區,一個運行時數據區只有一個堆和一個方法區 (2)但是進程中包含多個線程,他們是共享一個堆空間的 (1)一個JVM實例只存在一個堆內存,堆也是Java內存管理
閱讀全文
posted @ 2024-07-01 14:30
homle
閱讀(45)
推薦(0)
摘要:
虛擬機棧的出現背景 (1)由于跨平臺性的設計,Java的指令都是根據棧來設計的。不同平臺CPU架構不同,所以不能設計為基于寄存器的【如果設計成基于寄存器的,耦合度高,性能會有所提升,因為可以對具體的CPU架構進行優化,但是跨平臺性大大降低】. (2)優點是跨平臺,指令集小,編譯器容易實現,缺點是性能
閱讀全文
posted @ 2024-06-19 17:18
homle
閱讀(24)
推薦(0)
摘要:
在返回字段時有時需要對電話,地址等字段進行脫敏處理 1. 定義枚舉脫敏類 使用函數編程,綁定函數操作 public enum DataMaskEnum { /** * 名稱脫敏 */ USERNAME(s->s.replaceAll("(\\S)\\S(\\S*)","$1*$2")), /** *
閱讀全文
posted @ 2024-04-24 10:34
homle
閱讀(274)
推薦(0)
摘要:
1. 介紹 定義一個高層接口,給子系統中的一組接口提供一個一致的界面,用來訪問子系統的一群接口,也就是說通過定義一個一致的接口,用以屏蔽內部子系統的細節,使得調用端只需跟這個接口發生調用,而無需關心這個子系統的內部細節 2. 代碼實現 /** * @Description :電池充電 * @date
閱讀全文
posted @ 2024-04-23 20:58
homle
閱讀(17)
推薦(0)
摘要:
1. 自定義注解 @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface RateLimit { //默認最大訪問次數 int value() default 3; //默認時間窗口(秒)
閱讀全文
posted @ 2024-04-23 17:24
homle
閱讀(853)
推薦(0)
摘要:
1. 使用AOP在不改變原有方法的基礎上對接口方法增強,引入依賴 <!--引入AOP依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifact
閱讀全文
posted @ 2024-04-23 14:48
homle
閱讀(2539)
推薦(0)
摘要:
1. 組合模式介紹 在解決組織結構這種具有層級關系的結構中,如果使用傳統的繼承,不能很好的實現管理的操作,比如學院,系的添加,刪除,遍歷等; 所有可以使用組合模式把它們都看成組織結構,沒有繼承關系,而是一個樹形結構。 2. 實現 public abstract class OrgComponent
閱讀全文
posted @ 2024-04-21 15:21
homle
閱讀(33)
推薦(0)
摘要:
1. 頂咖啡問題 咖啡種類:Espresso,LongBlack 調料:Milk,Soy 當需要計算不同種類咖啡和調料組合的價格時 (1)使用傳統方式 這樣設計,會有很多類,當需要增加一個單品咖啡或調料時,類的數量就會倍增 (2)優化方式1 優點:可以把調料放入Drink類中,通過設計調料的bool
閱讀全文
posted @ 2024-04-09 21:32
homle
閱讀(13)
推薦(0)