ラベル Java の投稿を表示しています。 すべての投稿を表示
ラベル Java の投稿を表示しています。 すべての投稿を表示

2009年1月2日金曜日

久々のJava

久しぶりにプライベートでJavaコードを書いています。

ところが、Java SE 5を前提としたサンプルコードで未知のノーテーションを発見!

for(Folder f : fol.list()){
}

これって、いわゆるPerlやPHPのforeachなんだと思うんですが、Javaでは初めて見ました。ああ、私の知識はJ2SE 1.4で止まっている・・・orz 仕事でJavaのコードを読んでいたのは3年以上前なので、仕方のない事かも知れませんが。。。

それにしても、Javaはまだまだ進化し続ける言語なんですね。あらためて実感しました。

2007年10月13日土曜日

OracleがBEAに買収提案!?

The benefit to BEA of an Oracle buyout

えー、OracleがBEAに買収提案だそうで。
$6.67 billion in cashだから、今のレートでは約7,800億円の現金での買収提案となります。

この記事でも言っている様に、元々Web Application Serverという「インフラ」を主力製品としてきたBEAには、その将来について不明瞭な点があったことは否めないところで、そういう意味で単なるRDBMSベンダから脱却してトータルなパッケージベンダーになろうとしているOracleにはより実用的なソフトウェアのスタックがあり、その基盤としてこの分野のデファクトで実績も多数あるWebLogicを取り込むことで、より明瞭な未来が描けるだろうということは私も同意です。

Web Application Server界では、キングのWebLogicを追いかけてIBM WebSphere、Oracle Application Server、Sun ONE Application Server、JBoss、ColdFusion、WebObjectsあたりが戦いを仕掛けましたが、結局生き残ったのはWebSphereとJBoss位なのかなあといった感想です。そういう意味で、OAS(=Oracle Application Server)には実績が(比較すると)乏しいし、WebLogicで補完できるのはとても良いことでしょうね。Oracleにとっては。

まぁ、BEAの経営陣がどうするか、注目ですね。

2006年12月12日火曜日

WebLogicと仮想化

BEA、仮想化技術に対応したJava APサーバ「WebLogic Server Virtual Edition」を発表

ぬあ?と思って読んでしまったニュース。
WebLogicが仮想マシン上で直接稼動??何じゃそりゃ???といった感じ。

VMWareにおけるHypervisorの説明(Hypervisor, part of ESX Server virtualization)を読むと、どうやらHypervisorとは仮想化レイヤを抽象化する(<=書いてて「んあんじゃそりゃ!?」と一瞬思う)物らしい。Hypervisorより下にはOSが無く、直接H/Wらしい。

そうすると、ここからは想像だが、WebLogic Server Virtual Editionのスタック構造は以下の様になると思われる。
  1. WebLogic Server (Java based middleware: 以下WLS)
  2. JRockit (Java VM)
  3. Liquid VM (a replacement of a normal VMWare's virtual machine)
  4. VMWare Hypervisor
  5. H/W

まぁ、仮想化云々はとりあえず置いておくと、この構図が真だとすれば、以下の等式が成り立つ様な構造が出来上がることになる。

WLS + JRockit + Liquid VM = Applications + OS + VMWare VM

つまり、WLS Virtual Editionはある仮想化された空間で唯一稼動するプロセスであり、その中でJavaのスレッドが動作することになる。イメージとしては、シングルプロセス内に複数のタスク(要するにスレッド)が稼動するμITRONアプリケーションみたいな感じだろうか。

ん?本当か?

ただ、理論的に上記のやり方を行うメリットは裏付けることが出来ると思う。

まず、WLSをVMWare VM上のOS内で稼動させると、WLSはJava VM上で稼動しかつJava VMは1つのプロセスとして稼動するから、OS内で発生するプロセススケジューリングによるコンテキストスイッチ、それに伴うパフォーマンス劣化が避けられない。

しかし、WLS Virtual Editionでは、WLS及びそこに搭載された全てのアプリが単一プロセスとして動作し、スレッド切り替え時にもコンテキストスイッチは発生しない。従って、WLS上で稼動するアプリのパフォーマンスは、確実に上がると思われる。

なるほど。確かに面白いかも知れない。

# VMWare ESX Serverについて知れたのも収穫