跳到主要內容

發表文章

目前顯示的是有「Java」標籤的文章

OS X Lion 與 Java SE 7

自 Apple 釋出將停止自行實作 Java SE 的消息後,Oracle 就宣佈會和 Apple 密切合作,以維持在 OS X 上 Java 程式的運作。但目前實際由 Oracle 著手開發的版本為 Java SE 7,於 JDK 7u4 正式釋出 OS X 版,而原先的 Java SE 6 仍由 Apple 維護。就在 OS X 即將邁入下個世代 Mountain Lion 的前夕,Oracle 釋出的 JDK for OS X 也邁入 1.7.0u5。 的確,如同當初 Apple 所期望與 Oracle 所承諾的,JDK 7 版本的維護與釋出終於和其它平臺一致。這真的令人欣喜,意味在其它平臺所編譯的 Java 程式,隨時可以拿到 OS X 來執行,不會再有 OS X 上 Java 版本比較舊的情形。 但是實際的品質呢? Swing 不穩定且有 BUG。

Hello EJB 3.1!!

EJB 全名 Enterprise JavaBean,在 Java 平臺版圖中屬於 Java EE 的範疇,EJB 3.1 則包含在 2009 年 12 月 9 日 發佈的 Java EE 6 [1] 中。雖然 Java EE 6 已經發佈有一段時間了,截至目前為止能完整支援的只有 GlassFish [2],不過這是現在進行式,我相信很快就會有各廠的支援。 Java EE 平臺有許多不同功能的套件,如:負責商業邏輯的 EJB、負責訊息服務的 JMS、負責顯示的 JSF... 等。在 EJB 3.0 後,除了提供新特性,更改進開發流程,原本必須使用 XML 進行設定的繁複作業,改以 Annotations 簡化。更多資料可參考 Wikipedia - Java EE  和  Wikipedia - EJB 。 GlassFish 原為 Sun 發佈的 Open Source 專案,後來 Sun 被 Oracle 併購,現為 Oracle 所擁有。目前完整支援 Java EE 6 的平臺僅有 GlassFish,其它 Server,如:JBoss、WebLogic 僅有部份支援。

Pointer 之雖然我搞不定你但你到底能幹嘛?

Pointer 就是指標! 噗~ 那指標呢? 就是 Pointer! 囧rz... 這就是 Pointer 給我的感覺, 間接來間接去, 永遠搞不懂到底指去哪裡了. 以上只是還不習慣使用 Pointer 的我的無病呻吟. 回歸正題, Pointer 的目的是什麼? => 讓 Programmer 能夠跨 Function or Method 去存取共同的記憶體空間. 那記憶體空間裡頭放的是什麼? 最普遍的就是 Primitive Data Type 的資料, 但 Pointer 是很 Powerful 的! 看些範例吧!

Pointer 之不是我排擠你而是我搞不定你!

學習 C 的過程中, Pointer 這個章節對我來說是個無法抹去的痛. 也許是我領悟力太差, 又或許是練習不夠, 我始終無法說服我自己 Pointer 的概念是很自然的. 在 Java 中, 不會操作到指標, 也沒有操作指標的方法. Primitive Datatype 就是傳數值, Object Datatype 就是傳位址. 雖然骨子裡頭, 物件的操作一樣是使用指標傳遞位址, 但是看不到指標卻是如此的神清氣爽. 在 Objective-C 裡就不是這麼一回事了. Pointer 又回來了. 沒辦法搞定 Pointer 就沒辦法搞定 Objective-C, 不得不, 還是得好好的練習摸索.

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

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

遺忘的... 那段與論文為伍的歲月...

日子久了, 很多事情都會漸漸遺忘... 即便那段日子很辛苦, 腦袋拚命轉動, 依舊抵不過遺忘的現狀... 這幾天為了要準備某軟體廠商面試的 Part2, 重新檢視了碩士論文的系統, 回想整個系統架構及細節時, 除了參考當時寫的論文外, 原始碼也是不得不看的部份. 諸多細節現在思索起來... 真的是有些辛苦...

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

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

BMI Calculator ver 1.2.4

隨著學習 JavaFX 的過程中, 我慢慢的將這隻程式進行改版. 這次更新, 最大的差異就是顏色的配置和採用了語系檔, 當然還有其它的小變動, 捨棄使用 Java Class 改寫成 Pure JavaFX, 畫了 icon 等等. 只是 icon 目前只有在當成應用程式執行時會出現, 透過 Web Start 或 Applet 都沒辦法顯示, 推測是 JavaFX 本身的問題.網路上也沒找到可以支援我解決這個問題的文章, 暫時就只能等囉, 這就是學新技術難免會遇到的問題, 但也讓我看清楚, 距離軟體佈屬的完整性與易用性, JavaFX 還有進步的空間! 固然有語系的支援對開發軟體者或使用者來說都很好, but... 目前支援僅限於 JavaFX Desktop 的 Profile, 換句話說, JavaFX Mobile 尚不支援語系的內建函式 orz... 這個就 囧rz 了. 除了選擇自己利用其它套件寫之外, 好吧... 我這懶人就期待下一版 JavaFX 會有大幅度的 improvement!! Sun & Oracle 加油!!!!! XD

