对象缓存,我还不太理解,就是用静态方法得到类的实例,但是怎样做到的缓存,我还不太明白,期待高手的解答,我要深刻的内部堆栈机理
解决方案 »
- html页面在手机端显示为什么字体很小
- java 浮点数的匹配
- 求jia文件 djnetiveswing.jar
- 惨无人道笔试题
- Tomcat 配置能浏览目录结构时,能否通过配置浏览单个目录,而不是浏览整个tomcat目录结构?另外,怎样配置才能只浏览虚拟目录的目录结构
- 初学者关于java控件布局的一点疑问
- ***发现一个超级困惑的问题***
- 问:当输入javac hellojava.java后,按回车,dos显示的是“javac不是内部或外部命令,也不是可运行程序或批处理文件.",这是咋回事?
- 请问在 Jbuilder6 中 输入提示符与输入错位问题 有什么好的处理方法吗?
- 求 JBuilder 书
- 关于swing和内部类的一个程序,基础的题
- 如何方便的发布JAVA的WEB程序?
我是这么认为的,当你获得一个对象的时候,如果你是直接new出来的,那么,如果对象的初始化很烦琐,那就会非常消耗时间。为了能更快速的获得对象,可以在整个程序初始化的时候,就事先把一定数量的对象生成,然后保留在内存中,通常保存在一个Map或Queue里,这个专门用于保存对象的Map或Queue通常也称作“池”。当你用一个静态方法获得类的实例,实际上这个静态方法就是从这个“池”中取出一个实例返回的。当你用完这个实例以后,你需要释放它,这里的释放也并非真正的释放,只是把它继续放到“池”中而已。
不知道这是不是LZ想要问的对象缓存?
其实现在很多系统都为了实现快速检索,而把数据库的信息保存在内存中,这也是一种对象缓存,就是把数据库关联的entitybean集合保存在内存中,检索的时候首先从内存中检索,检索不到时再从数据库中检索,然后把数据库中检索到的数据保存在内存中。当然,内存是有限的,所以要给缓存分配一个大小,当超过缓存的大小时,可以把一些旧的数据从缓存中删掉,然后再保存新数据。这些都属于题外话了。