[Java] Flux du code source à l'exécution

Flux du code source à l'exécution

  1. Création du code source
  2. Compilez
  3. Exécuter

En termes simples, voici la procédure: sourire: En tant que débutant, c'était rafraîchissant de dire: penser: Qu'est-ce que la compilation ...? ?? ?? C'est comme: sweat_smile:

Je voudrais vous expliquer petit à petit ce que c'est: sourire: Je pense que c'est probablement comme ça Veuillez signaler tout malentendu: sourire:

1. Créez le code source → 2. Compilez

Beaucoup de gens connaissent le code source, n'est-ce pas? Les programmes suivants que nous créons: smile:

Exemple.java


public class Main {
	public static void main(String[] args) {
		System.out.println("hello, world!");
	}
}

Eh bien, ce programme. Malheureusement, même si nous écrivons le code proprement, PC-kun ne peut pas le comprendre tel quel: rolling_eyes:

Même si vous parlez en japonais à un étranger qui ne comprend pas le japonais, l'étranger ne peut pas le comprendre: sweat_smile:

english_kaiwa_bad_man.png

Alors que dois-je faire ... Je pense qu'il est plus facile d'obtenir une image si vous anthropomorphisez: sourire:

Ce serait bien d'avoir quelqu'un qui comprend les mots de l'autre entre et traduise: rire:

L'équivalent de cet interprète est la compilation: rire:

おじさんわらう.png

Cette compilation a la fonction de ** traduire le code source écrit par l'homme en langage machine **.

: ampoule: ** Caractéristiques de compilation **: ampoule: : sunny: Convertir le fichier source en fichier de classe : sunny: le fichier de classe converti contient ce qu'on appelle un code d'octet. : sunny: Compile utilise un logiciel appelé compilateur pour effectuer le travail ci-dessus. : sunny: Le compilateur vérifie également la grammaire du code source

La conversion d'un fichier source en fichier de classe signifie Nom de fichier.java → Nom de fichier.classe Cela signifie convertir l'extension en.

L'extension est .Txt pour les notes .Docx pour Word .Xlsx pour Excel .Pdf pour PDF Etc., qui est répertorié après le nom du fichier.

Revenons à l'histoire: sourire:

Et il y a quelque chose qui s'appelle un code d'octet dans ce qui est converti en fichier de classe, mais ce ** code d'octet est un tableau complexe de 0 et de 1 **. En d'autres termes, le code source que nous avons créé est converti en celui formé par des 0 et des 1.

nom de fichier fichier source Fichier de classe
Le contenu du fichier Code source Code d'octet

Si je change le fichier source en fichier de classe, dois-je corriger l'extension du fichier? : en pensant:

Je pense que, mais cela entraînera probablement une erreur.

Ce qu'il faut faire est d'utiliser un logiciel appelé compilateur. Compilateur pour la compilation ... déroutant: sweat_smile:

Eh bien, ce compilateur. Il vérifie également la syntaxe du code source que nous créons.

Hé, l'orthographe anglaise n'est-elle pas fausse? Hé, c'est pas cool?

Etc. sera vérifié. Au fait, il ne compilera pas tant que je n'aurai pas résolu ces problèmes. Il sera renvoyé tout le temps: sweat_smile:

2. Compilez → 3. Exécutez

Je les ai fait traduire dans les mots de la machine, et finalement le programme a été exécuté! : poing: Je pense, mais attendez une minute! : hand_splayed:.

En fait, cela ne fonctionne toujours pas à ce rythme. Vous ne pouvez pas le faire parce que vous l'avez converti en langage machine! ?? !! ?? Je pense. Au moins j'ai pensé: sweat_smile:

Comparé au code source, il semble qu'il peut être exécuté, mais il ne peut pas être exécuté.

Quand j'y repense comme anthropomorphe, l'oncle de compilation qui l'a traduit plus tôt. C'est bien qu'il l'ait traduit, mais le dialecte était trop serré pour être transmis à l'autre partie ... Je pense que c'est comme: sweat_smile:

おじさんてへぺろ.png

Dans ce cas, nous avons besoin de quelqu'un qui peut traduire le dialecte de cet oncle de compilation dans une langue standard. C'est···

おんなわらう.png

Je suis Interpreta: sourire:

: ampoule: ** Caractéristiques de l'interprète **: ampoule: : sunny: demande la conversion et l'exécution du bytecode : sunny: Il a un mécanisme appelé JVM

Le code d'octet traduit par l'oncle de compilation est converti par l'interpréteur en un langage machine appelé code machine.

