FAQ Langage JavaConsultez toutes les FAQ
Nombre d'auteurs : 42, nombre de questions : 297, dernière mise à jour : 19 septembre 2017
Cette FAQ a été réalisée à partir des questions fréquemment posées sur le forum Java de http://java.developpez.com ainsi que l'expérience personnelle des auteurs.
Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.
Sur ce, nous vous souhaitons une bonne lecture.
- 1. Informations (5)
-
2. Généralités
(26)
- Qu'est-ce que Java ?
- Quelles sont les différentes distributions de Java ?
- Qu'est-ce qu'un profil ?
- Que sont le JRE et le JDK ?
- Comment installer le JDK ?
- Comment installer le JRE ?
- Qu'est-ce que le PATH ?
- Java est-il open source ?
- Quelles sont les différences entre les distributions Oracle et OpenJDK ?
- Où peut-on trouver le code source de Java ?
- Pourquoi accéder au code source de Java ?
- Quelles sont les différences entre Application, Applet et Servlet ?
- Qu'est-ce que Java Web Start ?
- Comment connaître la version de la JVM installée ?
- Quelles sont les conventions de nommage en Java ?
- Qu'est-ce qu'un décompilateur ?
- Qu'est-ce qu'un obfuscateur ?
- Qu'est-ce que le CLASSPATH ?
- Comment modifier le CLASSPATH ?
- Qu'est-ce que le BOOTCLASSPATH ?
- Quelle est la taille maximum du code d'une méthode ?
- Quels sont les différents modes d'invocation de méthode ?
- Qu'est-ce que la compatibilité ascendante ? Est-elle toujours respectée ?
- Où télécharger les anciennes versions de Java ?
- Comment lancer une application sans le terminal (Windows uniquement) ?
- Quelle est la liste des paramètres (options/arguments) de la JVM ?
-
3. Bases du langage
(167)
-
3.1. Mots-clés
(29)
- Quels sont les différents mots-clés du langage Java ?
- Que signifient les mots-clés public, private et protected ?
- Que signifie le mot-clé void ?
- Comment faire une condition avec if-then-else ?
- Que signifie le mot-clé return ?
- Comment faire une boucle avec for ?
- Comment faire une boucle avec while et do-while ?
- Comment faire un switch ?
- Que signifie le mot-clé static ?
- Puis-je utiliser des méthodes statiques dans une interface ?
- Que signifie le mot-clé final ?
- Que signifient les mots-clés this et super ?
- Que signifie le mot-clé strictfp ?
- Que signifie le mot-clé transient ?
- Que signifie le mot-clé volatile ?
- Java dispose-t-il d'un goto ?
- Comment utiliser les mots-clés break et continue ?
- Comment fonctionnent les Varargs (nombre d'arguments variable) ?
- Que signifie le mot-clé import ?
- Qu'est-ce que l'import static ?
- Quelle est la différence entre « import » et « import static » ?
- Qu'est-ce que l'opérateur ternaire "?" ?
- Que veut dire « deprecated » ?
- Comment tester si une variable est une instance d'un type donné ?
- Que signifie le mot-clé throw ?
- Que signifie le mot-clé throws ?
- Que signifie le mot-clé try ?
- Que signifie le mot-clé catch ?
- Que signifie le mot-clé finally ?
-
3.2. Concepts du langage
(33)
- Qu'est-ce qu'une classe ?
- Qu'est-ce qu'un package ?
- Qu'est-ce que l'héritage ?
- Qu'est-ce qu'une classe abstraite ?
- Qu'est-ce qu'une classe interne ?
- Quels sont les différents types de classes internes ?
- Qu'est-ce qu'une interface ?
- Qu'est-ce que la sérialisation ?
- Quelles sont les règles à respecter pour redéfinir/implémenter une méthode ?
- Qu'est-ce que la surcharge des méthodes ?
- Qu'est-ce qu'un getter ?
- Qu'est-ce qu'un setter ?
- Qu'est-ce que les Generics (types paramétrés) ?
- Qu'est-ce que l'auto-boxing/auto-unboxing ?
- Qu'est-ce qu'une annotation ?
- Qu'est-ce qu'une enum (type énuméré) ?
- Qu'est-ce qu'une constante ?
- Qu'est-ce qu'un membre « synthetic » ?
- Qu'est-ce qu'une méthode « bridge » ?
- Comment spécifier qu'un paramètre doit implémenter plusieurs interfaces ?
- Qu'est-ce qu'une interface fonctionnelle ?
- Qu'est-ce qu'un lambda ?
- Qu'est-ce qu'une référence de méthode ?
- Qu'est-ce qu'une méthode par défaut (Defender Method) ?
- Qu'est-ce qu'un objet immuable ?
- Java est-il Little-Endian ou Big-Endian ?
- Qu'est-ce qu'un singleton ?
- Pourquoi et comment redéfinir la méthode equals() ?
- Pourquoi et comment redéfinir la méthode hashCode() ?
- Qu'est-ce qu'un POJO ?
- Comment copier un objet ?
- Comment cloner un objet ?
- Comment cloner un objet en profondeur ?
-
3.3. Nombres
(26)
- Comment représenter un nombre en Java ?
- Quelles sont les limites numériques et capacités des nombres ?
- Comment déclarer des nombres entiers ?
- Comment déclarer des nombres entiers en octal ?
- Comment déclarer des nombres entiers en hexadécimal ?
- Comment déclarer des nombres entiers en binaire ?
- Comment déclarer des nombres flottants ?
- Que sont +0.0 et -0.0 ?
- Que sont l'infini positif et l'infini négatif ?
- Qu'est-ce que NaN ?
- Qu'est-ce que la promotion numérique ?
- Comment comparer des nombres entre eux ?
- Que sont les opérateurs d'incrémentation et de décrémentation préfixes et postfixes ?
- Comment effectuer des opérations arithmétiques sur des nombres ?
- Comment effectuer des opérations bit à bit sur des nombres entiers ?
- Comment effectuer des décalages sur des nombres ?
- Comment faire des calculs de précision corrects avec des floats ou des doubles ?
- Comment arrondir un nombre ?
- Comment effectuer un tirage aléatoire ?
- Quelles API utiliser pour faire des maths ?
- Comment convertir un nombre en chaîne de caractères ?
- Comment convertir un nombre en chaîne de caractères formatée ?
- Comment convertir un nombre entier décimal en une chaîne représentant ce nombre dans une autre base ?
- Comment convertir une chaîne de caractères en nombre ?
- Comment convertir une chaîne représentant un nombre entier en base quelconque en un entier décimal ?
- Comment faire en sorte que le paramètre int de ma méthode soit modifié en retour ?
- 3.4. Booléens (6)
-
3.5. Chaînes de caractères
(19)
- 3.5.1. Expressions régulières (3)
- Comment déclarer un caractère ?
- Les caractères sont-ils des nombres ?
- Comment représenter une chaîne de caractères en Java ?
- Comment convertir des caractères en ASCII ?
- Comment déterminer précisément le nombre de caractères d'une chaîne ?
- Comment vérifier qu'une chaîne de caractères est vide ?
- Quelle est la longueur maximale d'une chaîne de caractères ?
- Pourquoi ne pas utiliser l'opérateur + pour la concaténation de chaînes de caractères
- Comment concaténer des chaînes de caractères ?
- Comment concaténer des valeurs dans une chaîne de caractères avec un séparateur ?
- Comment comparer des chaînes de caractères ?
- Comment comparer des chaînes de caractères selon la locale ?
- Comment supprimer les accents d'une chaîne ?
- Comment gérer l'encodage d'un tableau de bytes dans des strings ?
- Comment convertir un objet quelconque en chaîne de caractères ?
- Comment découper facilement une chaîne ?
-
3.6. Tableaux
(14)
- Qu'est-ce qu'un tableau ?
- Comment déclarer un tableau ?
- Comment savoir si un objet est un tableau ?
- Comment accéder aux éléments d'un tableau ?
- Comment connaître la taille d'un tableau ?
- Comment changer la taille d'un tableau ?
- Quelle est la taille maximale d'un tableau ?
- Comment parcourir tous les éléments d'un tableau ?
- Comment créer un tableau à dimensions multiples ?
- Comment déterminer le nombre de dimensions d'un tableau ?
- Comment parcourir un tableau à deux dimensions avec un for étendu ?
- Comment trier le contenu d'un tableau ?
- Comment créer un tableau en utilisant un type générique ?
- Pourquoi ne peut-on pas instancier de tableau paramétré ?
-
3.7. Exceptions
(10)
- Quels sont les principaux types d'exceptions ?
- Comment lancer ou déclencher une exception ?
- Comment capturer ou attraper une exception ?
- Comment capturer plus d'une exception ?
- À quoi sert le mot-clé finally pour le traitement d'une exception ?
- Qu'est-ce que try-with-resources ?
- Comment définir la cause d'une exception ?
- Que sont les exceptions supprimées ?
- Comment ajouter des exceptions supprimées dans une exception ?
- Comment éviter les null et NullPointerException tout en gardant son code élégant ?
- 3.8. Évènements (6)
- 3.9. Beans (6)
- Comment faire un Hello World en Java ?
- Qu'est-ce qu'une instruction ?
- Qu'est-ce qu'un bloc ?
- Qu'est-ce que la portée ?
- Qu'est-ce qu'un literal ?
- Quels sont les différents types primitifs ?
- Est-il possible d'utiliser un type primitif comme un type objet ?
- Qu'est-ce que la valeur null ?
- Comment tester si une référence contient null ?
- Comment écrire des commentaires dans le code ?
- Comment placer des commentaires javadoc ou des annotations au niveau du package ?
- Que sont les exceptions ?
- Comment forcer le passage du « Garbage collector » ?
- Comment annuler la construction d'un objet lors de la construction ?
- Comment recharger dynamiquement une classe ?
- Comment afficher la référence d'un objet redéfinissant la méthode toString() ?
- Comment déterminer le temps écoulé entre deux points d'un programme ?
- Comment passer un objet en paramètre par référence ?
-
3.1. Mots-clés
(29)
-
4. Collections et Streams
(28)
-
4.1. Streams
(9)
- Qu'est-ce qu'un stream ?
- Est-il possible de réutiliser un flux ?
- Quels sont les types de flux ?
- Comment créer un stream ?
- Qu'est-ce qu'une opération « stateless » ou « stateful » ?
- Qu'est-ce qu'une opération « short-circuiting » ?
- Comment convertir un flux d'un type en un flux d'un autre type ?
- Comment convertir un flux en collection ?
- Comment convertir un flux en tableau ?
- Que sont les collections ?
- Quels sont les différents types d'ensembles ?
- Quels sont les différents types de listes ?
- Quels sont les différents types de dictionnaires ?
- Comment créer une collection en lecture seule ?
- Comment créer une collection synchronisée ?
- Pourquoi ne faut-il pas employer la classe Vector ?
- Pourquoi ne faut-il pas employer la classe Hashtable ?
- Comment créer une pile (LIFO) ?
- Comment créer une file (FIFO) ?
- Comment trier le contenu d'une liste ?
- Comment parcourir tous les éléments d'un ensemble ?
- Comment convertir une liste en tableau ?
- Comment convertir un Set (ensemble) vers un tableau
- Comment convertir un tableau en liste ?
- Comment convertir un tableau vers un ensemble (Set) ?
- Comment parcourir tous les éléments d'un dictionnaire ?
- Comment parcourir tous les éléments d'une liste ?
- Comment trier un dictionnaire selon les valeurs et non pas les clés ?
-
4.1. Streams
(9)
-
5. Dates
(17)
- Quelle API utiliser pour la gestion du temps en Java ?
- Comment représenter une date en Java ?
- Pourquoi est-ce que le mois n'est pas correct lorsque j'utilise un Calendar ?
- Comment représenter une durée en Java ?
- Comment définir une période en Java ?
- Comment représenter un calendrier ou une chronologie en Java ?
- Comment convertir une date en chaîne ?
- Comment convertir une chaîne en Date ?
- Comment afficher le nom des jours de la semaine ?
- Comment afficher le nom des mois ?
- Comment déterminer si une année est bissextile ?
- Comment déterminer si un jour du mois est valide ?
- Comment connaître le nombre de jours dans un mois ?
- Comment effectuer des opérations sur des dates ?
- Comment calculer son âge à partir d'une date ?
- Comment connaître les identifiants possibles des fuseaux horaires ?
- Comment définir une date en fonction du fuseau horaire ?
-
6. Threads
(12)
- Qu'est-ce qu'un thread ?
- Pourquoi toutes les méthodes de la classe Thread sont-elles marquées « deprecated » ?
- Comment créer un thread ?
- Comment démarrer un thread ?
- Comment terminer un thread sans la méthode stop() ?
- Comment obtenir le thread courant ?
- Comment faire une « pause » dans mon application ?
- Comment changer la priorité d'exécution d'un thread ?
- Pourquoi est-ce que mon programme ne s'arrête pas à la fin du main() ?
- Comment créer un thread deamon ?
- Qu'est-ce que le double-check locking ?
- Comment avoir un Singleton sûr en environnement multi-thread ?
-
7. Réflexivité
(16)
- À quoi sert l'introspection ou la réflexivité, et comment l'utiliser ?
- Comment connaître l'ensemble des classes dont hérite une classe ?
- Comment connaître l'ensemble des interfaces qu'implémente une classe ?
- Comment connaître le nom du paquetage dans lequel se situe une classe ?
- Comment récupérer la liste des méthodes d'une classe ?
- Comment connaître la signature d'une méthode ?
- Comment récupérer la liste des champs d'une classe ?
- Comment déterminer l'ensemble des informations concernant un champ ?
- Comment savoir si une méthode ou un champ est statique ?
- Comment accéder dynamiquement à la valeur d'un champ donné d'un objet ?
- Comment lancer dynamiquement une méthode donnée d'un objet ?
- Comment lancer dynamiquement une méthode statique donnée ?
- Comment passer les types primitifs en paramètre lors de l'utilisation de la réflexivité ?
- Y a-t-il un moyen de consulter et/ou de modifier la valeur d'un champ privé ?
- Est-il possible d'avoir la liste des champs/méthodes privés et protégés d'une classe ?
- Comment connaître les annotations d'un élément ?
-
8. En développement
(26)
- 8.1. Installation et compilation (2)
- 8.2. Exécution (5)
-
8.3. Exceptions en développement
(9)
- Que signifie « Exception ... must be caught » ?
- Que signifie une NullPointerException ?
- Que signifie une IndexOutOfBoundsException ?
- Que signifie une ClassNotFoundException ?
- Que signifie une SecurityException ?
- Que signifie OutOfMemoryError ?
- Comment intercepter toutes les erreurs d'une application ?
- Pourquoi le compilateur refuse-t-il mon multi-catch ?
- Comment obtenir la pile d'exécution d'une méthode ?
-
8.4. Warnings
(9)
- Qu'est-ce qu'un warning ?
- Comment activer/désactiver les warnings avec javac ?
- Que signifie « finally clause cannot complete normally » ?
- Que signifie « serializable class has no definition of serialVersionUID » ?
- Que signifie « bad path element » ?
- Que signifie « possible fall-through into case » ?
- Que signifie « uses unchecked or unsafe operations » ?
- Que signifie « uses or overrides a deprecated API » ?
- Comment supprimer un warning en particulier ?
- 8.5. Journalisation (1)
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.