`

j2ee缓存——小了解

阅读更多

个人认为适宜在不经常修改的大批量读取数据库数据时应用。


仅以我读取一个区域内容的情况为例:


(1)在service类中实例化静态HashMap
    private static HashMap<Long,String> areaNamehash =new HashMap<Long,String>();
(2)在service类中创建其setter方法
    public static void setAreaNamehash(HashMap<Long, String> areaNamehash)
    {
        AreaService.areaNamehash = areaNamehash;
    }
(3)在service类中创建action可使用的方法(如果缓存中已有值则应用缓存中值,如没有则通过DAO从数据库中取出)
    public String getAreaName(int compId, long areaId)
    {
        String areaName = areaNamehash.get(areaId);
        if(areaName == null || "".equals(areaName))
        {
            List<Areas> areas = dao.getAllAreaByComId(compId);
            for (Areas ar : areas) {
              long id = ar.getAreasid();
              String name = ar.getAreaname();
              areaNamehash.put(id, name);
            }
            areaName = areaNamehash.get(areaId);
        }
        return areaName;
    }
(4)在service类中创建destroy方法,用来释放缓存
    public void destroy()
    {
        areaNamehash.clear();
    }


(5)创建随服务器启动的servlet类
<servlet>
   <deion>load all cache</deion>
   <servlet-name>loadCache</servlet-name>
   <servlet-class>com.wiwj.util.cache.DoLoadCache</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>
(6)实例化主体LoadCache类,运行其加载缓存的方法,方法具体模式如下:
a、实例化缓存的HashMap
    HashMap<Long, String> areahash = new HashMap<Long, String>();
b、用方法将数据库中取出的信息通过DAO装入HashMap中
      this.loadAreaCache(compId, areahash);
        //方法如下
          private void loadAreaCache(int compId, HashMap<Long, String> hash) {
            AreaDAO dao = new AreaDAO();
            List<Areas> areas = dao.getAllAreaByComId(compId);
            for (Areas ar : areas) {
              long id = ar.getAreasid();
              String name = ar.getAreaname();
              hash.put(id, name);
            }
          }
c、用service类中的setter方法将上面的HashMap装入service类中的静态HashMap中
    AreaService.setAreaNamehash(areahash);
(7)在LoadCache类中创建destroy方法,调用service类中的destroy方法,释放缓存
public void destroy() {
    AreaService.getInstance().destroy();
}
(8)在servlet类中调用LoadCache类中的destroy方法,释放内存

 

分享到:
评论

相关推荐

    j2ee项目实训——hibernate框架技术

    在J2EE项目开发中,Hibernate是一个非常重要的持久层框架,它简化了数据库与Java对象之间的交互,使得开发者可以更加专注于业务逻辑,而非繁琐的SQL语句编写。本实训主要围绕Hibernate框架技术展开,旨在帮助你深入...

    毕业论文——基于J2EE的Web开发与管理

    【标题】"毕业论文——基于J2EE的Web开发与管理"揭示了本文的主要研究方向是使用J2EE...这样的论文对于学习J2EE技术的学生和开发者来说,是一份宝贵的参考资料,可以从中了解实际项目中的问题解决方法和技术实现细节。

    j2ee框架笔记详细介绍j2ee的框架结构

    **J2EE框架详解——构建企业级应用的基石** J2EE(Java 2 Platform, Enterprise Edition)是Java平台的企业版,它为开发和部署分布式、多层的企业级应用程序提供了全面的框架。J2EE框架的核心在于其组件模型,包括...

    构建高性能J2EE应用的5种策略

    总的来说,这五种策略——缓存、复制、并行处理、异步处理和资源池,都是J2EE性能优化的重要手段。在设计和开发J2EE应用时,结合这些策略,可以实现更高的性能、更好的可扩展性和更强健的代码。同时,还需要考虑监控...

    j2ee 企业级开发

    **六、ORM框架——Hibernate** Hibernate是一种流行的ORM框架,它提供了一种在Java应用中操作数据库的面向对象方式。其核心功能包括: 1. **对象持久化**:将Java对象映射到数据库记录,简化数据操作。 2. **对象...

    J2EE架构师推荐书目录

    - **《J2EE应用开发实战——基于BEA WebLogic Server》**:该书系统介绍了J2EE平台的核心技术及其实现方法,包括Servlet、JSP、JDBC、JNDI、JMS、EJB等,并通过具体的项目案例进行深入解析。 - **重点内容**: - ...

    J2EE JAVA 招标管理系统

    本系统——"J2EE JAVA招标管理系统",便是基于这一强大的技术栈开发的,旨在实现高效、安全的招标业务流程自动化。 首先,让我们深入了解J2EE平台的核心组件和功能。J2EE包括一系列标准组件模型,如Servlet、JSP...

    构建高性能J2EE应用的技巧

    在构建J2EE应用时,架构工程师通常会使用到J2EE的基本部分——Servlet。如果架构师不使用Session Beans, Entity Beans, 或 Message Beans, 那么改进性能的方法就很少。只能采用增加CPU或更多的物理服务器等方法。EJB...

    基于J2EE的教材管理系统

    进入设计阶段,J2EE的三层架构模型——表现层(Web层)、业务逻辑层(EJB或Spring Bean层)和数据访问层(JDBC或Hibernate)——将被充分利用。表现层负责用户界面,可以使用HTML、CSS和JavaScript,结合Servlet和...

    J2EE三大框架_笔记

    总结来说,J2EE三大框架——Spring、Hibernate和Struts各自承担着不同的职责,协同工作以提升Java企业级应用的开发效率和质量。掌握这三个框架,是Java开发者的必备技能,它们的应用和理解对于提升软件开发的专业...

    j2ee项目中所用到的包

    首先,我们来看看其中的一个关键组件——Hibernate。Hibernate是一个对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库操作。Hibernate通过提供API来简化Java应用程序与数据库之间的交互,减少了...

    J2EE性能测试

    这些策略有助于开发者了解如何通过调整系统配置、优化代码来提升J2EE应用的性能。 总的来说,《J2EE性能测试》这本书为读者提供了一个全面的性能测试和优化指南,无论你是初级开发者还是经验丰富的架构师,都能从中...

    轻量级J2EE 企业应用实战 Struts+Spring+Hibernate整合开发

    书中不仅全面覆盖了JSP 2.0规范、Struts框架的各种用法、Hibernate的详细用法,以及Spring的基本用法等内容,还详细介绍了一种当前最流行、最规范的J2EE架构——轻量级J2EE应用架构,该架构分层清晰,各层间以松耦合...

    J2EE面试题(包含了大部分的框架面试题如:hibernate Spring Strust 等)

    本资源主要关注的是J2EE相关的面试题目,特别是与三大主流框架——Hibernate、Spring和Struts紧密相关的部分。这些框架在现代企业级应用开发中占据了核心地位,理解并掌握它们是成为合格J2EE开发者的关键。 ...

    j2ee常用架构

    ### J2EE常用架构——SSH与SSM框架详解 #### 一、概述 J2EE(Java 2 Platform, Enterprise Edition)是Sun Microsystems为简化企业级应用开发而提出的一个技术平台,它提供了一系列用于构建可扩展、可靠和安全的...

    jsp面试题——你想面试j2ee少不了这个了

    在J2EE面试中,JSP(JavaServer Pages)是经常被考察的技术之一,因为它在Web应用程序开发中扮演着重要的角色。以下是一些关于JSP的常见面试知识点: 1. **JSP与SSI混合使用**: - JSP中的`...

    J2EE面试题收集(三大框架)

    在Java企业级开发中,三大框架——Struts、Hibernate和Spring——占据着核心地位。这些框架分别解决了Web应用中的展示层、持久层和业务逻辑层的问题,形成了高效且易于维护的开发模式。下面我们将详细探讨这三个框架...

    j2ee+mysql开发的电子商务购物网站产品管理

    5. **CRUD操作**:"添加、查询、删除数据"涉及到了数据库的基本操作——Create(创建)、Read(读取)、Update(更新)和Delete(删除)。在J2EE应用中,这些操作通常通过SQL语句在数据库层实现,而在用户界面层,...

Global site tag (gtag.js) - Google Analytics