Heim Java JavaBase Lernen Sie die Verwendung von Java-Sperren mit Netty

Lernen Sie die Verwendung von Java-Sperren mit Netty

Jan 04, 2021 am 10:04 AM
netty

Java-Basis-Tutorial In der Kolumne erfahren Sie, wie Sie Java-Sperren mit Netty lernen

Reduzieren Sie die Granularität Lernen Sie die Verwendung von Java-Sperren mit Netty

2 Die Größe des Sperrobjekts selbst

Reduzieren Sie den Speicherplatzverbrauch

    Atomic long V.S long
  • Ersteres ist ein Objekt, einschließlich eines Objektheaders zum Speichern von Hashcode, Sperren und andere Informationen. Es belegt 16 Bytes unter einem 64-Bit-System. Unter einem 64-Bit-System:
    volatile long= 8 Bytes
    AtomicLong = 8 Bytes (volatile long) + 16 Bytes (Objektheader) + 8 Bytes (Referenz). = 32 Bytes
  • Sparen Sie mindestens 24 Bytes!

Also Atomic*-Objekte => Flüchtiger Primärtyp + Statischer Atomic*FieldUpdater

    3 Sperrgeschwindigkeit

  • Verbessern Sie die Parallelität

  • LongCounter
  • Wird für Funktionen wie verwendet als Aufzeichnen der Anzahl der Speicherzuordnungsbytes von.
    Unter hoher Parallelität: java.util.concurrent.atomic.AtomicLong => java.util.concurrent.atomic.LongAdder

Fazit: Messen und nutzen Sie die neuesten JDK-Funktionen zeitnah.

Wählen Sie je nach Bedarf verschiedene aus verschiedene Situationen Gleichzeitige Paketimplementierung

JDK< 1.8 berücksichtigt ConcurrentHashMapV8 (die Version von ConcurrentHashMap in jDK8)

4 Wählen Sie verschiedene Parallelitätsklassen für verschiedene Szenarien

Ändern Sie je nach Bedarf

C Verliere und warte auf das Shutdown-Event-Executor (Event Executor): Object.wait/ notify => CountDownLatch


Queue, die für das Speichern von Aufgaben in der Nio-Event-Schleife verantwortlich ist

Jdks LinkedBlockingQueue (MPMC, mehrere Produzenten und mehrere Konsumenten) –> jctools' MPSC io .netty.util.internal.PlatformDependent.Mpsc#newMpscQueue(int):



  • 5 Der Wert der Sperre

  • Wenn Sie es nicht verwenden können, verwenden Sie es nicht
  • Netty Anwendungsszenario: teilweise seriell + insgesamt parallel> - Warteschlangen- und Mehrfach-Thread-Modus:

    Reduzieren Sie Benutzerentwicklungsschwierigkeiten, einfache Logik, verbessern Sie die Verarbeitungsleistung.
    Vermeiden Sie zusätzlichen Overhead wie Kontextwechsel und Parallelitätsschutz durch Sperren.

    Vermeiden Sie die Verwendung von Sperren: Verwenden Sie ThreadLocal um Ressourcenkonflikte zu vermeiden, zum Beispiel Nettys leichtgewichtige Thread-Pool-Implementierung

Das obige ist der detaillierte Inhalt vonLernen Sie die Verwendung von Java-Sperren mit Netty. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Java-Entwicklung: So verwenden Sie Netty für leistungsstarke Netzwerkprogrammierung Java-Entwicklung: So verwenden Sie Netty für leistungsstarke Netzwerkprogrammierung Sep 20, 2023 pm 02:09 PM

Java-Entwicklung: Verwendung von Netty für leistungsstarke Netzwerkprogrammierung Zusammenfassung: Netty ist ein leistungsstarkes, asynchrones, ereignisgesteuertes Netzwerkprogrammierungs-Framework, das den Entwicklungsprozess von Netzwerkanwendungen vereinfacht. In diesem Artikel werden die Hauptfunktionen von Netty vorgestellt und erläutert, wie Netty für die leistungsstarke Netzwerkprogrammierung verwendet wird. Gleichzeitig werden wir auch einige spezifische Java-Codebeispiele bereitstellen, um den Lesern zu helfen, Netty besser zu verstehen und anzuwenden. 1. Einführung in Netty Netty ist eine Netzwerkprogrammierbox, die auf JavaNIO basiert

Verwendung von Netty4 für die TCP-Kommunikation in der Java-API-Entwicklung Verwendung von Netty4 für die TCP-Kommunikation in der Java-API-Entwicklung Jun 17, 2023 pm 11:18 PM

TCP ist eine Art Computernetzwerk-Kommunikationsprotokoll und ein verbindungsorientiertes Übertragungsprotokoll. In der Java-Anwendungsentwicklung wird die TCP-Kommunikation häufig in verschiedenen Szenarien verwendet, z. B. bei der Datenübertragung zwischen Client und Server, bei der Audio- und Videoübertragung in Echtzeit usw. Netty4 ist ein leistungsstarkes, hoch skalierbares und leistungsstarkes Netzwerkprogrammier-Framework, das den Datenaustauschprozess zwischen Server und Client optimieren kann, um ihn effizienter und zuverlässiger zu machen. Die spezifischen Implementierungsschritte bei der Verwendung von Netty4 für die TCP-Kommunikation lauten wie folgt: Einführung

PHP implementiert das Open-Source-Netty-Framework PHP implementiert das Open-Source-Netty-Framework Jun 18, 2023 pm 07:03 PM

