Im Mai 1996 arbeitete Bill Venners an seinem zweiten JavaWorld-Artikel The Class File Lifestyle. In comp.lang.java fragte er, warum die ersten vier Bytes jeder Java-Klassendatei 0xCAFEBABE enthalten. Die Magic Number ermöglicht Werkzeugen eine schnelle Prüfung, ob Daten wahrscheinlich zu einer Klassendatei gehören.

Die ersten Antworten beschäftigten sich mit lesbaren Hexadezimalwerten. Rolf Howarth merkte an, dass die Buchstaben A bis F nur wenige Wörter mit Java- oder Kaffeebezug erlauben. Alastair Mayer berechnete den Dezimalwert 3405691582 und hielt eine 32-Bit-Zahl für praktisch und ausreichend unterscheidbar. Er verglich CAFE BABE mit Varianten wie A FAB CAFE, CAFE FACE, CAFE A FAD und A BAD CAFE. Außerdem verwies Mayer auf den Burroughs B6700, der 0xBADBADBADBAD für nicht initialisierten 48-Bit-Speicher verwendete. Später schlug er 0xC0FFEE vor, vollständig als 0x00C0FFEE geschrieben. Liest man die Nullen als O, entsteht OO COFFEE mit einem Bezug zur objektorientierten Programmierung.

Der Thread sammelte weitere Beispiele für lesbare Hexadezimalwerte. David N. Smith erinnerte sich an einen S/360-Core-Dump, in dem ein unzulässiger Gleitkommawert zufällig mit 0xBAD begann. Paul Snively nannte 0xDEADBEEF als etablierten Platzhalterwert aus The New Hacker’s Dictionary. Für die Fehlersuche auf dem Macintosh erwähnte er außerdem Speicherstelle 0, NIL! und 0x50FFC001. Vivian Man Cheng kannte 0xCAFEBABE aus NeXTSTEP-Fat-Binaries, die Binärdateien für verschiedene Prozessoren bündelten. David Harvey-George verband 0xFEEDFACE mit Motorola und 0xCAFEBABE mit Intel. James Lynn vermutete einen möglichen Bezug zu einem Kaffeehaus und nannte CAFEBEEF sowie DEADCAFE. Lee Crocker erinnerte an IBM-Systeme mit 0xDEADBEEF. William Halchin berichtete, dass AIX auf RS6000 0xdeadbeaf für nicht initialisierten Speicher verwendete.

Patrick Naughton lieferte am 26. Mai 1996 die Antwort. Der Wert war gewählt worden, bevor der Name Java für die Sprache verwendet wurde. Das Team suchte etwas Unterhaltsames, Einzigartiges und leicht Erinnerbares. 0xdeadbabe war der zweitplatzierte Kandidat. Der Bezug zum Kaffee bei Peet’s Coffee war reiner Zufall. Spätere Antworten ergänzten, dass IRIX-Arena-Dateien mit 0xdeadbabe begannen und ein Debugging-Solaris-Kernel freigegebene kmemfree()-Blöcke mit 0xCAFEFEED füllte.