Hatena::ブログ(Diary)

Mysaifu JVM - Windows Mobile用Java仮想マシン - 作成記 このページをアンテナに追加 RSSフィード

Windows Mobile用JVM Mysaifu JVM 公開中 English page

2011-03-03

[]iPod touch

誕生日に嫁さんがiPod touchを買ってくれた。あまりの素晴らしさに感動し、Windows Mobile端末(T-01A)を全く使わなくなってしまった。Pocket Wifiと組み合わせてここ数か月間常時携帯中。

[]Java7のString-switch

iPod touch(というかiOS)が楽しすぎてMac Miniを買ったり、Xcodeでプログラムを書いたり、AppleTVを買ったりしているので、Mysaifu JVMの開発はサボり中。いつの間にかJDK7の開発者プレビュー版が出ているらしい。

http://d.hatena.ne.jp/zinbe/20110303/1299146255

によると、switchのcaseに文字列を指定できるようになったようだ。Java仮想マシン命令が追加されたのかな?と思ったが、どうやら違うらしい。

switch文のこの拡張は、現時点ではJVMには影響を与えません(将来サポートされる可能性はあります)。JVMではswitchを扱う命令としてlookupswitchとtableswitchがあるわけですが、これらは依然として文字列リテラルをサポートしてないということです。ではどうやって比較しているのかというと、コンパイラは文字列をバイトコードシーケンスに変換し、それを比較に利用しているとのことです。

lookupswitch, tableswitchは整数しかサポートしていないので、if文に変換しているということかな?と思って検索したところ・・・

http://hideaki-t.blogspot.com/2010/09/jdk7string-in-switch.html

これを見る限り、switchする文字列のhashCodeをみて分岐するようだ。

caseの文字列は前もってその文字列のHashCodeに置き換えられて、

整数でのswitch/caseで実現できている。

ただ、ハッシュ値はぶつかることがあるので、

分岐した後本当に正しいかどうかequalsでチェックしてさらに分岐させている。

・・・コンパイル時のString.hashCode()の値を使っているということか。String.hashCode()の計算方法はドキュメント化されているので、これでも大丈夫だよね、と思ったが、

http://d.hatena.ne.jp/fd0/20080510/p1

によるとJDK1.2でString.hashCode()の計算方法は変更されているらしい。実行時のStringクラスはJDK7に含まれるものになるはずなので、やっぱりこれでも大丈夫・・・なはず。

スクラム研修

去年の9月ぐらいから、仕事でアジャイル開発を取り入れている。スクラム+XPでやっており、スクラムマスターの真似事をしていたのだが、ちゃんとした知識を身につけるため2日間の研修に参加中。1日目の内容ですでに自分が大きく勘違いしている点があることがわかった。参加してよかった。

2011-02-03

次男が保育園で鬼のお面を作ってきた。

f:id:freebeans:20110203223319p:image

かわいいな。

2010-05-05

[][]PMBを使ってみた

Cybershot HX5Vに添付されているソフトPMBを使ってみた。

写真を取り込むために仕方なくインストールしたのだが、思ったより使い勝手がよい。これからはこれで写真を管理・・・したかったのだが、残念ながらXacti CG65で撮影した動画が再生できない。

最初のコマだけが表示され、音声が流れる静止画となってしまう。*1CG65の動画フォーマットはH.264なので問題なさそうなのだが・・・

まぁソニーのデジカメ用ソフトなのでしょうがないといえばしょうがない。実に惜しい・・・

*1:当然だがHX5Vで撮影したMP4は普通に再生できる

2010-05-04

[][]Cybershot HX5V購入

買ってしまった。

SONY デジタルカメラ Cybershot HX5V ブラック DSC-HX5V/B

SONY デジタルカメラ Cybershot HX5V ブラック DSC-HX5V/B

いろいろ撮ってみよう。

2010-04-26

[]スリープ状態から復帰できない

Windows 7 はまったく問題なく動作している・・・ただ1点を除いて。

スリープ状態から復帰できないのだ。厄介なことに、スリープさせた直後は問題なく復帰するのに、1時間後に復帰させようとすると失敗する。電源は入るが、キーボード、マウス、そしてモニタが応答しなくなるので、リセットするしかなくなるのだ。

なんでかなーと1ヶ月間悩んでいたのだが、どうやらこれが原因であることがわかった。

http://support.microsoft.com/?scid=kb%3Ben-us%3B939334&x=12&y=12

Some LED lights on a USB keyboard do not correctly show whether the keys are on or off after I resume a Windows Vista-based computer from sleep or from hibernation

Windows Vistaについての内容だが、試してみたところ問題が解決した。

1. Click Start, and then click Run.

2. In the Open box, type regedit, and then click OK.

Collapse this imageExpand this image

User Account Control permission

If you are prompted for an administrator password or for confirmation, type your password, or click Continue.

3. Locate the following registry subkey, and then click it:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HidUsb

4. On the Edit menu, point to New, and then click DWORD Value.

5. Type FastResumeDisable to name the new entry, and then press ENTER.

6. On the Edit menu, click Modify, and then type 1 in the Value data box.

7. Exit Registry Editor.

スタンバイに移行した際に必ず出力されていた、以下のシステムログも出なくなった。

前回のシステム電源の切り替え時にプラットフォーム ファームウェアによってメモリが破損しました。システムの最新のファームウェアがないか確認してください。

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
   <Provider Name="Microsoft-Windows-HAL" Guid="{63D1E632-95CC-4443-9312-AF927761D52A}" /> 
   <EventID>12</EventID> 
   <Version>0</Version> 
   <Level>2</Level> 
   <Task>0</Task> 
   <Opcode>0</Opcode> 
   <Keywords>0x8000000000000001</Keywords> 
   <TimeCreated SystemTime="2010-04-26T09:24:25.295120600Z" /> 
   <EventRecordID>47353</EventRecordID> 
   <Correlation /> 
   <Execution ProcessID="4" ThreadID="688" /> 
   <Channel>System</Channel> 
   <Computer>Desktop-PC</Computer> 
   <Security /> 
   </System>
- <EventData>
   <Data Name="Count">1</Data> 
   <Data Name="FirstPage">14</Data> 
   <Data Name="LastPage">14</Data> 
   </EventData>
</Event>

これで快適に使えそうだ。

ディスプレイアダプタを変えた

ついでにディスプレイアダプタを変えてみた。ファンレスでWDDM1.1をサポートしているRadeon HD5450にしてみた。

Windowsエクスペリエンスインデックスはこんな感じになった。

f:id:freebeans:20100424232008p:image

項目NVIDIA GeForce 7300 LEATI Radeon HD5400 Series
グラフィックス3.74.6
ゲーム用グラフィックス3.66.1

PC上でゲームはやらないので、体感速度はまったく変わらない。