Mit der kontinuierlichen Weiterentwicklung der Internet-Technologie wird die Netzwerkprogrammierung immer wichtiger. Netty ist in diesem Bereich ein sehr bekanntes Framework. Es handelt sich um ein leistungsstarkes, asynchrones, ereignisgesteuertes Netzwerkanwendungsframework, das häufig zur Entwicklung verschiedener Netzwerkanwendungen mit hoher Parallelität verwendet wird. Netty ist ein Java-Framework, dessen Entstehung die Entwicklung der Java-Netzwerkprogrammierung vorangetrieben hat. Mit der weit verbreiteten Verwendung von PHP suchen PHP-Entwickler jedoch auch nach Frameworks, die eine Netzwerkprogrammierung mit hoher Parallelität ermöglichen. Daher beschreibt dieser Artikel, wie man P. ausnutzt

Welche Möglichkeiten gibt es für Springboot, das Netty-Framework zu integrieren? Welche Möglichkeiten gibt es für Springboot, das Netty-Framework zu integrieren? May 10, 2023 pm 09:55 PM

Als leistungsstarkes IO-Framework ist Netty ein sehr einfach zu verwendendes technisches Framework, das auf NIO basiert. Mit Netty können Sie schnell und einfach eine Netzwerkanwendung entwickeln B. die Implementierung einer Art Client- und Serveranwendung des Protokolls. Netty ist gleichbedeutend mit der Vereinfachung und Rationalisierung des Programmier- und Entwicklungsprozesses von Netzwerkanwendungen, wie z. B. der Entwicklung von Socket-Diensten auf Basis von TCP und UDP. „Schnell“ und „einfach“ müssen keine Wartungs- oder Leistungsprobleme verursachen. Netty ist ein Projekt, das die Implementierungserfahrung mehrerer Protokolle (einschließlich verschiedener Binärtextprotokolle wie FTP, SMTP, HTTP usw.) aufnimmt und sehr sorgfältig entworfen wurde. Am Ende hatte Netty Erfolg

Java-Back-End-Entwicklung: Verwenden Sie Netty, um einen API-Server mit hoher Parallelität zu erstellen Java-Back-End-Entwicklung: Verwenden Sie Netty, um einen API-Server mit hoher Parallelität zu erstellen Jun 17, 2023 am 10:23 AM

Mit der kontinuierlichen Entwicklung des Internets und der Erweiterung der Anwendungsfelder ist die hohe Parallelität zu einem Problem geworden, das bei der Entwicklung von Netzwerkanwendungen berücksichtigt werden muss. Als Sprache, die in der Anwendungsentwicklung auf Unternehmensebene weit verbreitet ist, ist die Leistung von Java in Anwendungsszenarien mit hoher Parallelität erheblich Aufmerksamkeit. Netty ist ein leistungsstarkes, asynchrones, ereignisgesteuertes Netzwerkanwendungsframework, das in den letzten Jahren im Bereich der Java-Back-End-Entwicklung weit verbreitet war. In diesem Artikel werden die grundlegenden Konzepte und die Verwendung von Netty vorgestellt und der Aufbau eines API-Servers mit hoher Parallelität als Beispiel zur Demonstration von Netty verwendet

Wie man mit Java eine leistungsstarke Netzwerkanwendung auf Basis von Netty entwickelt Wie man mit Java eine leistungsstarke Netzwerkanwendung auf Basis von Netty entwickelt Sep 20, 2023 pm 12:21 PM

So verwenden Sie Java zum Entwickeln einer leistungsstarken Netzwerkanwendung auf Basis von Netty. Netty ist ein Netzwerkprogrammierungsframework, das auf der JavaNIO-Technologie basiert und in der Entwicklung leistungsstarker Netzwerkanwendungen weit verbreitet ist. In diesem Artikel untersuchen wir, wie man mit Java und Netty eine leistungsstarke Netzwerkanwendung auf Basis von Netty entwickelt. Wir stellen die grundlegenden Konzepte und Funktionen von Netty vor und stellen einige Codebeispiele bereit, damit Sie Netty besser verstehen und verwenden können. 1. Grundlegende Konzepte und Funktionen von Netty Ne

Verwendung von Netty5 für die TCP-Kommunikation in der Java-API-Entwicklung Verwendung von Netty5 für die TCP-Kommunikation in der Java-API-Entwicklung Jun 18, 2023 am 08:31 AM

In der JavaAPI-Entwicklung ist die TCP-Kommunikation eine sehr wichtige Komponente, und Netty5 ist eine Reihe leistungsstarker Netzwerkkommunikations-Frameworks auf NIO-Basis, die komplexe Netzwerkkommunikationsaufgaben sehr bequem bewältigen können. In diesem Artikel wird die Verwendung von Netty5 für die TCP-Kommunikation vorgestellt, einschließlich der Kernkomponenten von Netty5, einer Einführung in gängige APIs und praktischer Anwendungsfälle. Gleichzeitig wird in diesem Artikel auch erläutert, wie Sie mit Netty5 die Leistung und Zuverlässigkeit der TCP-Kommunikation verbessern können. 1. Netty5-Kernkomponente von Netty5

Hochleistungsnetzwerkprogrammierung mit Netty in Beego Hochleistungsnetzwerkprogrammierung mit Netty in Beego Jun 22, 2023 pm 06:28 PM

In der Go-Sprache ist Beego ein sehr beliebtes Web-Framework, mit dem wir schnell leistungsstarke Webanwendungen erstellen können. In einigen Fällen benötigen wir jedoch erweiterte Netzwerkprogrammierungsfähigkeiten, z. B. die Handhabung von Netzwerkverbindungen mit hoher Parallelität und die Datenübertragung in Echtzeit. Netty ist ein leistungsstarkes Netzwerkprogrammierungsframework, das in der Java-Community großes Lob genießt. In diesem Artikel wird erläutert, wie Sie Netty in Beego für eine leistungsstarke Netzwerkprogrammierung verwenden. 1. Warum Netty wählen?

See all articles