跳到主要內容

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

關於 Objective-C 的基本功

就在 iPhone 開創了智慧型手機軟體市場後, 市面上出現了很多關於 iPhone 平臺的開發教學書籍. 但是, 關於 iPhone 使用的程式語言 Objective-C 的書呢? 這種練基本功的書籍卻是少得可憐. 而龜毛如我, 只曉得怎麼使用 Cocoa framework, 卻不曉得基礎程式語言怎麼運作, 老是覺得渾身不自在. 就在打算入手 "Programming in Objective-C 2.0" 這本英文書的同時... 我發現 => 中文版出了!!!! 這對要使用 Objective-C 來寫程式的我, 無疑是一種福音. 無論是在價格上, 或使用的文字上. XDDD~