Questions d’Entretien sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses sur Java comprennent divers sujets. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son entretien sur Java .
1. Lequel String ou StringBuffer doit être préféré quand il y a beaucoup de mises à jour à faire dans la chaîne de caractères?
StringBuffer est mutable et dynamique par nature alors que String est immuable. Chaque mise à jour / modification de String crée une nouvelle String, ce qui surcharge le pool de String avec des objets inutiles. Par conséquent, dans les cas de nombreuses mises à jour, il est toujours préférable d’utiliser StringBuffer car cela réduira la surcharge de la création de multiples objets String dans le pool de String.
2. Comment empêcher la sérialisation des attributs d’une classe en Java ?
Pour ce faire, l’attribut peut être déclaré avec l’utilisation du mot clé « transient » comme indiqué ci-dessous:
public class Exemple
{
private transient String name;
private String address;
private int id;
// ...
}
Dans l’exemple ci-dessus, tous les champs sauf « name » peuvent être sérialisés.
3. Que se passe-t-il si le mot-clé « static » n’est pas inclus dans la signature de la méthode main() en Java ?
Il n’y aurait pas d’erreur de compilation. Mais lorsque le programme est exécuté, puisque la JVM ne peut pas faire correspondre la signature de la méthode main, le code génère une erreur « NoSuchMethodError » au moment de l’exécution. Programmation en Java – IntroductionJava est un langage de programmation de haut niveau initialement développé par Sun Microsystems et publié en 1995. Java fonctionne sur une variété de plates-formes,…Lire plus
4. Considérez le programme suivant, déterminez la sortie, et indiquez également la raison de cette situation.
public class Main
{
public static void main(String[] args) {
System.out.println("Main 1");
}
public static void main(int[] args) {
System.out.println("Main 2");
}
}
La sortie du programme ci-dessus sera « Main 1 ». Ceci est dû au fait que la JVM appellera toujours la méthode main() sur la base de la définition qu’elle a déjà. Peu importe le nombre de méthodes main() que nous surchargeons, la JVM n’exécutera qu’une seule méthode principale main() en fonction de sa déclaration dans la JVM.
5. Pouvons-nous faire du thread main() un thread démon?
En java multithreading, les threads main() sont toujours des threads non-daemon. Et il n’y a aucun moyen de changer la nature du thread non-daemon en thread daemon. Multithreading en JavaJava est un langage de programmation multithread, ce qui signifie que nous pouvons développer un programme multithread en utilisant Java. Un programme multithread contient deux…Lire plus
6. Comment une exception se propage-t-elle dans le code ?
Lorsqu’une exception se produit, il cherche d’abord à localiser le bloc catch correspondant. Si le bloc catch correspondant est localisé, il est exécuté. Dans le cas contraire, l’exception se propage dans la pile d’appel de la méthode et se rend dans la méthode appelante où le processus de recherche du bloc d’interception correspondant est effectué. Cette propagation se produit jusqu’à ce que le bloc catch correspondant soit trouvé. Si la correspondance n’est pas trouvée, le programme se termine dans la méthode principale.
Les exceptions en JavaUne exception est un événement indésirable ou inattendu, qui se produit pendant l’exécution d’un programme, c’est-à-dire au moment de l’exécution, qui perturbe le flux normal…Lire plus
7. Comment les exceptions affectent-elles le programme s’il ne les gère pas ?
Les exceptions sont des erreurs d’exécution. Supposons que nous créons une application androïde avec Java. Tout fonctionne bien, mais il y a un cas exceptionnel où l’application essaie de récupérer le fichier du stockage et le fichier n’existe pas. Et si ce cas n’est pas traité correctement, l’application se bloque. Ce sera une mauvaise expérience pour les utilisateurs. C’est le type d’erreur qui ne peut pas être contrôlé par le programmeur. Mais les programmeurs peuvent prendre certaines mesures pour l’éviter afin que l’application ne plante pas. L’action appropriée peut être prise à cette étape.
8. Est-il obligatoire qu’un bloc catch soit suivi d’un bloc try ?
Non, il n’est pas nécessaire qu’un bloc catch soit présent après un bloc try. – Un bloc try doit être suivi soit d’un bloc catch, soit d’un bloc finally. Si les exceptions sont plus nombreuses, elles doivent être déclarées à l’aide de la clause throws de la méthode
9. Le bloc finally sera-t-il exécuté si l’instruction return est écrite à la fin du bloc try et du bloc catch comme indiqué ci-dessous ?
public int myMethod(int i){
try{
//code...
return 1;
}catch(Exception e){
//code...
return 1000;
}finally{
//code...
}
}
Le bloc finally sera exécuté indépendamment de l’exception qui a été levée ou non. Le seul cas où le bloc finally n’est pas exécuté est lorsqu’il rencontre la méthode ‘System.exit()’ n’importe où dans le bloc try/catch.
10. Peut-on appeler un constructeur d’une classe à l’intérieur d’un autre constructeur ?
Oui, le concept peut être nommé chaînage de constructeurs et peut être réalisé en utilisant this(). Exemple:
class Main {
public static void main(String args[]) {
B b = new B(10);
}
}
class B{
B(){
System.out.println(" Constructeur 1 de B ");
}
B(int x){
this();
System.out.println(" Constructeur 2 de B ");
}
}