いや、まだだから

やまだの仮想庭園 ~ いつか実体の伴う日まで

目次

Blog 利用状況

記事カテゴリ

書庫

日記カテゴリ

リンク

【Java クラス (1)】 Magic とバージョン番号

久しぶりに某所に顔を出しました。「しらが、増えたねー」と言われました。

しらがさんは増殖しないっ。あと、人を呼び捨てにするのはどうかと思いますよ?

月末です。Rさんに対抗して○敵なやまだです。

ここで突然ですが問題です。

○の中に適当な文字を入れよ(20点)。1.素、2.無、3、不、4.索

 

ここで、前回と同じ画面を貼ってみたりする。

ここに Magic ってなものがあったりするわけですが、Windows 文化な方にはあまりなじみがなかったりする概念ではなかろーかなと。

Java のクラスファイルだと、この Magic に CAFEBABE ってのが格納されています。なんで CAFEBABE かというと、CAFE *1の子供だからですな。*2

*1 ジャワ島のコーヒーから転じて Java はコーヒーを意味する英単語として使われているとのこと。
*2 と、私は聞いておりますが、実際のところ、*1 記載内容含めて諸説があるようです。

あ、ちなみにこの Magic は文字列で書き込まれているわけではありません。16進数表記です。だから厳密には 0xcafebabe と書くべきなのかな。16進表記と言うことはアルファベットはaからfまでしか使えないわけで……まぁ、deadface でなかっただけましかなぁ、ということでw

Windows 環境だと、こういう目的には何かっていうと拡張子が使われているようで、バージョンが換わる都度、拡張子を変えていくワープロソフト、とか『お前はいくつ拡張子を食いつぶすつもりなんだよっ!』とツッコミを入れたくなることも多々あったり。せめて同じソフトの中では、バージョンの違いぐらい内部で判断するようにしたいもんです。

と、いうところでJava のバージョンなんですが、Java のクラスファイルにはしっかり格納されています。なので、Java のクラスファイルであるか否か、そのバージョンはいくつか、ということがわかるようになっています。

Java クラスファイルにおけるバージョン番号は、JDK1.x だったら (44+x).0 という公式になっています。ただし、JDK1.1までは特殊で、45.3 というマイナーバージョン(小数点以下)が入るケースもあったようです。

#最新仕様では、JDKのバージョンがあがる都度、クラスファイル上のメジャーバージョンも増えていく(マイナーバージョンは使われない)ようです。

なぜメジャーバージョンが 45 なんて大きな数から始まっているかというと……、私も理由はしりませんが、Java 前身のOak と名乗っていた頃にメジャーバージョンアップを繰り返していたからではないかと。

なので、Java のクラスファイルは拡張子とかが別物でも、そのファイルを見れば、Java のクラスファイルであることもわかるし、どのバージョン用に作成されたかもわかる仕様になっています。

それなのに、というところで、時間もないので以降はまた別のエントリで。
#って、こんなのに興味持つ人がどれだけいるんだという話が。

投稿日時 : 2010年6月30日 23:26

Feedback

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/01 12:44 かたぎり

つ【天】

しらがっち、ふえたねー♪


# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/02 7:47 やまだ

うわ、難敵現るw

> しらがっち、ふえたねー♪
……わらわらと?

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/06 10:25 Shiraga

つ【天】

菌じゃないし、増えませんっ!
かもすぞー(あれ?)

>>バージョンが換わる都度、拡張子を変えていくワープロソフト
それは、Windowsというよりは、どっかの日本の会社独自のような気がします。

「それなのに、」何だろう?
ということで、次回が気になるひとりです。

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/06 10:26 Shiraga

あうち、出だしミスった(コピペいかんなぁ)

つ【色】
こっちだった。。。。

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/06 22:18 やまだ

> 菌じゃないし、増えませんっ!
ああ、そういえばこの間「某所」にはおられませんでしたねぇ。
#いいかげんに「某所」って書くのやめいっ!w

> かもすぞー(あれ?)
そのせいかっ、私が最近腐ってるのはっw
#腐ってるのは性根なのか、態度なのかは秘密さっ。

> つ【色】
……色敵?
うーむ、なんというか、油断大敵?

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/06 23:28 やまだ

あうち、返信ミスった(ケータイだといかんなぁ)

> それは、Windowsというよりは、どっかの日本の会社独自のような気がします。
とあるバージョンでは、同時に3つ拡張子を食いつぶしましたからねー。
でも、日本の会社だけじゃないですよ。
某有名な表計算ソフトもバージョンによって拡張子が違ったりするし。

