Le samedi 18 janvier 2010, je serai sur scène à Oracle Code One 2019 Report Meeting in Osaka avec le titre "Oss! Oracle Code One". J'ai fait.
Par conséquent, j'ai présenté le contenu de la session "Duke's Star Trek avec Java 12 Code Challenges" comme une session intéressante.
Comme Oracle Code One est une conférence de quatre jours du matin au soir, j'écoute de nombreuses sessions, mais il y a trop de sessions et j'ai toujours du mal à choisir une session. Cependant, en tant qu'amoureux de Star Trek, j'ai fait une réservation presque pas de temps juste en regardant le titre. Le contenu était de présenter les nouvelles fonctionnalités introduites dans chaque version de JDK6 à JDK12 dans un format de quiz à 4 choix, et ce fut une très bonne session qui s'est déroulée avec des diapositives amusantes avec animation.
Lors de la session de débriefing, j'ai présenté certains des quiz que j'ai donnés dans cette session (et l'original que j'ai fait pour complément).
Par exemple, dans l'introduction sur JDK7
public class ShipDoorEp1 implements AutoCloseable {
public void open() { throw new RuntimeException("Fail to open door."); }
@Override
public void close() throws Exception {
System.out.println("Ship door is closed.");
}
public static void main(String... doorMalfunction) {
try (ShipDoorEp1 shipDoor = new ShipDoorEp1()) {
shipDoor.open();
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
System.out.println("The end.");
}
}
}
Si vous exécutez un tel code, ce sera l'un des suivants A, B, C, D. Pour la bonne réponse, consultez le matériel utilisé lors de la séance de débriefing (lien à la fin de l'article).
A) Fail to open door. The end. Ship door is closed.
B) Fail to open door. Ship door is closed. The end.
C) Ship door is closed. Fail to open door. The end.
D) Fail to open door. The end.
Je pense que ce problème est assez simple, mais je vais creuser plus profondément dans la session
public class ShipDoorEp2 implements AutoCloseable {
public void open() { throw new RuntimeException("Fail to open door."); }
@Override
public void close() throws Exception {
throw new RuntimeException("Fail to auto-close door.");
}
public static void main(String... doorMalfunction) {
try (ShipDoorEp2 shipDoor = new ShipDoorEp2()) {
shipDoor.open();
} catch (Exception e) {
System.out.println(e.getMessage());
System.out.println(e.getSuppressed()[0].getMessage());
} finally {
System.out.println("The end.");
}
}
}
Il a également mentionné ces exceptions supprimées. (Veuillez vérifier le matériel pour les options de question et les réponses)
Bien sûr, il y a eu beaucoup d'autres sessions intéressantes en plus de celle-ci, mais cette session m'a le plus impressionné car j'ai pu revenir sur l'historique des mises à niveau de version de JDK6 à JDK12, qui comprenait divers ajouts. J'ai fait.
J'espère pouvoir rejoindre Oracle Code One l'année prochaine et écouter une bonne session.