a cura di Dario Dariol
Questa rubrica affronta il linguaggio Java e la sua macchina astratta JVM. Attraverso un insieme di quiz cercherò di affrontare gli angoli più astrusi, strani, difficili, incomprensibili del linguaggio in modo da conoscerlo di più e quindi poterlo utilizzare meglio. Ogni due mesi proporrò un diverso quiz, darò la soluzione del quiz precedente e discuterò pubblicamente tutti i commenti che mi farete avere (dariol@mokabyte.it) sui quiz passati in modo da sviscerare tutti i lati nascosti di questo linguaggio. 

Le uniche conoscenze necessarie per risolvere i quiz sono relative alla conoscenza del linguaggio e della sua macchina astratta, per cui gli unici riferimenti bibliografici sono:

[1] James Gosling, Bill Joy, Guy Steele, Gilad Bracha: The Java Language Specification, Second Edition,
[2] Code Conventions for the Java Programming Language,
[3] Tim Lindholm, Frank Yellin: The Java Virtual Machine Specification, Second Edition.
Personalmente la percentuale di tempo che dedico a ognuno di questi testi è la seguente: 
[1] 90%
[2]   9%
[3]   1%
I quiz presentati in questa rubrica trattano esclusivamente del linguaggio Java, così non sono richieste conoscenze di applets, servlets, Beans, etc.. Le uniche classi predefinite che possano eventualmente essere utilizzate sono quindi solo quelle appartenenti al package java.lang (classi come ad esempio: Thread, Class, ClassLoader, System, Runtime, etc...). 

Per risolvere i quiz non serve inoltre editare, compilare o testare nessun tipo di codice. Si tratta di quiz mentali che devono essere risolti solo con la testa e non con il computer. Assomigliano quindi di più agli esperimenti mentali (il diavoletto di Maxwell, l'ascensore di Einstein, il gatto di Schrödinger, etc...) che a quelli fisici.

Un brevissimo cenno storico: gran parte di questi quiz arrivano da analoghi test che ho fatto girare tra i miei collaboratori/colleghi/amici appassionati di Java e di linguaggi. Statisticamente ho notato che questi quiz:

  • erano sufficientemente complessi, ma non impossibili (media di risposte esatte del 70%);
  • sono stati un'occasione riuscita per imparare dai propri (e dagli altrui) errori;
  • hanno effettivamente aiutato a scoprire molti errori in reali applicazioni Java sviluppate per il mercato.
Questo mese

L'esercizio di questo mese lo puoi trovare qui
 
 

I quiz precedenti
 
Dicembre 2000 Quiz 1 Thread Soluzione
Gennaio 2001 Quiz 2 Hello World Soluzione
Febbraio 2001 Quiz 3 Passaggio dei parametri in Java e ANSI-C Soluzione
Luglio 2001 Quiz 4 Uso delle costanti in Java Soluzione
Settembre 2001 Quiz 5 Ancora costanti Soluzione
Novembre 2001 Quiz 6 Test and Set Soluzione
Gennaio 2002 Quiz 7 Metodi synchronized Soluzione
Marzo 2002 Quiz 8 Subclassing Soluzione
Maggio 2002 Quiz 9 Goto Soluzione
Giugno 2002 Quiz 10 Interfacce e Classi

 



MokaByte®  è un marchio registrato da MokaByte s.r.l.

Java® è un marchio registrato da Sun Microsystems; tutti i diritti riservati

E' vietata la riproduzione anche parziale
Per comunicazioni inviare una mail a
mokainfo@mokabyte.it