2022-01-31 14:25:41 +01:00
|
|
|
\documentclass[a4paper,french,12pt]{article}
|
|
|
|
|
|
|
|
\title{Programmation Java}
|
|
|
|
\author{}
|
|
|
|
\date{Dernière compilation~: \today{} à \currenttime}
|
|
|
|
|
2022-03-14 08:28:16 +01:00
|
|
|
\usepackage{styles}
|
2022-01-31 14:25:41 +01:00
|
|
|
\usepackage{tikz}
|
|
|
|
\usetikzlibrary{shapes.multipart}
|
|
|
|
|
|
|
|
\begin{document}
|
|
|
|
|
|
|
|
\maketitle
|
|
|
|
\tableofcontents
|
|
|
|
|
|
|
|
\clearpage
|
|
|
|
|
|
|
|
\section{Historique}
|
|
|
|
|
|
|
|
Commencé en 1995, il est indépendant de l'architecture matérielle, et introduit une machine virtuelle.
|
|
|
|
|
|
|
|
\paragraph{Le compilateur}
|
|
|
|
|
|
|
|
Un programme Java (extension \texttt{.java}) est compilé en byte code et stocké dans un fichier \texttt{.class}.
|
|
|
|
Ce byte code n'est pas exécutable directement, il est interprété par la machine virtuelle Java.
|
|
|
|
C'est grâce à cet intermédiaire que le code Java peut être exécuté sur toute architecture.
|
|
|
|
|
|
|
|
En ligne de commande, on peut utiliser \texttt{javac} pour exécuter un programme Java.
|
|
|
|
|
|
|
|
\paragraph{Garbage collector}
|
|
|
|
|
|
|
|
C'est un module de gestion de la mémoire qui permet, contrairement au C ou au C++, de ne pas se soucier de libérer la mémoire.
|
|
|
|
|
|
|
|
\paragraph{Le JDK (Java Development Kit)}
|
|
|
|
|
|
|
|
C'est un ensemble d'outils dont le développeur a besoin.
|
|
|
|
Il contient le compilateur \texttt{javac}, la machine virtuelle \texttt{java}, et \texttt{javadoc}, le générateur de documentation.
|
|
|
|
|
|
|
|
\paragraph{Le JRE (Java Runtime Environment)}
|
|
|
|
|
|
|
|
Il est inclus dans le JDK\@.
|
|
|
|
Il se compose de la machine virtuelle (JVM), des plugins, etc.
|
|
|
|
|
|
|
|
\section{Best practices}
|
|
|
|
|
|
|
|
\section{Relations entre le Java et la JVM}
|
|
|
|
|
|
|
|
\section{API de Java}
|
|
|
|
|
|
|
|
\section{Concepts objet}
|
|
|
|
|
|
|
|
\section{Classes, objets et packages}
|
|
|
|
|
|
|
|
\section{Modificateurs d'accès}
|
|
|
|
|
|
|
|
Il y a trois modificateurs d'accès~: \texttt{public}, \texttt{private}, \texttt{protected}.
|
|
|
|
|
|
|
|
\section{Constructeurs}
|
|
|
|
|
|
|
|
\section{Typage~: référence, valeur, conversions}
|
|
|
|
|
|
|
|
\section{Opérateurs et expressions}
|
|
|
|
|
|
|
|
\section{Blocs d'instructions}
|
|
|
|
|
|
|
|
\section{Itérations}
|
|
|
|
|
|
|
|
\section{Tableaux et listes}
|
|
|
|
|
|
|
|
\section{Variables et paramètres}
|
|
|
|
|
|
|
|
\section{Agrégation et héritage}
|
|
|
|
|
|
|
|
\section{Exceptions et gestion des erreurs}
|
|
|
|
|
|
|
|
\end{document}
|