Entretien Java - Traitement à haute concurrence
Méthode de traitement à haute concurrence :
(Partage de vidéos d'apprentissage : vidéo d'enseignement Java)
1. Commencez au niveau local, optimisez le code que nous écrivons et réduisez le gaspillage de ressources nécessaire.
a. Évitez l'utilisation fréquente de nouveaux objets. Pour les classes qui n'ont besoin que d'une seule instance pour l'ensemble de l'application, nous pouvons utiliser le mode singleton. Pour les opérations de connexion String, utilisez StringBuffer ou StringBuilder, et les classes d'outils sont accessibles via des méthodes statiques.
b. Évitez d'utiliser de mauvaises méthodes et essayez de ne pas utiliser instanceof pour un jugement conditionnel. Utilisez des classes efficaces en Java, telles que ArrayList, qui offre de meilleures performances que Vector.
2. HTML statique
On accède via une adresse de lien, le module correspondant du serveur traite la requête, va à la page jsp correspondante, et enfin. génère nos données requises. Cependant, s'il y a des dizaines de millions de requêtes et qu'il y a trop de requêtes simultanées, cela augmentera la pression sur le serveur et, dans le pire des cas, le serveur sera arrêté. Alors comment éviter cette situation ? Si nous enregistrons le résultat de la demande initiale de test.do dans un fichier html, et que l'utilisateur accède ensuite à ce fichier html à chaque fois, de sorte qu'il n'est plus nécessaire d'accéder au serveur, la pression sur le serveur ne serait-elle pas réduit?
Comment générer automatiquement une page statique ? Lorsqu'un utilisateur la visite, test.html sera automatiquement généré puis affiché à l'utilisateur.
3. Séparation des serveurs d'images
Pour les serveurs Web, les images consomment le plus de ressources, il nous est donc nécessaire de séparer les images des pages. Une telle architecture peut réduire la pression sur le système serveur qui fournit les demandes d'accès aux pages et garantir que le système ne tombera pas en panne en raison de problèmes d'image. Sur le serveur d'images, nous pouvons optimiser différentes configurations.
4. Mise en cache
Le mécanisme de mise en cache avec lequel j'ai été en contact spécifiquement est le mécanisme de mise en cache d'Hibernate. Afin d'éviter d'obtenir des données de la base de données à chaque fois, nous mettons en mémoire les données auxquelles les utilisateurs accèdent souvent. Même lorsque le cache est très volumineux, nous pouvons mettre le cache en mémoire sur le disque dur. Il existe également l'utilisation de bases de données de cache distribuées avancées, qui peuvent augmenter la résistance au stress du système.
(Recommandations pour des questions d'entretien plus connexes : questions et réponses d'entretien Java)
Envoyer par lots
Travailler sur un projet. À cette époque, trop de paramètres étaient transmis en même temps, et la base de données stipulait que le nombre maximum de paramètres pouvant être transmis en même temps était de 30 000. Il y avait 50 000 enregistrements à cette époque, alors comment les transmettre ? En fin de compte, il est envoyé par lots. Si l'ascenseur ne peut pas accueillir autant de personnes à la fois, il signalera un bug de surpoids, les personnes seront donc envoyées par lots.
Une autre fois, dans le système d'examen, si autant de candidats se soumettaient à la base de données en même temps, la pression sur la base de données augmenterait et parfois elle tomberait en panne. La méthode utilisée à cette époque était d'utiliser ajax. transmission asynchrone sans attente. Lorsque le candidat clique sur le bouton Soumettre, les réponses du candidat sont automatiquement soumises. Cela évite également la perte des questions que le candidat a posées auparavant en cas de panne de courant soudaine.
6. Cluster de bases de données
Face à des applications complexes et à un grand nombre d'utilisateurs qui y accèdent, un ensemble de données sera bientôt incapable de répondre à la demande, nous devons donc utiliser un cluster de bases de données. ou hachage de table de base de données.
Nous installons des modules métiers et applicatifs ou fonctionnels dans l'application pour séparer les données. Différents modules correspondent à différentes bases de données ou tables, puis disséminons une certaine page ou fonction dans des bases de données plus petites selon une certaine stratégie.
7. Optimisation de la base de données
a. Lors de la conception de la base de données, nous devons considérer la maintenance ultérieure. Les trois paradigmes de la base de données sont les principes que nous devons suivre lors de la conception de la base de données.
b. Création d'index : La création d'index doit être appropriée. Si une table est souvent interrogée et rarement utilisée pour des ajouts et des modifications, nous pouvons créer un index pour cette table, car pour les opérations d'ajouts, de modifications et de suppression, notre la maintenance de l'index dépasse largement l'efficacité que l'index nous apporte.
c. La sélection du type des champs du tableau doit être appropriée
Y compris la longueur et le type des champs, etc., qui doivent être sélectionnés en fonction des données réellement stockées. être trop long, sinon cela affectera l'efficacité.
d. Les clés étrangères doivent être utilisées avec prudence, car la clé primaire représente cette table, et la clé étrangère représente un groupe de tables, qui associe les tables, nous devons les associer lors de la suppression, de la modification, etc. .
e. Dans les opérations de base de données
Essayez d'utiliser prepareStatement et utilisez l'instruction less, car PrepareStatement est précompilé.
La connexion est définie sur readOnly. La connexion est une connexion à la bibliothèque et est lourde. Nous pouvons simplement l'utiliser.
Grâce au pool de connexions, nous pouvons modifier le nombre de connexions par défaut dans la base de données.
Recommandations associées : Tutoriel d'introduction à Java
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

Java est un langage de programmation populaire qui peut être appris aussi bien par les développeurs débutants que par les développeurs expérimentés. Ce didacticiel commence par les concepts de base et progresse vers des sujets avancés. Après avoir installé le kit de développement Java, vous pouvez vous entraîner à la programmation en créant un simple programme « Hello, World ! ». Une fois que vous avez compris le code, utilisez l'invite de commande pour compiler et exécuter le programme, et « Hello, World ! » s'affichera sur la console. L'apprentissage de Java commence votre parcours de programmation et, à mesure que votre maîtrise s'approfondit, vous pouvez créer des applications plus complexes.
