suchen
HeimJavajavaLernprogrammEine Erklärung der Leistungsfähigkeit von Singletons in Entwurfsmustern in Java

Dieser Artikel stellt hauptsächlich die relevanten Informationen zu Singleton-Designmustern in Java vor. Hier erklären wir den Bösewicht-Modus und den Lazy-Modus. Freunde in Not können sich auf

Liste der Designmuster in Java beziehen Beispiel

Gedanken zu Designmustern

Was ist Designmuster: Als Anfänger lerne ich heute zum ersten Mal formal Designmuster Richtig und verstanden? Designmuster sind sehr wichtig. Was sind Designmuster?

Entwurfsmuster: eine wirksame Idee zur Lösung von Problemen.

Entwurfsmuster: Lösungen zur Lösung spezifischer wiederkehrender Probleme in bestimmten Umgebungen

Mein Verständnis ist, dass Vorgänger beim Software-Design auf ein Problem gestoßen sind. Solche Probleme fassten sie in einer Reihe zusammen effektive und bewährte Lösungen.

Vorteile von Designmustern:

1. Designmuster sind relativ hervorragende Lösungen, und viele Probleme sind typisch und repräsentativ Wir müssen diese Probleme nicht von Grund auf selbst lösen. Das ist gleichbedeutend damit, diese Lösungen auf den Schultern von Giganten wiederzuverwenden.

2. Designmuster sind zu einem gängigen Vokabular geworden, das von Fachleuten verwendet wird, und wenn sie nicht verstanden werden, ist dies nicht förderlich für die Kommunikation.

3. Es kann das von Ihnen entworfene System professioneller machen und ihm eine bessere Architektur verleihen.

Designmuster 1~~Einzelfall

Das Single-Interest-Designmuster wird verwendet, um das Problem zu lösen, in dem nur eine Klasse existieren kann das Speicherproblem. Dies ist abstrakter, wenn Sie beispielsweise ein Mahjong-Spiel spielen und würfeln möchten und die erste Person die angezeigten Zahlen verliert, werden die Leute hinter ihr sie auch verwenden. Im Speicher ist nur eine Kopie der Würfelklasse zulässig. Solche Probleme müssen mit einer einzigen Gehäusedesignlösung gelöst werden.

Der erste Typ: Hungriger chinesischer Stil, komm zuerst alleine raus. Es ist schnell, nimmt aber viel Speicher in Anspruch.


public class Single {
  private final static Single s = new Single();

  //类只能有一个故私有化构造方法,不让外面new对象
  private Single(){
  }
//工厂方法的命名规范
 getinstance
//当外面没办法new对象时候,我们对像给外面调要自己来new
// 当没发new 对象时候,必须是静态方法,给外界使用。
    public static Single getInstance(){
    return s;
  }
}

Der zweite Typ: Lazy Style


//懒汉式
public class Single2 {
  // 先步开内存,需要用的时候才new 
  private static Single2 s=null;
  private Single2(){
  }
  // synchronized 用来防多线程时。第一个和第二个线程抢资源都会进入s==null,
时new 两次。
  public synchronized static Single2 getInstance(){
    if(s==null){
      s = new Single2();
    }
    return s;
  }
}

synchronisiert gilt als Sperre und gehört dazu zur getInstance-Methode von. Wenn die Methode statisch ist, gehört die Sperre zur Klassenvorlage. Wenn die Methode von einem Objekt aufgerufen wird, gehört die Sperre zum Objekt.

Das obige ist der detaillierte Inhalt vonEine Erklärung der Leistungsfähigkeit von Singletons in Entwurfsmustern in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools