Maison Java JavaBase Apprenez à utiliser les verrous Java avec Netty

Apprenez à utiliser les verrous Java avec Netty

Jan 04, 2021 am 10:04 AM
netty

Tutoriel de base JavaLa colonne présente comment apprendre les verrous Java avec Netty

Apprenez à utiliser les verrous Java avec Netty

Recommandé (gratuit) : Tutoriel de base Java

1 Verrouiller les objets et la portée

  • Réduire la granularité

2 La taille de l'objet verrouillé lui-même

  • Réduire l'espace utilisation

    Atomic long V.S long
    Le premier est un objet, comprenant un en-tête d'objet pour enregistrer le hashcode, le verrou et d'autres informations. Il occupe 16 octets sous un système 64 bits. -système de bits :
  • volatile long= 8 octets
  • AtomicLong = 8 octets (volatile long) + 16 octets (en-tête d'objet) + 8 octets (référence) = 32 octets
    Enregistrez au moins 24 octets !

Objets donc Atomic* => Type primaire volatile + Static Atomic*FieldUpdater

3 Vitesse de verrouillage

Améliorer la simultanéité

Améliorer la simultanéité

LongCounter

est utilisé pour des fonctions telles que l'enregistrement du nombre d'octets d'allocation de mémoire.

Sous haute concurrence : java.util.concurrent.atomic.AtomicLong => java.util.concurrent.atomic.LongAdder

Conclusion : mesurez et utilisez les dernières fonctionnalités du JDK dans un en temps opportun

Selon différentes situations, choisissez différentes implémentations de packages simultanées

JDK< 1.8 Considérez ConcurrentHashMapV8 (la version de ConcurrentHashMap dans jDK8)

4 Choisissez différentes classes de concurrence pour différents scénarios

  • Modifiez en fonction des besoins



    Fermez et attendez l'exécuteur de l'événement d'arrêt ( Event Executor) :

    Object.wait/ notify =》 CountDownLatch



  • File d'attente responsable du stockage des tâches dans la boucle d'événements Nio LinkedBlockingQueue de Jdk (MPMC, multi-producteur Plusieurs consommateurs) -> MPSC de jctools
    io.netty.util.internal.PlatformDependent.Mpsc#newMpscQueue(int):

    5 La valeur du verrouillage


    Si vous pouvez l'utiliser, ne l'utilisez pas

    Scénario d'application Netty : série partielle + parallèle global> mode multi-thread :

    Réduisez les difficultés de développement des utilisateurs, simplifiez la logique et améliorez les performances de traitement
    Évitez la surcharge supplémentaire liée au changement de contexte et à la protection de la concurrence causée par les verrous

    Évitez d'utiliser des verrous : utilisez ThreadLocal pour éviter les ressources conflit, tel que la mise en œuvre du pool de threads Netty Lightweight

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Utilisation de Netty4 pour la communication TCP dans le développement d'API Java Utilisation de Netty4 pour la communication TCP dans le développement d'API Java Jun 17, 2023 pm 11:18 PM

TCP est un type de protocole de communication sur réseau informatique et un protocole de transmission orienté connexion. Dans le développement d'applications Java, la communication TCP est largement utilisée dans divers scénarios, tels que la transmission de données entre client et serveur, la transmission audio et vidéo en temps réel, etc. Netty4 est un cadre de programmation réseau hautes performances, hautement évolutif et performant qui peut optimiser le processus d'échange de données entre le serveur et le client pour le rendre plus efficace et fiable. Les étapes de mise en œuvre spécifiques de l'utilisation de Netty4 pour la communication TCP sont les suivantes : Introduction

Développement Java : comment utiliser Netty pour une programmation réseau haute performance Développement Java : comment utiliser Netty pour une programmation réseau haute performance Sep 20, 2023 pm 02:09 PM

Développement Java : Comment utiliser Netty pour une programmation réseau hautes performances Résumé : Netty est un cadre de programmation réseau hautes performances et asynchrone piloté par événements qui simplifie le processus de développement d'applications réseau. Cet article présentera les principales fonctionnalités de Netty et comment utiliser Netty pour une programmation réseau hautes performances. Dans le même temps, nous fournirons également des exemples de code Java spécifiques pour aider les lecteurs à mieux comprendre et appliquer Netty. 1. Introduction à Netty Netty est un boîtier de programmation réseau basé sur JavaNIO

PHP implémente le framework open source Netty PHP implémente le framework open source Netty Jun 18, 2023 pm 07:03 PM

Avec le développement continu de la technologie Internet, la programmation réseau devient de plus en plus importante. Dans ce domaine, Netty est un framework très connu. Il s'agit d'un cadre d'application réseau asynchrone hautes performances, basé sur les événements, largement utilisé pour développer diverses applications réseau à haute concurrence. Netty est un framework Java et son émergence a favorisé le développement de la programmation réseau Java. Cependant, avec l'utilisation généralisée de PHP, les développeurs PHP recherchent également des frameworks capables de programmer des réseaux à haute concurrence. Par conséquent, cet article décrit comment exploiter P

Quels sont les moyens par lesquels Springboot intègre le framework Netty ? Quels sont les moyens par lesquels Springboot intègre le framework Netty ? May 10, 2023 pm 09:55 PM

En tant que framework io hautes performances, netty est un framework technique très facile à utiliser. Netty est un framework de programmation côté client et serveur basé sur NIO. L'utilisation de Netty peut garantir que vous pouvez développer rapidement et facilement une application réseau, telle que. comme implémentant une sorte d'applications client et serveur du protocole. Netty équivaut à simplifier et rationaliser le processus de programmation et de développement d'applications réseau, telles que : le développement de services de socket basés sur TCP et UDP. "Rapide" et "simple" ne créent pas nécessairement de problèmes de maintenance ou de performances. Netty est un projet qui absorbe l'expérience de mise en œuvre de plusieurs protocoles (y compris divers protocoles de texte binaire tels que FTP, SMTP, HTTP, etc.) et est conçu avec beaucoup de soin. En fin de compte, Netty a réussi

Développement back-end Java : utilisez Netty pour créer un serveur API à haute concurrence Développement back-end Java : utilisez Netty pour créer un serveur API à haute concurrence Jun 17, 2023 am 10:23 AM

Avec le développement continu d'Internet et l'expansion des domaines d'application, la concurrence élevée est devenue un problème qui doit être pris en compte dans le développement d'applications réseau. En tant que langage largement utilisé dans le développement d'applications au niveau de l'entreprise, les performances de Java dans les scénarios d'applications à haute concurrence sont importantes. attention. Netty est un framework d'application réseau asynchrone hautes performances, piloté par événements, largement utilisé dans le domaine du développement back-end Java ces dernières années. Cet article présentera les concepts de base et l'utilisation de Netty, et prendra la création d'un serveur API à haute concurrence comme exemple pour démontrer Netty.

Comment utiliser Java pour développer une application réseau haute performance basée sur Netty Comment utiliser Java pour développer une application réseau haute performance basée sur Netty Sep 20, 2023 pm 12:21 PM

Comment utiliser Java pour développer une application réseau hautes performances basée sur Netty Netty est un framework de programmation réseau basé sur la technologie JavaNIO et est largement utilisé dans le développement d'applications réseau hautes performances. Dans cet article, nous explorerons comment utiliser Java et Netty pour développer une application réseau hautes performances basée sur Netty. Nous présenterons les concepts et fonctionnalités de base de Netty et fournirons quelques exemples de code pour vous aider à mieux comprendre et utiliser Netty. 1. Concepts et fonctionnalités de base de Netty Ne

Utilisation de Netty pour la communication TCP dans le développement d'API Java Utilisation de Netty pour la communication TCP dans le développement d'API Java Jun 18, 2023 pm 11:34 PM

Utilisation de Netty pour la communication TCP dans le développement JavaAPI Dans le développement de logiciels modernes, la communication réseau est devenue un élément essentiel. Netty est un framework Java pour le développement efficace et rapide d'applications réseau hautes performances. Il fournit une API facile à utiliser encapsulant JavaNIO et d'autres bibliothèques réseau. Dans le développement JavaAPI, la supériorité de Netty peut se refléter dans les aspects suivants : Applications Netty hautes performances

Présentation du modèle Java IO et du framework Netty Présentation du modèle Java IO et du framework Netty Apr 22, 2023 pm 02:34 PM

Qu'est-ce que Netty asynchrone ? Il s'agit d'un cadre d'application réseau basé sur les événements qui est utilisé pour développer rapidement des programmes d'E/S réseau hautes performances et hautement fiables. Il est principalement destiné aux applications à haute concurrence pour les clients sous le protocole TCP. Framework NIO, adapté à la communication serveur, etc. Scénario asynchrone : envoi d'une requête sans attendre de réponse, le programme continue. Piloté par un événement : un événement de connexion ou un événement de déconnexion, ou un événement de lecture ou un événement d'écriture, et le traitement ultérieur après que l'événement se produit. Applications typiques de Netty : le framework rpc hautes performances est utilisé pour les appels de services (processus) à distance, tels que Dubbo. Industrie du jeu, interaction avec les données de page. Domaines du Big Data tels que les composants de communication et de sérialisation hautes performances Hadoop (AVRO). Une compréhension simple du modèle IO consiste à utiliser ce qui passe

See all articles