zoukankan      html  css  js  c++  java
  • 原生的servlet、单例多例、懒汉饿汉模式、静态内部类和枚举

    1. 什么是单例多例:

    单例:就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的

    多例:指每个请求用一个新的对象来处理,比如action; 

    2. 单例模式和多例模式说明:

      单例模式和多例模式属于对象模式。

      单例模式的对象在整个系统中只有一份,多例模式可以有多个实例。

      它们都不对外提供构造方法,即构造方法都为私有。

    3. 原生的servlet:

    <servlet>
    	<servlet-name>DisplayChart</servlet-name>
    	<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
    </servlet>
    <servlet-mapping>
    	<servlet-name>DisplayChart</servlet-name>
    	<url-pattern>/DisplayChart</url-pattern>
    </servlet-mapping>
    

    4. 单例模式举例

    第一种:懒汉式(线程不安全,加上synchronized后线程安全)

    public class Singleton {
        private static Singleton instance;
        private Singleton (){}
    
        public static synchronized  Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
        }
    }
    

    第二种:饿汉式(线程安全)

    public class Singleton {
        private static Singleton instance = new Singleton();
        private Singleton (){}
        public static Singleton getInstance() {
        return instance;
        }
    }
    

    第三种:静态内部类

    public class Singleton {
        private static class SingletonHolder {
        private static final Singleton INSTANCE = new Singleton();
        }
        private Singleton (){}
        public static final Singleton getInstance() {
        return SingletonHolder.INSTANCE;
        }
    }
    

    第四种:枚举

    public enum Singleton {
        INSTANCE;
        public void whateverMethod() {
        }
    }
    

      

  • 相关阅读:
    css选择器的优先级
    ECHO.js 纯javascript轻量级延迟加载
    Chrome测试网站加载时间与流量消耗
    演示:纯CSS实现自适应布局表格
    通过jquery-ui中的sortable来实现拖拽排序
    XAMPP下的composer的安装
    jQuery动态五星评分
    HTML,CSS编码规范
    mysql排序,可以对统计的数据进行排序
    thinkphp中配置信息的二维数组设置与使用
  • 原文地址:https://www.cnblogs.com/jihongtao/p/10467484.html
Copyright © 2011-2022 走看看