java的单例模式,始终保持一个实例

package com.test;

/**
 * 单例模式
 *
 * @author Administrator
 *
 */
public class Hand {

    // 内部类
     private static Hand hand=null;

     public static class HandHeet{
         public final static Hand HAND=new Hand();
     }

     private Hand(){
         System.out.println("实例化");
     }

     public static void show(){
         System.out.println("Hello");
     }

     public static Hand getHand(){
         return HandHeet.HAND;
     }

    // 懒汉模式
//    private static Hand hand = null;
//
//    private Hand() {
//        System.out.println("实例化");
//    }
//
//    public static void show() {
//        System.out.println("Hello");
//
//    }
//
//    public static Hand getHand() {
//        if (hand == null) {
//            hand= new Hand();
//            return hand;
//        }
//        return hand;
//    }

    // 饿汉模式
//    private static Hand hand = new Hand();
//
//    private Hand() {
//        System.out.println("实例化");
//    }
//
//    public static void show() {
//        System.out.println("Hello");
//
//    }
//    public static Hand getHand() {
//        return hand;
//    }

}
时间: 2024-10-09 05:03:12

java的单例模式,始终保持一个实例的相关文章

java多线程很好的一个实例

java中的多线程 在java中要想实现多线程有两种手段一种是继续Thread类另外一种是实现Runable接口. 对于直接继承Thread的类来说代码大致框架是 ? 1 2 3 4 5 6 7 8 9 10 11 12 class 类名extends Thread{ 方法1; 方法2 … public void run(){ // other code… } 属性1 属性2 … } 先看一个简单的例子 ? 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1

java中对于多态的一个实例分析

首先来看这样的一段代码,其中对于类的定义如下: class Parent{ public int myValue=100; public void printValue() { System.out.println("Parent.printValue(),myValue="+myValue); } } class Child extends Parent{ public int myValue=200; public void printValue() { System.out.pr

java中只能有一个实例的类的创建

Java中,如果我们创建一个类,想让这个类只有一个对象,那么我们可以 1:把该类的构造方法设计为private 2:在该类中定义一个static方法,在该方法中创建对象 package test; /* * 有时候我们希望一个类在任何时候都只有一个实例,这时候可以把该类设计为单例模式. * 要将一个类设计为单例模式,需要: * 1:把该类的构造方法的访问修饰符生命为private * 2:然后在该类中定义一个static方法,在该方法中创建类的对象 * * */ public class Sin

Java学习不走弯路教程(11 单例模式2(单实例类))

单例模式2(单实例类) 一. 前言 在前上一章教程中,介绍了静态方法的伪单例模式.本章将在上一章的基础上,进一步扩展程序. 注:1.本文针对初学Java的同学训练学习思路,请不要太纠结于细节问题.2.本文旨在达到抛砖引玉的效果,希望大家扩展本例子,以学到更多知识的精髓. 学习本章需要准备的知识:1.读完本系列教程的前面章节.2.理解单例模式. 二. 步入正题话不多说,大家自己理解,下面步入正题: 静态方法虽然能满足我们的需求,但他牺牲了面向对象对程序带来的扩展性,比如AOP等.本章我们讨论对单实

PHP的单例模式的一个实例

这篇文章对于PHP单例模式的解释并不一定完善!只是举一个实例而已,目的是让我自己通过一个实例可以加深对单例模式的理解!在此,仅供参考! 单例:可以简单的理解是通过一个类,只能实例化单个对象,不能实例化多个对象! class e { public $uname; static $obj = NULL;      //定义一个静态属性 private function __construct() {    //在构造方法前使用private属性,目的是不能在类的外部实例化对象, //即不能$a=ne

Java程序只运行一个实例[转]

如果希望你的Java程序只能存在一个实例,可以参考下面的用法. 原文链接:http://blog.csdn.net/yaerfeng/article/details/7264729 Java没有提供这样的机制.从操作系统的观点来看,一个启动的Java Application仅仅是一个JVM的运行实例.运行相同Application的两个实例,仅仅是运行两个无关的JVM.       只有让多个运行实例之间有一个既定的通讯机制就可以保证只有一个实例运行. 方案1:使用Java的加锁文件机制,ide

java中检测-在运行时指定对象是否是特定类的一个实例---关键字 instanceof

java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. if(request instanceof HttpServletRequest){ System.out.println("-------------"); } 原文地址:https://www.cnblogs.com/czlovezmt/p/9728353.html

Java实现单例模式总结

单例模式(Singleton):是一种常用的设计模式.在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在. 1.懒汉式 线程不安全,当有多个线程并行调用 getInstance() 的时候,就会创建多个实例. public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance

Java之单例模式(Singleton)

摘要: 1.Singleton模式作用:保证在Java应用程序中,一个Class只有一个实例存在 2.Singleton的第一种形式:饿汉式单例模式 (1) 构造函数私有 (2)有一个static 的private的该类的变量 (3)通过一个public getInstance的方法获取对它的引用 代码如下: 1 package com.ggzhang.Test; 2 3 public class Singleton { 4 5 private Singleton() { 6 7 } 8 9 p