跳到主要內容

Mac OS X, Java 與 Safari

由於這幾天在 Apple 釋出 JDK 1.6.0_13 的更新後, 我就一直在 NetBeans 上練習撰寫 JavaFX 這個全新的技術.
在一個偶然的情況下, 我發現我的 NetBeans 是以 64-bit 執行, 其實這也沒什麼好奇怪的, 因為 OS X 底下的 Java SE 6 並沒有 32-bit 的版本, 忽然間我想到一個重要的問題, 那依附在瀏覽器的 Java Plug-in (用於執行網頁中的 Java Applet) 是跑哪個版本!?
接著, 我開始實驗到底 Safari 4 會是使用哪個版本的 Java Plug-in, 於是我來到 Sun 所提供的 JVM 測試網頁 進行測試, 沒想到測出來的版本是 1.5.0_19, 這個結果太出乎我的意料了, 我的臉差點沒垮了下來 =口=. 因為實際上在我的 Java 環境設定中, 已經設定以 Java SE 6 為最優先選擇, 但沒想到 Safari 4 最後卻是跑了舊版.


[設定成以 64 bit JDK 6 運作的 NetBeans]


[出乎我預期以 1.5.0_19 版 Java Plug-in 為 JVM 的 Safari 4]


[預先在設定 Java 環境優先使用 Java SE 6]

看到這樣的結果, 我不禁納悶了起來, 這到底是怎麼回事? 其實道理再簡單不過, 因為 Safari 4 目前是 32-bit 的版本!!! 在 32-bit 的主程式中怎麼可能可以運作 64-bit 的外掛呢!? 事實上也證明, 64-bit 的 Java SE 6 的確沒辦法在 Safari 4 中運作.
然後... 腦中忽然閃過了一個念頭, 那如果換成 64-bit 的瀏覽器呢!? 經過一番搜尋, 我在美國的 Oak Ridge National Laboratory 所發佈的 Mac OS X Utilities 中找到了一個可以在 OS X 下測試 Java SE 6 的瀏覽器-Browser 64. 安裝完以後, 接著就是測試!!!!!

結果很明顯的, 如果在 64-bit 的瀏覽器下, 的確是可以使用 Java SE 6 的, 也證明了自己先前的推論是正確的.

換成 Java SE 6 以後, Loading 畫面終於變得和其它平臺的版本相同了.

接著進行性能的測試, 以 Safari 4 為比較基準, 測試 JavaFX Sample 網頁中的 質數運算 範例, 在 1.5.0_19 版為核心的 JavaFX, 純 JavaFX Script 花了 0.735 秒, 以多執行緒運算時花了 0.394 秒, 而以 Safari 4 內建的 JavaScript Engine-Nitro 執行 JavaScript 時花了 2.599 秒.

而以 Browser 64 跑時又是如何呢? 在以 1.6.0_13 為核心的 JavaFX, 純 JavaFX Script 花了 0.543 秒, 多執行緒時花了 0.288 秒, 而 Browser 64 的 JavaScript 運算則耗費了 2.935 秒.

在以上的測試中 Java SE 6 真的比 Java SE 5 要好得多, 除了我主觀的認為在 JVM 載入的時間有改善之外, 運算性能也有大幅提升. 另外, Safari 4 的 Nitro 性能的確不錯, 勝過了 Browser 64, 但 JavaScript 比起 JavaFX, 還是遜色太多, 也因此對於跨軟體及硬體平臺的 JavaFX 的未來, 我充滿了期待.
經過這次的測試, 也讓我更期待 Snow Leopard 的更新, 因為在一個非純 64-bit 的作業系統下, Java SE 6 的表現都可以如此優異, 那到了純 64-bit 的系統下的表現應該會顯得更好. 至於 Safari 4 何時能執行 Java SE 6? 也只能等到 Snow Leopard 上市了.

附帶一提, 在 Snow Leopard 的 SPEC 中提到, Snow Leopard 中將會有 完整的 JDK, 到底有多完整, 我們就拭目以待吧!!

留言

匿名表示…
你!你!你!




久 不 見


跟你say Hi !

阿刃寫道…
我我我!!!
真的好久不見耶
身子還好嗎!??
希望... 你都健康都過得很好喔^^
匿名表示…
換我踏上軍路旅程了

我考上自願役

整天頂著小平頭亂晃

快升士官拉 XD


你! 你! 你!

心情調適的OK吧@@

希望上天能保佑你爺爺! 加油
阿刃寫道…
老天喔... 你去當兵喔!?
所以我這下士還比你大就是了 XD
我還 OK 啦

我也希望爺爺可以更好 ^^
謝謝有你的祝福~

這個網誌中的熱門文章

引數?! 參數??!! 什麼鬼啊!!

我想這個不僅是只有我會遇到的問題, 大概也是所有 Programming 的人都有的疑惑 (應該是吧?) 什麼引數?? 什麼參數?? 天啊... 到底是誰翻譯的呀!!!! 就字面上來看... 講句實在話, 我真的不了解, 大概是學藝不精所致. 也許有些人認為 => 管它那麼多!! 寫得出來就好了!! 不過龜毛如我, 我還是想搞清楚定義是什麼!

世界第一! 臺灣的驕傲! iPod 全球最貴 XD!!??

2009 年 9 月 10 日 凌晨 1 點鐘, Apple 於美國舉行了 Apple Special Event September 2009 . 先說點題外話, 這場演說對 Apple 迷而言, 是久違的一場, 也不知道還能有幾場像這場一樣, 由 Steve Jobs 親自站臺. 這場演說的主題, 除了 iTunes 9, iPhone (iPod touch) OS 更新為 3.1 外, 就是 iPod 產品線的更新. 在看完發表會之後, 我去研究了一下新 iPod 的全球售價, 這也是這篇文章的重點, 蘋果臺灣的定價創下了新的紀錄- 套用一下最近常聽到的 Slogan 世界第一, 臺灣的驕傲, iPod 全球最貴!!??

關於 Polymorphism! 是的, 就是多型!

這幾天真的是寫了好多關於程式基礎的東西, 今天心血來潮想寫個物件導向的特性 - Polymorphism. 是的, 你沒看錯, 就是多型. 多型, 這有什麼好寫的呀? 每本物件導向的書籍, 不管是程式語言或是方法論, 一定都會提到的基本特性. 去書局翻翻就有了, 甚至在網路上搜尋 “物件導向” “多型”, 就可以找到讀也讀不完的資料. 在這老調重彈, 似乎有點... 多餘? 會想把這個議題拿出來講, 關鍵就在於我發現 Objective-C 上的多型, 和我以前認識的不太一樣, 更加 Powerful.