Подтвердить что ты не робот

Почему первые четыре байта формата файла класса Java CAFEBABE?

Почему первые четыре байта формата файла класса Java CAFEBABE? Кто его назвал?

Ваши взгляды/догадки?

Источник: IBM Java Programing Dynamics

4b9b3361

Ответ 1

Джеймс Гослинг, отец языка программирования Java, однажды объяснил это следующим образом:

Насколько я знаю, я виноват в этом. Я совершенно не знал о подключении NeXT. Небольшое количество интересных слов HEX, вероятно, является источником матча. Что касается вывода использования CAFEBABE в Java, это несколько обходное:

Мы обычно ходили на обед в местечке под названием Сент-Майкл-Элли. Согласно местной легенде, в глубоком темном прошлом, Grateful Dead обычно выступали там, прежде чем они сделали это большим. Это было довольно забавное место, которое, безусловно, было Grateful Dead Kinda Place. Когда Джерри умер, они даже выставили маленькую буддийскую святыню. Когда мы ездили туда, мы называли это место как Cafe Dead.

Где-то вдоль линии было замечено, что это номер HEX. Я повторно перепечатывал некоторый код формата файла и нуждался в нескольких волшебных числах: один для постоянного объектного файла и один для классов. Я использовал CAFEDEAD для формата объектного файла, а в grepping для четырехзначных шестнадцатеричных слов, которые соответствуют после CAFE (это была хорошая тема), я нажал на BABE и решил использовать его.

В то время это не казалось ужасно важным или суждено было пойти куда угодно, кроме мусорной корзины истории. Таким образом, CAFEBABE стал форматом файла класса, а CAFEDEAD - постоянным форматом объекта. Но объект постоянного объекта ушел, а вместе с ним пошел на использование CAFEDEAD - он был в конечном итоге заменен на RMI.

Источник:

Несколько связанных ссылок

Ответ 2

В соответствии с: http://en.wikipedia.org/wiki/Class_(file_format)

Файлы классов идентифицируются следующим 4-байтным заголовком (в шестнадцатеричном формате): CA FE BA BE. История этого магического номера была объяснена Джеймсом Гослингом:

Мы обычно ходили на обед в местечке под названием Сент-Майкл-Элли. Согласно местной легенде, в глубоком темном прошлом, Grateful Dead обычно выступали там, прежде чем они сделали это большим. Это было довольно забавное место, которое, безусловно, было Grateful Dead Kinda Place. Когда Джерри умер, они даже выставили маленькую буддийскую святыню. Когда мы ездили туда, мы называли это место как Cafe Dead.

Где-то вдоль линии было замечено, что это номер HEX. Я повторно перепечатывал некоторый код формата файла и нуждался в нескольких волшебных числах: один для постоянного объектного файла и один для классов. Я использовал CAFEDEAD для формата объектного файла, а в grepping для четырехзначных шестнадцатеричных слов, которые соответствуют после "CAFE" (это казалось хорошей темой), я нажал на BABE и решил использовать его. В то время это не казалось ужасно важным или суждено было пойти куда угодно, кроме мусорной корзины истории. Таким образом, CAFEBABE стал форматом файла класса, а CAFEDEAD - постоянным форматом объекта. Но объект постоянного объекта ушел, а вместе с ним пошел на использование CAFEDEAD - он был в конечном итоге заменен на RMI.

Другая история: http://radio-weblogs.com/0100490/2003/01/28.html