Envoyez ce code machine traduit à la CPU pour traitement. (Le processeur a pour fonction de comprendre le code machine dans la partie cérébrale de l'ordinateur personnel et d'exécuter et de calculer des instructions.)

** JVM consiste à demander au CPU d'exécuter des instructions tout en lisant petit à petit le code d'octet. ** **

Par exemple

Exemple.


Où est Ici?
Comment vais-je à la station?
Combien de temps faut-il pour arriver à la gare?

Supposons que vous posiez la question. Alors ...

Où est Ici? ↓ Traduction ↓ New York

Comment vais-je à la station? ↓ Traduction ↓ Tourner à gauche au coin suivant et rester tout droit

Combien de temps faut-il pour arriver à la gare? ↓ Traduction ↓ C'est environ 10 minutes.

Cela ressemble-t-il à un interprète simultané en tant qu'image? ?? Au lieu d'écouter l'histoire de l'autre personne puis de traduire C'est comme interpréter tout en écoutant l'histoire.

Les programmes Java sont exécutés de cette manière: smile:

À propos, cet interpréteur est également l'un des logiciels avec le compilateur. Vous ne pouvez donc pas utiliser Java sans installer le compilateur et l'interpréteur.

Recommended Posts

[Java] Flux du code source à l'exécution
Changements de Java 8 à Java 11
Somme de Java_1 à 100
Évaluer la source Java à partir de Java
De Java à Ruby !!
Migration de Cobol vers JAVA
Nouvelles fonctionnalités de Java7 à Java8
Connectez-vous de Java à PostgreSQL
De Java inefficace à Java efficace
Comment inverser la compilation du fichier apk en code source Java avec MAC
Coder Java depuis Emacs avec Eclim
Java sera impliqué dès aujourd'hui
De Java à VB.NET - Écriture de notes de contraste
Code source Java lecture de la classe java.lang.Math
Java, interface pour partir du débutant
Passer d'Eclipse à VS Code
La route de JavaScript à Java
[Android] Convertir le code Java Android en Kotlin
[Java] Conversion d'un tableau à une liste
Exemple de code utilisant Minio de Java
Structure de base du code source Java
Installez samba4 à partir du code source sur CentOS8
[CLI JAWS-UG] CodeBuild: # 1 Création de code source (Java)
Comment appeler le code Swift 5.3 depuis Objective-C
[Java] Comment mesurer le temps d'exécution du programme
Connectez-vous de Java à MySQL à l'aide d'Eclipse
De l'installation d'Eclipse à l'exécution de Java (PHP)
Publier sur Slack à partir de Play Framework 2.8 (Java)
Java: Comment envoyer des valeurs du servlet au servlet
Introduction à la surveillance à partir de Java Touching Prometheus
Précautions lors de la migration de VB6.0 vers JAVA
Mémo pour la migration de Java vers Kotlin
Exécutez du code Java à partir de cpp sur cocos2dx
Conversion de type du type java Big Decimal au type String
[Java] Flux de l'introduction de STS à la confirmation de la page dynamique sur l'hôte local (2/3)
[Java] Flux de l'introduction de STS à la confirmation de la page dynamique sur l'hôte local (1/3)
[Rspec] Flux de l'introduction de Rspec à l'écriture du code de test unitaire pour le modèle
Générer le code source à partir du fichier JAR avec JD-GUI du projet Java Decompiler
Qu'est-ce que CHECKSTYLE: OFF trouvé dans la source Java? Checkstyle à savoir de
[Java] De deux listes à une liste de tableaux
Upsert du SDK Java vers Azure Cosmos DB
Exécuter du code Java de manière scriptée
Connectez-vous à Aurora (MySQL) depuis une application Java
Pour devenir programmeur VB.net depuis une boutique Java
Exemple de code Java 02
Code pour échapper aux chaînes JSON en Java
Exemple de code Java 03
Migrer de Java vers Kotlin côté serveur + Spring-boot
[Java] Convertit le code DB en valeur de code à l'aide d'énum
Comment obtenir une classe depuis Element en Java
Exemple de code Java 04
[Java] Introduction à Java
Je veux écrire rapidement de java vers sqlite
Introduction à Java
Exemple de code Java 01
Code de caractère Java
Nettoyer findViewById du code source avec DataBindingLibrary
Développement de serveur Minecraft BE de PHP à Java
[Java] Mémo sur la façon d'écrire la source
Que trouve-t-on ... (3 points) dans la source Java? Argument de longueur variable à connaître