我的理解是这样的,静态变量的引用将一直在stack中,所以该引用对应的heap里的对象不会回收。
那么
1.类的静态变量生命周期是从加载该类开始到程序停止?
2.在内存吃紧情况下会不会被回收?
具体业务是我想实现这样的功能,将常用&&数据量不大&&数据不经常改动 的数据在程序启动时加载到内存(放到静态变量Map里面),更新删除数据库数据时同时更新内存,程序访问数据访问内存,不访问数据库。
请问这样是否合理?有没有更好地办法?
请各路大神指教 谢谢!
我的理解是这样的,静态变量的引用将一直在stack中,所以该引用对应的heap里的对象不会回收。
那么
1.类的静态变量生命周期是从加载该类开始到程序停止?
2.在内存吃紧情况下会不会被回收?
具体业务是我想实现这样的功能,将常用&&数据量不大&&数据不经常改动 的数据在程序启动时加载到内存(放到静态变量Map里面),更新删除数据库数据时同时更新内存,程序访问数据访问内存,不访问数据库。
请问这样是否合理?有没有更好地办法?
请各路大神指教 谢谢!
你的做法是可以的,没有问题。
如果你了解redis或者memcache的话可以用这些代替直接放入jvm内存,当然不用这些也ok