直接上代码!
package thread;
/**
* java实现用单例模式返回一个线程安全的实例
* @author Administrator
*
*/
public class GetSyncInstance {
private static GetSyncInstance instance;
private static int i;
private static synchronized void initSyn(){
if(instance==null)
instance = new GetSyncInstance("123");
}
public static GetSyncInstance GetInstance(){
if(instance==null){
initSyn();
}
return instance;
}
public GetSyncInstance(){
}
public GetSyncInstance(String ss){
i++;
System.out.println("instance="+" "+i);
}
public static void main(String[] args) {
//用两个线程同时调用测试,只返回:instance= 1
Thread t = new th1();
t.start();
Thread t1 = new th1();
t1.start();
}
}
class th1 extends Thread{
@Override
public void run() {
for(int i=0;i<10;i++){
GetSyncInstance.GetInstance();
}
}
}
分享到:
相关推荐
### 使用Java单例模式实现一个简单的日志记录器 #### 一、单例模式简介 单例模式是一种常用的软件设计模式,在该模式中,一个类只能创建一个实例,并且提供了一个全局访问点来访问该实例。单例模式的主要优点包括...
单例模式的唯一性通常是在进程范围内,即在同一个进程中,无论何时调用单例类的获取实例方法,都会返回相同的对象。 在集群环境下,如果需要在分布式系统中保持单例特性,就需要采取额外的措施。传统的单例模式在多...
单例模式的基本思想是确保一个类在任何情况下都只有一个实例,并提供一个全局访问点来获取这个唯一的实例。这样可以避免因为创建多个实例导致的资源浪费和状态不一致的问题。 在Java中,实现单例模式主要有两种方式...
单例模式是软件设计模式中的一种经典模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点。这种模式在很多场景下非常有用,比如控制共享资源、管理配置对象等。下面将详细介绍七种常见的单例模式实现...
Java单例模式是一种常用的设计模式,它保证一个类只有一个实例,并提供全局访问点。这种模式在需要频繁创建和销毁对象的场景中,或者当对象昂贵时(如数据库连接),能够节省系统资源,提高效率。本篇文章将深入探讨...
单例模式是软件设计模式中的一种经典模式,它保证了类只有一个实例存在,并提供一个全局访问点。在Java等面向对象编程语言中,单例模式常用于管理共享资源,如数据库连接池、线程池或者配置文件等。结合工厂模式,...
1. **确保唯一性**:在单例模式下,一个类的所有实例化都会指向同一个实例,确保了所有对象都访问的是同一个实例。 2. **提高内存利用率**:在系统内存中只存在一个对象,减少了内存开销。 3. **提供受控访问**:...
编写一个类LimitInstanceClass,该类最多可以实例化指定个数实例。实例的个数用配置文件InstanceLimit.cfg指定。例如,如果InstanceLimit.cfg的内容为2,则LimitInstanceClass最多可以同时存在2个对象。...
单例设计模式是软件设计模式中的经典模式之一,它的核心思想是确保一个类只有一个实例,并提供全局访问点。这种模式在Java中广泛应用于系统配置、线程池、缓存管理等场景,因为这些场景通常只需要一个共享的全局对象...
2. **单例模式**:它保证一个类只有一个实例,并提供一个全局访问点。在Java中,通常通过私有构造器、静态工厂方法和双重检查锁定等技术实现单例,以确保线程安全和唯一性。 3. **代理模式**:代理模式为其他对象...
### Java单例模式应用研究 #### 一、单例模式概述 单例模式(Singleton Pattern)作为一种最基本的创建型设计模式,其主要目的是控制一个类的实例化过程,确保在整个应用程序中仅存在一个实例,并且该实例能够被全局...
根据给定的信息,本文将详细解释几种常见的单例模式,并通过具体的Java代码示例来阐述每种模式的特点和实现方式。 ### 单例模式简介 单例模式是一种常用的软件设计模式,它保证一个类只有一个实例,并提供一个全局...
单例模式是软件设计模式中的一种,它的主要目的是确保一个类只有一个实例,并提供一个全局访问点。在Java或类似的面向对象编程语言中,单例模式常用于管理共享资源,如数据库连接池、线程池或者配置文件等。在这个...
### Java多线程—解决单例模式中的懒汉式的线程安全问题 #### 一、单例设计模式的线程安全问题 ##### (1)饿汉式没有线程安全问题 **饿汉式**是一种非常典型的单例模式实现方式,其特点是在类加载时就完成了实例...
1. **节省内存**:由于单例模式限制了类的实例只有一个,所以在内存中只会创建一次,减少了内存的开销,特别是当实例化一个对象需要消耗大量资源时,单例模式的优势更为明显。 2. **控制资源的使用**:通过线程同步...
### JAVA单例模式的几种实现方法 #### 一、饿汉式单例模式 饿汉式单例模式是在类初始化时就已经完成了实例化的操作。这种模式下,类一旦被加载,就会创建一个单例对象。 ##### 代码示例: ```java class ...
单例模式是软件设计模式中的一种经典模式,其核心思想在于限制类的实例化过程,确保在整个应用程序中只有一个实例存在。这种模式常用于管理共享资源,例如数据库连接、线程池或者全局配置等,以避免资源浪费和状态...
3. **必须向所有其他对象提供这一实例**:单例模式通过一个全局可访问的方法来返回该唯一实例,使得系统中的其他对象能够获取并使用这个实例。 #### 三、单例模式的实现方式 1. **懒汉式(线程不安全)** 懒汉式...