原创 如何實現一個簡易版的 Spring - 如何實現 AOP(終結篇)

前言 在 上篇 實現了 判斷一個類的方式是符合配置的 pointcut 表達式、根據一個 Bean 的名稱和方法名,獲取 Method 對象、實現了 BeforeAdvice、AfterReturningAdvice 以及 AfterThr

原创 一文帶你深入瞭解 Java 字節碼

{"type":"doc","content":[{"type":"heading","attrs":{"align":null,"level":1},"content":[{"type":"text","text":"1.1 什麼是字節碼

原创 如何實現一個簡易版的 Spring - 如何實現 AOP(下)

前言 前面兩篇 如何實現 AOP(上)、如何實現 AOP(中) 做了一些 AOP 的核心基礎知識簡要介紹,本文進入到了實戰環節了,去實現一個基於 XML 配置的簡易版 AOP,雖然是簡易版的但是麻雀雖小五臟俱全,一些核心的功能都會實現,通過

原创 如何實現一個簡易版的 Spring - 如何實現 AOP(中)

前言 在上篇 如何實現 AOP(上) 介紹了 AOP 技術出現的原因和一些重要的概念,在我們自己實現之前有必要先了解一下 AOP 底層到底是如何運作的,所以這篇再來看看 AOP 實現所依賴的一些核心基礎技術。AOP 是使用動態代理和字節碼生

原创 如何實現一個簡易版的 Spring - 如何實現 AOP(上)

前言 本文是「如何實現一個簡易版的 Spring 系列」的第五篇,在之前介紹了 Spring 中的核心技術之一 IoC,從這篇開始我們再來看看 Spring 的另一個重要的技術——AOP。用過 Spring 框架進行開發的朋友們相信或多或少

原创 論基礎理論知識的重要性

前言 在計算機行業工作的人們,最大的感觸就是這個行業裏總是會出現很多的新東西,各種技術、框架等等,變化無處不在,有很大一部分人都比較焦慮。在一些論壇或者社區裏面總是有人在問如何學習一門新技術?怎樣才能跟上技術的潮流?我想說是,我們應該打牢基

原创 這幾個好用的 Google 搜索技巧,讓你飛起!

搜索能力是被絕大多數人低估一項基本素質,絕大部分做編程技術相關的朋友應該都知道如何使用 Google,但是並不知道如何利用它的潛力。其實不管是 Google 還是 百度,會搜索的人一樣都可以查找到需要的東西,不會搜索的人用什麼都不好使。下面

原创 如何實現一個簡易版的 Spring - 如何實現 @Autowired 註解

前言 本文是 如何實現一個簡易版的 Spring 系列第四篇,在 上篇 介紹了 @Component 註解的實現,這篇再來看看在使用 Spring 框架開發中常用的 @Autowired 注入要如何實現,大家用過 Spring 都知道,該註

原创 如何實現一個簡易版的 Spring - 如何實現 @Component 註解

前言 前面兩篇文章(如何實現一個簡易版的 Spring - 如何實現 Setter 注入、如何實現一個簡易版的 Spring - 如何實現 Constructor 注入)介紹的都是基於 XML 配置文件方式的實現,從 JDK 5 版本開始

原创 如何實現一個簡易版的 Spring - 如何實現 Constructor 注入

前言 本文是「如何實現一個簡易版的 Spring」系列的第二篇,在 第一篇 介紹瞭如何實現一個基於 XML 的簡單 Setter 注入,這篇來看看要如何去實現一個簡單的 Constructor 注入功能,實現步驟和 Setter 注入是一樣

原创 2020 微信頭像聖誕帽來啦,快給 TA 戴帽子吧~

一年一度的聖誕節新年馬上就要到了,新年的鐘聲可曾喚起您對往昔的回憶?繁華的街道,新年的爆竹,友好的問候,熙熙攘攘開心購物的人羣…… 聖誕老人 🎅 準備了好多小禮物,又是一年聖誕時,豐盛經典的美食,馥郁醇香的美酒,戴上聖誕帽,伴着音樂以及迷人

原创 如何實現一個簡易版的 Spring - 如何實現 Setter 注入

前言 之前在 上篇 提到過會實現一個簡易版的 IoC 和 AOP,今天它終於來了。。。相信對於使用 Java 開發語言的朋友們都使用過或者聽說過 Spring 這個開發框架,絕大部分的企業級開發中都離不開它,通過 官網 可以瞭解到其生態非常

原创 Spring 是如何造出一個 Bean 的

前言 使用 Java 作爲第一開發語言的朋友們,相信大家或多或少的都使用過 Spring 這個開發框架,可以說 Spring 框架真是我們 Java 程序員的春天,在 Spring 中 Bean 是其中最重要的概念之一,是學習其它高級知識的

原创 從CPU緩存看緩存的套路

一、前言 不同存儲技術的訪問時間差異很大,從 計算機層次結構 可知,通常情況下,從高層往底層走,存儲設備變得更慢、更便宜同時體積也會更大,CPU 和內存之間的速度存在着巨大的差異,此時就會想到計算機科學界中一句著名的話:計算機科學的任何一個

原创 Java 集合類 List 的那些坑

現在的一些高級編程語言都會提供各種開箱即用的數據結構的實現,像 Java 編程語言的集合框架中就提供了各種實現,集合類包含 Map 和 Collection 兩個大類,其中 Collection 下面的 List 列表是我們經常使用的集合類