Les programmeurs débutants tombent généralement dans le malentendu selon lequel le simple fait d'apprendre une langue peut être appelé un certain ingénieur linguistique. Mais est-ce vraiment le cas ? Ce n'est pas le cas.
Aujourd'hui, nous allons parler de ce que développent exactement les ingénieurs de développement Java. Pour être précis, que fait exactement le backend Java ?
Tout le monde sait que Java est un langage back-end. Le back-end fait référence au serveur. Le code côté serveur s'exécute généralement sur le serveur. Habituellement, les serveurs sur lesquels nous exécutons les programmes Java sont des serveurs Linux.
Ces serveurs sont généralement placés dans un endroit appelé salle informatique dans les sociétés Internet, donc le code des programmeurs Java comme nous s'exécute généralement sur les serveurs de ces salles informatiques.
Il existe un concept en Java appelé machine virtuelle. Vous pouvez le considérer comme un émulateur Android. Par exemple, si vous installez un émulateur Android sur votre ordinateur. can Il est utilisé pour exécuter des applications Android, telles que l'installation d'applications, de jeux mobiles, etc.
Ainsi, lorsque vous installez quelque chose appelé JDK sur votre ordinateur, il y a JRE, qui est l'environnement d'exécution Java, sur votre ordinateur. Avec cet environnement d'exécution, vous pouvez exécuter des applications Java.
Après avoir appris comment les programmes Java fonctionnent sur les ordinateurs, parlons de quelques connaissances de base sur Java que nous apprenons habituellement. Quelles sont leurs utilisations ?
En fait, ces syntaxes Java de base ne sont que quelques connaissances de base pour écrire du code, ce qui équivaut à 26 lettres en anglais. Les plus courantes incluent des variables de type de base, des boucles for, if else et d'autres syntaxes de base. , après avoir maîtrisé ces connaissances de base, vous pouvez commencer à écrire des codes très simples.
De plus, Java possède également des concepts spéciaux, tels que des fonctionnalités orientées objet, notamment des classes, des interfaces et d'autres concepts. Pourquoi Java introduit-il ces choses ? Il souhaite en fait que les utilisateurs puissent mieux concevoir, résumer et programmer.
Pour les novices, vous n'avez pas besoin de le comprendre très profondément, car ces choses ne peuvent être comprises que progressivement après avoir réellement écrit le code.
Après avoir parlé des connaissances de base, je pense que vous serez également curieux de savoir à quoi servent certaines classes de collection souvent mentionnées en Java, car il existe de nombreux scénarios dans la vie réelle qui nécessitent l'utilisation de classes de collection, comme Parlons d'une liste de noms d'utilisateur. Comment la sauvegarder ?
Vous utiliserez une List pour bien faire les choses, le rôle de la classe collection est donc de vous permettre de mieux stocker les données en programmation.
En fait, le concept de classe de collection est né de la structure des données, car il existe de nombreuses structures de stockage de données spéciales dans les ordinateurs, telles que les arborescences de fichiers, les listes chaînées, les tableaux et autres structures, donc la théorie informatique fait référence à ces structures stockées. données Le modèle est résumé en certaines structures communes, collectivement appelées structures de données.
Alors, à quoi sert la programmation simultanée en Java ? Le multithreading en Java consiste à mieux utiliser le cœur du processeur de l'ordinateur. Grâce à la programmation simultanée, l'efficacité de la concurrence des programmes peut être améliorée.
Mais derrière la programmation simultanée, vous avez besoin de la prise en charge du système d'exploitation et de la prise en charge du matériel informatique. Par conséquent, si vous voulez bien comprendre le multi-threading, il ne suffit pas de comprendre simplement le thread ou le pool de threads. Java, vous devez également comprendre le système d'exploitation et les principes de composition informatique.
Semblable à la programmation simultanée, Java a également le concept de programmation réseau. La programmation réseau en Java est similaire à d'autres langages. En fait, il s'agit également d'un ensemble d'API basées sur le protocole TCP/IP. programmation, vous pouvez Dans le programme, transférer les données que vous souhaitez transmettre à l'autre extrémité du réseau. Avec la programmation réseau et la programmation concurrente, les programmeurs Java sont déjà très puissants
Terminé Après ces points, parlons de la technologie back-end Java dont nous parlons habituellement. Prenons Alipay comme exemple. Il n'y avait pas beaucoup d'utilisateurs d'Alipay dans le passé. Lorsque le nombre d'utilisateurs d'Alipay a augmenté, un serveur ne pouvait pas répondre aux besoins d'un grand nombre d'utilisateurs en même temps, donc plusieurs serveurs ont commencé à apparaître. Plusieurs serveurs ont formé un cluster et les utilisateurs ont pu utiliser la charge. équilibrage En accédant à ces serveurs, chaque utilisateur peut accéder à une machine différente, obtenant ainsi un effet de diversion et réduisant la pression sur le serveur.Étant donné que la base de données doit garantir la fiabilité des données, si une certaine base de données tombe en panne et qu'il n'y a pas de sauvegarde, les données seront inaccessibles dans les grands systèmes, il y a donc un déploiement maître-esclave du. base de données.
Mais en fait, avec le développement des affaires, la pression sur la base de données augmente également. Le déploiement actif et en veille ne peut pas résoudre le problème des performances d'accès à la base de données, nous devons donc diviser la base de données en tables distinctes. Dans la base de données active et en veille Sur la base de , nous diviserons une table contenant une grande quantité de données en plusieurs tables et détournerons les requêtes de base de données vers différentes données. Par exemple, 100 sous-bases de données et 100 sous-tables équivalent à une division. une table de données en Divisé en 10 000 tables de données.
Un autre problème survient à ce moment-là. Si une base de données possède plusieurs bases de données de secours et qu'une commutation maître-esclave est requise lorsque la base de données principale raccroche, les données entre les bases de données principale et de secours peuvent être incohérentes, et cela. est également l’une des questions étudiées en théorie distribuée. Parce qu’elle est relativement compliquée, nous la passerons ici.
Je viens de mentionner la technologie distribuée. En fait, l'équilibrage de charge, les sous-bases de données et les sous-tables sont toutes des implémentations de la technologie distribuée. Si vous ne voulez pas faire de sous-base de données et de sous-table, quelle autre. Comment réduire l'accès aux bases de données ? Qu'en est-il de la pression ? Le cache est donc apparu. Le cache permet au serveur d'envoyer la requête au cache en premier. Puisque les données mises en cache sont généralement en mémoire, la vitesse d'accès sera très rapide, et ces requêtes n'auront pas besoin de passer par la base de données.
Avec le développement des affaires, la pression du cache sur un point unique sera relativement importante, donc le cache distribué apparaît De manière générale, le cache ne peut pas garantir la fiabilité des données. leurs données peuvent être perdues et le cache ne peut stocker qu'une partie des données et ne peut pas résoudre tous les problèmes.
Ainsi, lorsque le volume de requêtes de certaines entreprises est très important, la mise en cache à elle seule ne peut pas résoudre le problème. Pour le moment, nous pouvons également utiliser la file d'attente de messages pour nous aider à résoudre le problème des requêtes simultanées à fort trafic.
Nous pouvons stocker une partie des messages de demande via la file d'attente des messages, puis supprimer progressivement les messages en fonction de la capacité de notre serveur à traiter les demandes, puis traiter ces messages progressivement, afin qu'ils puissent être très bien Résoudre le problème de la concurrence élevée. Bien entendu, le principe est que la file d'attente de messages doit garantir la fiabilité du stockage des messages, ce qui est également une capacité garantie par la plupart des files d'attente de messages.
Cela dit, j'ai présenté clairement l'apparence générale du backend Java. De plus, il y a beaucoup de choses qui n'ont pas été mentionnées. Si je voulais vraiment le terminer, je ne le ferais pas. pouvoir le terminer en une nuit.
D'une manière générale, la technologie back-end Java n'est ni difficile ni simple. J'essaie de rendre ces contenus aussi faciles à comprendre que possible. En fait, il y a bien sûr de nombreuses complexités derrière chaque principe de mise en œuvre. une fois que vous aurez compris le concept global de la technologie back-end Java, je pense que cela sera plus utile pour votre apprentissage ultérieur.
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!