最近看到一些文章,都說程式不能光完成功能,還是要精益求精的;先來一把利刃——泛型快取;
找度娘看了看,覺得有乙個概括的不錯,如下:
泛型快取是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...