软引用和lrucache的区别