BMI Calculator ver 1.2

隨著 NetBeans 6.7.1 的發佈, NetBeans 6.7 這個平臺正式支援 JavaFX 1.2, 而 NetBeans 6.7 最大的特色就是內建對 Project Kenai 的支援. 那到底什麼是 Project Kenai 呢? 簡單的說, 就是和 Google Code 類似的開放源碼專案代管系統. 但不同的是 Kenai 已經整合在 NetBeans 6.7 之中, 使用者可以直接在 IDE 中進行下載、分享或新增開放源碼專案, 追蹤提報的 bug, 版本控管... 等. Project Kenai 功能請參考 Kenai 功能總覽 , 在 NetBeans 6.7 中的使用方法請參考 NetBeans-Project Kenai 教學 . 當然啦, 有了這麼好一個工具, 不用一下怎麼說得過去, 於是我也把 BMI Calculator 變成了個開放專案, 當然也分享到 Kenai 上啦!! 有興趣的朋友們歡迎來參加這個簡單到不行的專案!!!

BMI Calculator ver 1.1

話說, 雖然接觸 Java 已經很多年了, 剛開始跨足寫 JavaFX 時卻還是像個新人一樣, 所有程式寫在同一個檔案裡頭, 所以趁這幾天比較有空, 重新改寫了 BMI 計算小程式, 噹噹噹~~!!! 1.1 版正式發佈!!!!! 已經嵌在 blog 右方的 1.1 版, 雖然乍看之下並沒有太多不同, 但是整隻程式已經利用簡單的 MVC 架構重新設計 (雖然這隻程式裡頭並不需要 Model). 另外, 還利用了 JavaFX 的 RIA 界面設計強項, 重新改寫了整個使用界面, 最明顯的就是無邊框設計, 可拖拉 Applet [註] 和呈現 BMI 數值時的視覺效果. 到底差異有多少? 自己動手玩玩看就知道囉 ~^___^~ 對於一個全新的技術, 在不熟悉的情況下, 開發的過程中難免撞到牆, 值得慶幸的是擁有過去的程式開發經驗, 這都幫助我能快速的上手.

BMI Calculator ver 1.0

JavaFX - Java 家族的新成員, 由 Sun 所主導的 RIA 技術, 核心技術是 Java, 目的是和其它公司的 RIA 技術對抗, 如: Microsoft 所推出的 SilverLight 和由 Adobe 所主導的 AIR . 既然 JavaFX 核心是 Java, 當然就兼具了跨軟硬體平臺的特性, 安全性高以及程式很小的優點. 不過和其它 Java 家族的成員不同, JavaFX 使用的是 JavaFX Script 這個全新的腳本語言, 對不曾學習過 Java 的新手來說, 可以快速上手, 對 Java 老手則只需要適應不同的語言結構, 其它概念都是相同的. 使用 JavaFX 開發 RIA 最大的優勢, 就是和 Java 平臺的互通性, 在 JavaFX 中可以很輕易的使用 Java 龐大的套件庫, 還有更多關於 JavaFX 平臺的說明, 有興趣可以自行參考官網. 如果要跑 JavaFX 的程式很簡單, 只需要下載安裝 JRE 就可以了, 如果想要開發 JavaFX 的程式. 官方建議使用 NetBeans 進行開發, 記得下載 NetBeans 選擇包含 JavaFX 的版本. 關於種種環境的安裝設定, 這邊就不多說明啦~

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 最後卻是跑了舊版.

Mac OS X, Java 與 NetBeans

自從大學以來 NetBeans 就一直是我撰寫 Java 程式語言的開發工具. 在我轉換作業系統之後, 其實我一直沒有好好研究如何在 OS X 上運作 Java, 趁著今天 Apple 發佈了 Java 的更新, 來寫篇如何在 OS X 上設定 NetBeans. 這次的更新是把 Java SE 的版本由原先的 1.6.0_07 一口氣昇到了 1.6.0_13, 或許熟悉 Java 的人會覺得, 這在其它作業系統不是早就有了!? 但因 Mac OS X 上的 Java 環境是由 Apple 自行維護的, 所以這得看 Apple 對 Java 的掌握與開發進度. 事實上, 這個更新我期待了很久, 因為我一直很想試試在 1.6.0_10 這個重大改版後所新增的跨平臺 Look and Feel-Nimbus.