Cet article partagera mon expérience sur la façon d'utiliser mon temps libre pour apprendre le langage de programmation Java.
Voici quelques points d'apprentissage :
Table des matières
- Apprentissage des langues
- Projet personnel
- Écosystème
Apprentissage des langues
Tout d'abord, laissez-moi vous expliquer que Java n'est pas mon premier langage de programmation, donc ma vitesse d'apprentissage peut être différente de la vôtre, selon votre expérience.
Actuellement, j'apprends Java en participant au défi Advent of Code, qui m'aide à me familiariser avec la syntaxe générale de Java, l'importation de packages, la lecture de fichiers, la gestion des exceptions, les types de données, etc.
Cette méthode me permet d'acquérir quelque chose presque tous les jours dans le processus d'apprentissage. Bien sûr, je ferai également quelques exercices de projet pour approfondir ma compréhension. Jetons un coup d'œil à cette partie.
Projet personnel
Dans le cadre d'un projet personnel, je crée actuellement une simple CLI similaire à la ligne de commande Linux, que j'ai nommée junix. Certaines des commandes que je reproduis incluent ls, mv et ifconfig.
Quand j'ai un problème, je demande de l'aide à ChatGPT, mais j'essaie d'éviter de demander directement des solutions. Je voudrais d'abord vérifier si mes hypothèses sont correctes et réfléchir à la façon dont Java est implémenté en fonction de mon expérience dans d'autres langages de programmation (tels que JavaScript).
Par exemple, au lieu de demander directement « Je veux écrire une commande ifconfig en Java », je demanderais quelque chose comme : « J'aimerais savoir s'il existe un ensemble de classes en Java qui peuvent implémenter des fonctionnalités similaires à Linux. ifconfig (je ne veux pas utiliser de packages externes, juste STL)".
Bien sûr, dans certains cas, ChatGPT fournira le code directement, mais je ne me contenterais pas de le copier et de le coller. J'examinerais de plus près les classes qu'il utilise, rechercherais la documentation Oracle pertinente et comparerais les suggestions de ChatGPT avec le contenu de la documentation.
Écosystème
En ce qui concerne l'écosystème Java, j'ai commencé à apprendre certains outils tels que les systèmes de build Maven ou Gradle, et à tester des bibliothèques telles que JUnit.
Résumé
Actuellement, je suis encore en train d'apprendre Java. J'espère terminer Junix (mon premier projet Java personnel) d'ici la fin de ce mois. Je prévois également de réaliser 2 à 3 projets supplémentaires indépendants du framework pour vraiment comprendre le système de build Java et son flux général. J'espère commencer à apprendre Spring Boot et d'autres frameworks fin février.
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!

JavadevelopmentSnotentivelyPlatform-indépendant de la duetoseveralfactors.1) jvmvariationSAffecctPerformanceAndbehavioracrossdifferentos.2) nativelibrarysviajniintroduceplatform-specificiss.3) goypathesystempropertiesdifferbetweenweenplateforms.4) goypathesmepropertiesdifferbetweenweenplateforms.4) guiaplicapropertiesdifferbetweenweenplateforms.4) guiaplicapropertiesdifferbetweenweenplateforms.4) guiaplicaaPropertiesdifferbetweenweenplateforms.4) GuiaplicaAplicaAplisses.

Java Code aura des différences de performances lors de l'exécution sur différentes plates-formes. 1) Les stratégies de mise en œuvre et d'optimisation de JVM sont différentes, comme OracleJDK et OpenJDK. 2) Les caractéristiques du système d'exploitation, telles que la gestion de la mémoire et la planification des threads, affecteront également les performances. 3) Les performances peuvent être améliorées en sélectionnant le JVM approprié, en ajustant les paramètres JVM et l'optimisation du code.

Java'splatformindependensencehaslimitations incluant la performance de la tête, les versions de verso, les défis avec l'intégration de la plate-forme spécifique et lajvminstallation / maintenance.

Platform IndependeneNallowsProgramStorUnonanyPlatformWithoutModification, whilecross-plateformDevelopmentRequireStomePlatFatFor-SpecificAdjustments.

JitCompilationInjavaenHancesPerformance WhileSainingPlatForceLindependence.1) itdynynamicalTranslatesByTecodeIntOnAativemArnEcodeATrutime, OptimizingFrement UsedCode.2) thejvmremainsplatform-independent, permettant à la vigueur.

Javaispopularforcross-plateformdesktopapplicationsDuetoit "writeOnce, runanywhere" philosophy.1) iTUSESBYTECODETHATrunSonanyjvm-equipppatform.2) bibliothèqueslikeswingandjavafxhelpcreenative-lookporport

Les raisons de l'écriture du code spécifique à la plate-forme en Java incluent l'accès à des fonctionnalités spécifiques du système d'exploitation, l'interaction avec le matériel spécifique et l'optimisation des performances. 1) Utilisez JNA ou JNI pour accéder au registre Windows; 2) interagir avec les pilotes matériels spécifiques à Linux via JNI; 3) Utilisez du métal pour optimiser les performances de jeu sur macOS via JNI. Néanmoins, la rédaction du code spécifique à la plate-forme peut affecter la portabilité du code, augmenter la complexité et potentiellement poser des risques de performances et de sécurité.

Java améliorera encore l'indépendance des plates-formes grâce aux applications natives dans le cloud, au déploiement multi-plate-forme et à l'interopérabilité inter-language. 1) Les applications natives Cloud utiliseront Graalvm et Quarkus pour augmenter la vitesse de démarrage. 2) Java sera étendu aux appareils intégrés, aux appareils mobiles et aux ordinateurs quantiques. 3) Grâce à GraalVM, Java s'intègre de manière transparente à des langages tels que Python et JavaScript pour améliorer l'interopérabilité transversale.


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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

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

Version Mac de WebStorm
Outils de développement JavaScript utiles
