自動釋放對象邏輯:
需要產生的對象數量大於容量,自動擴容
自動釋放:每個一段時間自動釋放大於容量的個數
過期判斷:釋放時,判斷最後使用時間和過期時間(當前時間減一段時間,比如1分鐘內未被使用),小於則爲過期
可釋放的對象:未使用、未鎖定、未自定義標記可釋放
每隔一段時間釋放超過容量且可釋放的對象,先釋放過期的對象,再釋放使用時間較早且優先級小的對象
假設容量10,目前數量15,過期3
則自動釋放數量爲5
先篩選出可釋放對象,從可釋放對象篩選出過期對象,釋放3個,還需要釋放2個,從未過期中排序,優先釋放使用時間較早且優先級較小的,不一定釋放5個對象,但最多釋放5個對象