Cd Chen's Services

ba ba ba la~~

Java 相關

解決 Apple Mavericks 的 Java 程式無法開啟的問題

今天早上把幾台電腦從 Mac OS X 10.8 升級到 10.9 (Mavericks),發現 Java 相關的應用程式 (Eclipse、...) 等無法透過 Finder 啟動。經過爬文後,解決了這個問題。

解決的方法其實很簡單,請從 Apple 官網下載 Java 1.6 的 JRE / JDK,重新安裝後就搞定了。喔,別忘記,如果您的 Java 程式未經過 Apple 認證,還必須要把「系統偏好設定」的「安全性與隱私」、「允許從以下來源下載的應用程式」改為「任何來源」才行 (如下圖)。

如果有類似問題的朋友,可以試試看。

Java Scan Classes in Packages...

以前若要掃描隸屬於某些 Package 的 Classes,非常的麻煩。很多人都喜歡用 Spring 來解決這個問題,但可能還是要類似這樣做:

Java 鬆綁 (三):利用 ServiceLoader 實作動態載入

在前兩篇文章中,我們看到了如何利用 Java 多型的技巧,鬆綁類別之間的關係;也看到如何透過動態載入的技巧,來鬆綁 Package。不過還不是很完美,至少我是這樣認為。

在「Java 鬆綁 (二):利用 Package 與動態載入徹底鬆綁」這篇文章中,係利用 Class.forName() 這個古老的方法來實作動態載入的功能,個人覺得非常的麻煩且缺乏彈性。比較理想的作法,係利用 Java EE 或者 SpingFramework 提供的 CDI (Contexts & Dependency Injection) 來實作這樣的要求。

不過 Java EE 容器雖然是 Java 世界中的標準,但重量級的執行環境,對於一個小的專案來說,非常的不值得;而 SpingFramework 雖然夠輕量化 (但近期的發展也趨向於重量),但卻不是標準的作法,實作與部署時必須考慮執行的環境中是否提供所需的條件。

Java 鬆綁 (二):利用 Package 與動態載入徹底鬆綁

先前的例子裡,我們利用 Java 多型的技巧,來鬆綁類別之間的依賴關係。但在這個例子裡,變更實作類別時,還是需要重新編譯程式,還是不夠方便!!

有沒有更棒的方法呢??

有的。

Java 鬆綁 (一):利用多型鬆綁類別的依賴關係

在學習 OO 的過程中,很多前輩先進都會強調「鬆綁」的原則。所謂的鬆綁,就是把元件與元件之間依賴關係降到最低。鬆綁之後可以讓我們未來維護與擴充功能時,能夠更加的方便。為達成鬆綁原則,會充分利用 OOP 語言本身提供的機制來實作之,以 Java 為例,我們會利用多型來完成鬆綁的效果。

例如:我需要寫一個打招呼的程式,沒有考慮鬆綁原則時,可以這樣寫:

package org.cdchen.serviceloaders.apps;

public class SayHelloMain {
	public static void main(String[] args) {
		System.out.println("Hello to cdchen.");
	}
}

這樣的寫法非常的直接與單純,但卻產生了一個問題:如果以後要改用其他方式打招呼,就得重新修改程式,並且重新編譯才行。為此,我們可以考慮這樣做:

甲骨文以 74 億美元併購昇陽

剛剛在 FrostyPlace 看到「甲骨文以 74 億美元併購昇陽」這篇新聞,讓我著實嚇了一跳!!

前陣子 IBM 打算併購 Sun Microsystem,最後以不了了之收場。原以為這場風波就此停歇,沒想到,卻半路殺出 Oracle 下海收購 Sun!! 這下子有趣了,未來電腦世界會有什麼發展,就令人好好思考了。

甲骨文以 74 億美元併購昇陽」完整的報導如下:

前陣子 IBM 與昇陽的購併案胎死腹中,當分析師以為這後面還有纏鬥續曲,就地喊價還價之際,結果半路殺出程咬金!甲骨文 Oracle 與昇陽日前宣布將簽下合約進行併購程序,甲骨文將以每股 9.5 美元現金方式收購昇陽股票,總交易額將達 74 億美元。

甲骨文執行長 Larry Ellison 表示昇陽的 Java 對甲骨文來說有大助益;此外他也稱讚昇陽 Solaris 是市面上最好的 Unix 。看來甲骨文所在乎的主要是昇陽的軟體技術,而不是硬體。

Eclipse 3.4 常用的 Plugins & Update Sites

最近將用了許久的 Eclipse 3.3 換成了最新的 Eclipse 3.4,發現有許多的 Plugin 不好找。剛剛挖到「整理一些eclipse 的plug-in跟update site」,整理了幾個常用的 Plugins 的位址,收集起來,供日後參考。

You are here