0% ont trouvé ce document utile (0 vote)
9 vues4 pages

150 Questions Difficiles sur Java 8-21

Transféré par

aminewiksi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues4 pages

150 Questions Difficiles sur Java 8-21

Transféré par

aminewiksi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

150 Questions Très Difficiles sur Java 8 à Java 21

1. Quelle est la différence entre map() et flatMap() dans l’API Stream ?

Réponse : map() transforme chaque élément d’un stream. flatMap() les aplatit après

transformation.

Explication : map() retourne un Stream de type différent, flatMap() retourne un Stream

de Streams aplati.

2. Que se passe-t-il si vous appelez [Link]() sur un [Link]() ?

Réponse : NoSuchElementException est levée.

Explication : Il faut utiliser isPresent(), orElse(), orElseGet() ou orElseThrow().

3. Quelle est la principale différence entre une classe sealed et une classe final ?

Réponse : sealed autorise certaines sous-classes ; final interdit toute extension.

4. En Java 17, que renvoie instanceof avec pattern matching sur un objet null ?

Réponse : false.

Explication : Aucun cast n'est tenté, et aucune exception n'est levée.

5. Peut-on créer une instance d'une interface fonctionnelle avec une méthode par

défaut et une méthode statique ?

Réponse : Oui.

Explication : L’interface reste fonctionnelle si elle n’a qu’une seule méthode abstraite.

6. Quelle est la différence entre [Link]() et [Link]() ?

Réponse : Le premier est modifiable, le second est immuable.


7. Que fait [Link](null) ?

Réponse : NullPointerException.

8. Est-il possible de créer un Stream infini ? Donnez un exemple.

Réponse : Oui. Exemple : [Link](0, i -> i + 1);

9. Qu'est-ce que le "Deadlock Prevention" avec les Virtual Threads ?

Réponse : Il n’empêche pas les deadlocks, mais permet une meilleure gestion.

10. Peut-on utiliser synchronized avec des virtual threads ?

Réponse : Oui, mais déconseillé sur du long terme (bloque le thread porteur).

11. Quelle est la signature d’une méthode record ?

Réponse : record Nom(Type champ1, Type champ2) { }

12. Que permet de faire le mot-clé permits dans une classe sealed ?

Réponse : Spécifie quelles classes peuvent hériter.

13. Quelle méthode utilise-t-on pour invoquer du code natif via FFM ?

Réponse : CLinker et MemorySegment.

14. [Link]() vs thenCompose() ?

Réponse : thenApply transforme le résultat ; thenCompose enchaîne un autre

CompletableFuture.
15. Qu’est-ce qu’un Hidden Class ?

Réponse : Une classe non accessible par la réflexion classique.

16. Peut-on avoir un record abstract ?

Réponse : Oui.

17. Comment fonctionne switch expression (Java 14) ?

Réponse : Il peut retourner une valeur avec yield.

18. Quelle est la taille maximale d'un tableau ?

Réponse : Integer.MAX_VALUE éléments.

19. Peut-on imbriquer try avec try-with-resources ?

Réponse : Oui.

20. var peut-il être utilisé comme nom de variable ?

Réponse : Oui, sauf comme type implicite.

21. Quelle est la différence entre FileInputStream et [Link]() ?

Réponse : newInputStream est plus flexible.

22. Que fait [Link]() ?

Réponse : Signale au CPU une attente active.

23. Différence entre @FunctionalInterface et une interface sans annotation ?

Réponse : L'annotation force une seule méthode abstraite.


24. [Link]().gc() vs [Link]() ?

Réponse : Identiques.

25. Peut-on redéfinir equals() dans un record ?

Réponse : Oui, mais déconseillé.

26. À quoi sert [Link]() ?

Réponse : Créer dynamiquement des références à des méthodes.

27. Que fait [Link]() ?

Réponse : Retourne un autre Optional si vide.

28. [Link]() avec état mutable ?

Réponse : Possible mais non thread-safe.

29. Peut-on utiliser yield hors d’un switch ?

Réponse : Non.

30. Différence entre HashMap et IdentityHashMap ?

Réponse : HashMap utilise equals(), IdentityHashMap utilise ==.

... (Questions 31 à 60 également ajoutées dans la suite)

Vous aimerez peut-être aussi