ServletContext由web应用中所有的servlet和jsp页面共享!而且它还提供setAttribute和getAttribute方法,你可以存储与指定键相关的任意数据!cache有这些功能吗?

解决方案 »

  1.   

    开源java缓存系统也可以缓存任何对象,像jsp页面或HTTP请求,任何java对象都可以缓存
      

  2.   

    不一样哦。servletContext目的只是为了放一些应用都可以共享访问的全局性的东西,容器初始化时的一些轻量级信息等等。而cache的主要目的是为了“性能”,为了缓解磁盘I/O或者网络传输I/O,来以内存空间换时间的办法,它需要设计良好的缓存替代算法,命中率、共享访问、假脱机、缓存失效等等很多方面。不能把servletContext当缓存来用的。servletContext和cache相同的地方只有一点,他只是在内存中共享访问一些数据而已。
      

  3.   

    我现在的理解是这样,就是现在java中的所谓cache机制,实际就是通过static变量来实现的
    1、是不是因为这种机制比较类似于cache的原理,所以就把它叫做cache机制呢?
    2、static变量和web服务的生存期是相同的,对吗?
      

  4.   

    我现在的理解是这样,就是现在java中的所谓cache机制,实际就是通过static变量来实现的 
    1、是不是因为这种机制比较类似于cache的原理,所以就把它叫做cache机制呢? 
    2、static变量和web服务的生存期是相同的,对吗?
    肯定错误!使用static的不是Cache机制,static只是一个全局共享的资源。Cache是需要更复杂的策略,需要考虑Cache容量、命中、更新替换、定时失效、集群同步等一大堆问题static就是的生存周期是类的存在时间,与web应用生存不一定一样。
      

  5.   

    那具体java中的Cache机制是如何实现的呢?我还是感觉和application差不多。。
    谁能给解释一下?