用一下泛型快取 提公升程式效能

2022-01-10 07:22:06 字數 1484 閱讀 3579

最近看到一些文章,都說程式不能光完成功能,還是要精益求精的;先來一把利刃——泛型快取;

找度娘看了看,覺得有乙個概括的不錯,如下:

泛型快取是jit產生全新的類,記憶體直接分配,由cpu查詢記憶體位址;

我的理解,泛型快取是利用泛型和靜態變數特徵,在執行時根據不同的型別生成不同的類,由於資料是靜態的,每個類的資料在記憶體中是共享,不用頻繁建立,使用的時候直接獲取就行;(這樣是不是容易理解);

下面就直接舉例吧!!!

不用泛型快取時

1、先建乙個控制台專案;

2、依次建立person、student、worker類;

3、寫乙個工具類,拼字串

4、使用方法

5、執行呼叫,每次拼接字串都會呼叫工具類中的拼接方法,每次都會建立不同的字串;

使用泛型快取

1. 在原有專案基礎上增加乙個泛型快取工具類sayhellobuilerex

2. 在呼叫的時候改成最新工具類;

3. 除錯使用

靜態建構函式在第一次使用時呼叫;

後續呼叫就直接呼叫方法,獲取記憶體中的資料;

最後執行效果:

表達能力不夠啊,可能大家看文件不一定能理解,可以根據以上步驟進行除錯一把就能明白,動動手!!!!!這個例子可能不太合適,可以根據這個思路可以自己嘗試一下;

本質:利用泛型類根據傳入型別生成不同新型別的特徵,再加上靜態變數的生命週期,兩者合一,從而達到泛型快取的目的;

引用一下官方

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

簡單運用一下Django

1 首先第一步,我建議先建立乙個虛擬環境的前提 如果有了可以直接跳過 sudo pip install virtualenv2 將python3複製乙份到虛擬環境中 mkvirtualenv 你的虛擬環境名 p python3 如果要創乙個python2的直接 mkvirtualenv 你的虛擬環境...

準備試用一下PHPUnit

看phpunit幾點要注意的 1.資料提供 dataprovider 2.測試異常 setexpectedexception 直接寫try catch 再 this fail 可能寫好 3.測試輸出 phpunit extensions outputtestcase expectoutputstri...