原创 接口和抽象類的區別

在說二者區別之前,首先看一看二者的一些特性,如下 1、2 所示: 1、抽象類 有抽象方法的類一定是抽象類; 抽象類也可以沒有任何一個抽象方法; 抽象類也可以有非抽象方法; 2、接口 接口中的所有方法都是抽象的,且不用開發者顯示定義(jdk

原创 AOP 概述及相關基礎知識

一、AOP 概述 AOP 是 Aspect Oriented Programing 的簡稱,面向切面的編碼; AOP 的工作重心是如何將增強應用到目標對象的連接點上:         第一,通過切點和增強定位到連接點上;        

原创 Redis - 緩存雪崩、緩存擊穿、緩存穿透

1、緩存雪崩 是指緩存中大量的 key 在同一時間失效,這時又有大量的請求進來,導致這些請求全部到了數據庫層面,嚴重的情況,數據庫奔潰; 解決方法: 不設置失效時間,定時去刷新緩存; 設置失效時間的時候加上一個隨機數,讓緩存不至於在同一時

原创 Unable to open debugger port (127.0.0.1:53373): java.net.SocketException "socket closed"

Ideal Debug Java 項目報錯: Error running 'Web': Unable to open debugger port (127.0.0.1:53373): java.net.SocketException "

原创 增值稅發票二維碼內容字段解析

最近在做一個小程序項目讀取增值稅發票二維碼信息並落庫,網上搜羅了一下發票二維碼中包含的信息,結合如下具體實例,簡單闡述下發票二維碼中的字段意義。 通過程序讀取發票二維碼內容: "01,10,050003523456,29342181,1

原创 Java 8 的 流的學習總結

1、首先談談什麼是流? 流是從支持數據處理操作的源中生成的元素序列。 拆分理解這句話: 元素序列:流提供了一個接口,可以訪問特定元素類型的一組有序值; 源:被處理的數據,從有序集合生成流時會保留原有的順序;由列表生成的流,其元素順序和列表

原创 Spring Boot 添加 Security 起步依賴,使用 thymeleaf 模板提交表單被攔截問題

問題:        最近在學習 Spring Boot,實戰的時候遇到了問題,就是添加了 spring-boot-starter-security 依賴後,使用 thymeleaf 提交表單後報 403 錯誤。   原因是:      

原创 淺談 HashMap

1、HashMap 一些特性: 存儲的是 <key, value> 形式的鍵值對; 允許 key值 或 value值 爲 null; HashMap 是非 synchronized; HashMap 很快 哈希表的主幹是數組,數組中的元素

原创 Maven pom.xml標籤dependencies與dependencyManagement區別

1、properties:POM文件常量定義區,在文件中可以直接引用,如版本、編碼等。如: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEn

原创 Java Object 通用方法之 equals()

Object equals() 方法的定義如下: public boolean equals(Object obj) { return (this == obj); } 其中 "==" 表示的是對象的內容完全相同。 對於基礎類型

原创 設計模式——工廠方法模式及其應用

工廠方法模式:是23中基本設計模式之一,它定義了一個創建對象的接口,但由子類決定要實例化的類是哪一個。工廠方法讓類的實例化延遲到了子類。 注: 這裏所謂的 “決定” 並不是指模式允許子類本身在運行時做決定,而是在編寫創建者類時,不需要知道

原创 簡單工廠模式——概述及應用

       最近在學習設計模式,被大家經常提及的應該就是工廠模式了,查閱了相關資料,發現之前理解的工廠模式其實是隻是簡單工廠模式,在正式介紹設計模式中的工廠模式之前,這篇博客先對簡單工廠模式做了介紹。        簡單工廠模式的實質是

原创 AspectJ中的org.aspectj.lang.JoinPoint接口的主要方法及使用

  AspectJ 使用 org.aspectj.lang.JoinPoint 接口表示目標類連接點對象,如果是環繞增強,則使用 org.aspectj.lang.ProceedingJoinPoint 表示連接點對象,Proceedin

原创 Spring AOP 的動態代理

Spring AOP 使用動態代理技術在 運行期 織入增強的代碼。其使用的動態代理機制有如下兩種: 基於 JDK 的動態代理; 基於 CGLib 的動態代理; 之所以需要兩種代理機制,很大程度上是因爲 JDK 本身只提供接口的代理,而不支

原创 Java中對象作爲參數傳到方法中屬於值傳遞還是引用傳遞?

畫重點: Java 中所有的參數傳遞都是按值傳遞。   值傳遞:內存會開闢一個新的空間存儲傳入參數的拷貝值,方法中得到的就是這個拷貝值,修改方法中這個拷貝值,並不能改變原來的值。 (1)首先來看看基礎數據類型 public st