LinkedList與ArrayList都是List接口的具體實現類。LinkedList與ArrayList在功能上也是大體一致,但是因為兩者具體的實現方式不一致,所以在進行一些相同操作的時候,其效率也是有差別的。 對於抽象的數據結構——線性表而言,線性表分為兩種,一種是順序存儲結構的順序表 ...
ArrayList是Java集合框架中一個經典的實現類。他比起常用的數組而言,明顯的優點在於,可以隨意的添加和刪除元素而不需考慮數組的大小。處於練手的目的,實現一個簡單的ArrayList,並且把實現的過程在此記錄。 實現的ArrayList主要的功能如下: 默認構造器和一個參數的有參構造器 add方法 get方法 indexOf方法 contains方法 size方法 isEmpty方法 rem ...
2017-02-08 12:12 4 5896 推薦指數:
LinkedList與ArrayList都是List接口的具體實現類。LinkedList與ArrayList在功能上也是大體一致,但是因為兩者具體的實現方式不一致,所以在進行一些相同操作的時候,其效率也是有差別的。 對於抽象的數據結構——線性表而言,線性表分為兩種,一種是順序存儲結構的順序表 ...
控制反轉,即Inversion of Control(IoC),是面向對象中的一種設計原則,可以用有效降低架構代碼的耦合度,從對象調用者角度又叫做依賴注入,即Dependency Injection(DI),通過控制反轉,對象在被創建的時候,由一個調控系統內所有對象的容器,將其所依賴的對象的引用 ...
rpc 全稱 Remote Procedure Call 遠程過程調用,即調用遠程方法。我們調用當前進程中的方法時很簡單,但是想要調用不同進程,甚至不同主機、不同語言中的方法時就需要借助 rpc 來實現,下面我一步步實現一個簡單的 rpc 調用。 server 端注冊函數,運行並接收客戶端請求 ...
1. 背景 JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。相對於另一種數據交換格式 XML,JSON 有着諸多優點。比如易讀性更好,占用空間更少等。在 ...
動手造輪子:實現一個簡單的依賴注入(一) Intro 在上一篇文章中主要介紹了一下要做的依賴注入的整體設計和大概編程體驗,這篇文章要開始寫代碼了,開始實現自己的依賴注入框架。 類圖 首先來溫習一下上次提到的 UML 類圖 服務生命周期 服務生命周期定義: 服務定義 服務注冊 ...
動手造輪子:實現一個簡單的 EventBus Intro EventBus 是一種事件發布訂閱模式,通過 EventBus 我們可以很方便的實現解耦,將事件的發起和事件的處理的很好的分隔開來,很好的實現解耦。 微軟官方的示例項目 EShopOnContainers 也有在使用 EventBus ...
動手造輪子:實現一個簡單的依賴注入(零) Intro 依賴注入為我們寫程序帶來了諸多好處,在微軟的 .net core 出來的同時也發布了微軟開發的依賴注入框架 Microsoft.Extensions.DependencyInjection,大改傳統 asp.net 的開發模式 ...
動手造輪子:實現一個簡單的 AOP 框架 Intro 最近實現了一個 AOP 框架 -- FluentAspects,API 基本穩定了,寫篇文章分享一下這個 AOP 框架的設計。 整體設計 概覽 IProxyTypeFactory 用來生成代理類型,默認提供了基於 Emit 動態 ...