原创 LeetCode Generate Parentheses (DFS)

題意 Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example,

原创 LeetCode Merge k Sorted Lists (鏈表)

題意 Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 將K個排好序的鏈表合併成一個 解

原创 LeetCode Search for a Range (二分查找)

題意 Given a sorted array of integers, find the starting and ending position of a given target value. Your algorithm's ru

原创 Spring學習日誌之Bean的裝配

Spring容器負責創建應用程序中的bean並通過依賴注入來協調這些對象之間的關係。但是,作爲開發人員,要告訴Spring需要創建哪些bean並且如何將其裝配在一起。當描述bean如何裝配時,Spring提供了兩種主要的配置方式。 基於

原创 LeetCode Pow(x, n) (快速冪)

題意 Implement pow(x, n). 求X的N次方。 解法 用正常的辦法來做是會超時的,因爲可能有21億次方的情況,所以需要優化一下。這裏用到了快速冪算法,簡單來說就是將指數分解成二進制的形式,比如X的7次方,就可以表示成X^

原创 LeetCode Search Insert Position (二分查找)

題意 Given a sorted array and a target value, return the index if the target is found. If not, return the index where it

原创 Spring學習日誌之Spring MVC啓動配置

對DispatcherServlet進行配置 Spring MVC的配置實際上就是對DispatcherServlet的配置 public class DispatcherServletConfig extends AbstractAnno

原创 Java中的類型擦除與橋方法

類型擦除 Java在語法中雖然存在泛型的概念,但是在虛擬機中卻沒有泛型的概念,虛擬機中所有的類型都是普通類。無論何時定義一個泛型類型,編譯後類型會被都被自動轉換成一個相應的原始類型。 比如這個類 public class Parent<T>

原创 使用JWT來實現對API的授權訪問

目錄什麼是JWTJWT的結構HeaderPayloadSignature解碼後的JWTJWT是怎樣工作的在JAVA裏使用JWT引入依賴JWT Service生成JWT解碼JWT驗證JWT註冊/登錄驗證JWTAPI尾註 什麼是JWT JWT

原创 【博客遷移】hyrepo.com

博客遷移至 www.hyrepo.com

原创 Spring學習日誌之純Java配置的MVC框架搭建

依賴引入 <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servle

原创 JAVA裏自定義註解來進行數據驗證

API開發中經常會遇到一些對請求數據進行驗證的情況,這時候如果使用註解就有兩個好處,一是驗證邏輯和業務邏輯分離,代碼清晰,二是驗證邏輯可以輕鬆複用,只需要在要驗證的地方加上註解就可以。 Java提供了一些基本的驗證註解,比如@NotNull

原创 爲什麼說JAVA中要慎重使用繼承

這篇文章的主題並非鼓勵不使用繼承,而是僅從使用繼承帶來的問題出發,討論繼承機制不太好的地方,從而在使用時慎重選擇,避開可能遇到的坑。 JAVA中使用到繼承就會有兩個無法迴避的缺點: 打破了封裝性,子類依賴於超類的實現細節,和超類耦合。

原创 圖解SSH原理及兩種登錄方法

SSH(Secure Shell)是一套協議標準,可以用來實現兩臺機器之間的安全登錄以及安全的數據傳送,其保證數據安全的原理是非對稱加密。 傳統的對稱加密使用的是一套祕鑰,數據的加密以及解密用的都是這一套祕鑰,可想而知所有的客戶端以及服務端

原创 Spring中的循環依賴

循環依賴 在使用Spring時,如果主要採用基於構造器的依賴注入方式,則可能會遇到循環依賴的情況,簡而言之就是Bean A的構造器依賴於Bean B,Bean B的構造器又依賴於Bean A。在這種情況下Spring會在編譯時拋出BeanC