>「それなのに、」何だろう?
ということで、次回が気になるのはひとりです?

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/12 13:30 Shiraga

>>ああ、そういえばこの間「某所」にはおられませんでしたねぇ。

ん?どこの事でしょう?

>>某有名な表計算ソフトもバージョンによって拡張子が違ったりするし。
該当が二つ出てくるのですが....。Excel, 1-2-3どっちだろう?
ここら辺になると、歴史の勉強になりそう(^^;

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/13 0:33 やまだ

> ん?どこの事でしょう?
ヒント1.冒頭の台詞を言ったのは片桐さん
さあ、しらがさんと私と片桐さんが出くわす可能性のあるところはどこだっ。
#いや、別に書いても良いんだけど……なんか、きっかけを失ったというか……。
ヒント2.わんくまw
ヒント3.勉強会w
ヒント4.6/5w

> 該当が二つ出てくるのですが....。
厳密にはどっちも、ですね。
前者は最近変わったし、後者は WJ*, WK*, 123 と変わってるし。

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/26 12:51 Shiraga

ヒント2/3がヒントになっていないよーな(^^;

ちなみに、わんくま勉強会はしばらく出てないです。

>>前者は最近変わったし
昔(Win16時代)を調べると、よく判らないのがぼこぼこ出てくるみたいですよ?

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/26 22:31 やまだ

> ヒント2/3がヒントになっていないよーな(^^;
いや、これ以上、思わせぶりなことを書くのもどーかと思ったので(^^;

> ちなみに、わんくま勉強会はしばらく出てないです。
あー、そうだったんですね。私もしばらくブランクあったので、そこまで把握できてませんでしたー。

> 昔(Win16時代)を調べると、よく判らないのがぼこぼこ出てくるみたいですよ?
その辺までくると、アプリ名とかも変わってきませんでしたっけ? ← 調べず書いてるぶしょーもん

で、「それなのに」の続きなんですが……。
#「おいっ、ここで書くのかっ!?」
#「いや、なんかエントリ新たにおこすの面倒になっちゃって。てへっ」
と一人でオチをつけるわたしはやっぱりぶしょーもん。

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/29 12:37 Shiraga

>> ちなみに、わんくま勉強会はしばらく出てないです。
横浜参加申し込みしました。
ほぼ一年ぶりの参加です(最後に参加したのが昨年の横浜だったと記憶してます)。

>#「おいっ、ここで書くのかっ!?」
>#「いや、なんかエントリ新たにおこすの面倒になっちゃって。てへっ」
一人ツッコミは基本です。
多分。
続きをここで書いちゃったら..。月末に「ネタ切れです」エントリが出てきそうな予感がっ!

# 【Java クラス (2)】 ConstantPool (1) 2010/07/31 23:06 いや、まだだから

【Java クラス (2)】 ConstantPool (1)

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/07/31 23:15 やまだ

> ほぼ一年ぶりの参加です
あ、そうだったんですね。私もなかなか顔出ししていなかったので、それまでのふつーに「居る」というイメージがなかなか抜けきらなくて。

横浜かぁ……。行けるかなぁ(ちょっと遠い目)。

> 一人ツッコミは基本です。
原則一人ツッコミは禁止です。……やってて寂しくなってくるから。
だから、ボケには私も頑張ってツッコミを入れているんですけどねー。でも、それでも追い付かない人もいることにはいるんですけどw
今回は、誰もツッコんでくれないともっと寂しくなるので、苦渋の選択……。

> 続きをここで書いちゃったら..。月末に「ネタ切れです」エントリが出てきそうな予感がっ!
それ、いただきました。そのうち使います。
#宣言するなっ!

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/08/03 18:49 Shiraga

>>それまでのふつーに「居る」というイメージがなかなか抜けきらなくて。

そうそう。そのふつーに居るイメージを払拭するために長期不参加を....
#さすがに、そういうことは、ない。

>>それ、いただきました。そのうち使います。
>>#宣言するなっ!
いやー、さきにそのネタを使わせない、という予防線をはったつもりなんですがっ!

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/08/03 23:40 やまだ

> そのふつーに居るイメージを払拭するために

長期不参加者に対しては、意味がありません……。

> いやー、さきにそのネタを使わせない、という予防線をはったつもりなんですがっ!

良いと思ったものは取り入れますっ!

# re: 【Java クラス (1)】 Magic とバージョン番号 2010/08/04 1:03 Shiraga

>>長期不参加者に対しては、意味がありません……。
はっはっは.....。
確かにorz

タイトル
名前
Url
コメント