2010年8月31日 星期二

Java 執行緒 - wait¬ify

繼上一篇,繼續說明 synchronized 的用法

首先,我們必須分為實體方法與類別方法

實體方法簡單說就是 non-static method,而類別方法就是 static method

其中實體方法可以寫成兩種表示式

1. synchronized void method(){..........}


2. void method(){
           synchronized (this){  //鎖定的是 this, 代表的是這個物件

2010年8月28日 星期六

Java 網路程式 - URL

在 Java 程式裡一切有關網路方面的類別都包含在 java.net 裡面
對於一般我們看到的網址即是 URL,對於 Java 來說可以透過 URL 類別將網址以字串來建立一個物件。

URL sun = new URL("http://java.sun.com");

以上的 http://java.sun.com 我們可以稱之為 "絕對URL",如果要建立"相對URL",說明如下:

譬如今天你寫了一張網頁 MyPage.html,如果在這網頁裡有一些連結可以前往其他頁面
這些頁面都是和 MyPage.html 在相同的主機以及相同的目錄之下
如:MyAlbum.html 和 MyHomework.html(如下)

2010年8月25日 星期三

Hibernate 教學 - 多對一 (Entity Type)

在上一篇談到得是一對多的關連,對於多對一來說

可以想像成一些學生會住在宿舍的同一間房間,

或是一間公司中,會有好幾個員工有同一個上司等等了。

那我還是以上一篇的多對一例子的資料表來實做多對一的關係映射

思考一下多對一的關係,即是很多個學生認得一間寢室

所以在學生 (Student) 類別裡,就必須引用所屬的寢室(Room)

程式如下:

2010年8月21日 星期六

Hibernate 教學 - 一對多 (Entity Type)

接下來會介紹很多關於 O-R Mapping,譬如一對多、多對一、一對一等

其中 在 Hibernate 對於物件的觀點,有分為 Entity type 和 Value Type

這部份我之後再詳細介紹,先來說說物件關係映射 (O-R Mapping)

在這篇要介紹的是 一對多 的關係映射

在日常生活的例子中,一對多就毫比如在宿舍裡,一間寢室有好幾個學生、或是一個使用者會有好幾個信箱。以宿舍的例子為例,我們必須記錄學生和寢室的資料

那資料表的內容及如下:


2010年8月18日 星期三

Java 程式教學

1. 將乘法表由檔案讀入,存放於集合或陣列中
2. 將集合內的元素還原成乘法表的矩陣
3. 將結果列印至螢幕

這是三上 SCJP 的作業
主要是要去讀取一個檔案
裡面存的是一個 n*m 的值(1 &lt= n,m &gt= 9),譬如說:

1 2 3 4 5 6 7 8 2 4 6 8 10 12 14 16 3 6 9 12 15 18 21 24

以上是一個 3*8 的乘法表,每個值中間都會有一個空格

那題目主要是讀取檔案並存入集合或陣列再將每個值還原成 n*m 的格式 

以下是我的程式:

2010年8月17日 星期二

Java 視窗滑鼠事件實作

在任何視窗程式中,都會有很多關於滑鼠的 Event

譬如:按下或放開滑鼠左鍵、右鍵,或是移入某特定區之類的

以下的程式主要是以一個視窗為底

那當使用者滑鼠移入視窗內時會把始窗的背景色換成黃色

並且在左上方顯示進入視窗的位置

如果在視窗內按下滑鼠左或右鍵 會在點擊處印出 DOWN

放開則會在事件發生處印出 UP

當移出視窗時則會將被景色換成白色

2010年8月15日 星期日

Hibernate 教學

今年暑假在學 Hibernate

ㄧ個 J2EE 持久層下的 framework

運用 Hibernate 可以大幅減少 JDBC 的程式複雜度

這也確實拉,起碼我寫到現在能稍微體會了 

以上是從簡化 JDBC 的角度來看 Hibernate,接下來說點更抽象的東西

在一個系統中,商業邏輯層(Business Layer) 中最核心的物件和資料庫中的 table 可並不全然是一對一的對應,而 Hibernate 可以消彌這兩者之間的不對稱

這部份還有很多東西要說,改天再一一介紹,先來說說第一個 Hibernate 的程式


首先要讓你的系統能開發 Hibernate 必須先到官方網站下載