1. 싱글턴 패턴이란
싱글턴 패턴은 자바에서 가장 간단한 디자인 패턴 중 하나입니다. 싱글톤 패턴은 다음과 같습니다. 프로그램을 실행하는 동안 일부 클래스에는 최대 하나의 인스턴스 개체가 있습니다. 이 패턴에는 단일 객체만 생성되도록 하면서 자체 객체 생성을 담당하는 단일 클래스가 포함됩니다. 이 클래스는 클래스의 개체를 인스턴스화할 필요 없이 고유한 개체에 직접 액세스할 수 있는 방법을 제공합니다.
자바 관련 동영상 튜토리얼 추천: java 강좌
2. 싱글턴 모드 구현 아이디어
1. 인스턴스 객체를 정적화하고, 인스턴스 객체와 클래스 객체를 서로 바인딩하고, 직접 사용할 수 있습니다. 클래스 클래스 객체 액세스;
2. 생성자를 개인화하고 생성자를 통해 여러 인스턴스 생성을 금지합니다.
3. 이 클래스의 유일한 인스턴스를 반환하는 공용 정적 메서드를 제공합니다.
3. 싱글톤 모드의 장점과 단점
장점:
1. 메모리에 인스턴스가 하나만 있으므로 메모리 오버헤드가 줄어듭니다. 특히 인스턴스가 자주 생성되고 삭제됩니다.
2. 자원의 다중 점유를 피하세요.
단점:
인터페이스가 없고 상속될 수 없습니다. 이는 단일 책임 원칙과 충돌합니다. 클래스는 내부 논리에만 관심을 가져야 하며 외부에서 인스턴스화하는 방법은 고려하지 않습니다.
4. 싱글턴 모드를 작성하는 여러 가지 방법
1. 게으른 사람 스타일
package com.yx.singleton; /** * Singleton * <p>初级原型-懒汉式</> * <p>优点:用到时再初始化</> * <p>缺点:并发下会产生多个实例</> * <p>不推荐</> * * @author yx * @date 2019/11/24 12:18 */ public class Singleton { /** * 静态化实例对象 */ private static Singleton sInstance = null; /** * 私有构造方法 */ private Singleton() { } /** * 提供一个公共的静态方法, 用来返回这个类的唯一实例. * * @return 单例对象 */ public static Singleton getInstance() { if (sInstance == null) { sInstance = new Singleton(); } return sInstance; } }
위의 작성 방법을 사용하면 스레드가 안전하지 않은 동시 환경에 여러 인스턴스가 표시됩니다.
열거 방법
/** * EnumSingleton * 枚举类单例模式 * * <p>优点:不需要考虑序列化的问题;不需要考虑反射的问题</> * <p>缺点:所有的属性都必须在创建时指定, 也就意味着不能延迟加载; 并且使用枚举时占用的内存比静态变量的2倍还多</> * * @author yx * @date 2019/11/24 15:09 */ public enum EnumSingleton { INSTANCE }
더 많은 관련 기사를 보려면 다음을 방문하세요. Java 시작하기
위 내용은 자바의 싱글턴 패턴이란 무엇입니까? 장점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
