韌館-LearnHouse

[Java]autoboxing與unboxing

內容來源良葛格學習筆記    (此篇文章僅供站長備份參考用,固為加密文章)
 

在Java中,所有您要處理的東西「幾乎」都是物件(Object),例如您之前所使用的Scanner是物件,字串(String)是物件,您之後還會看到更多的物件。

然而有些是例外,基本(Primitive)資料型態不是物件,也就是您使用int、double、boolean等宣告的變數,以及您在程式中直接寫下的字面常量。

使用Java有一段時間的人都知道,有些時候您需要將基本型態轉換為物件,例如使用Map時,要使用put()方法時需要的是物件而不是基本型態。

您要使用包裹型態(Wrapper Types)才能將基本資料型態包裝為物件,例如在 J2SE 1.4.2 之前,您要如下才能將int包裝為一個Integer物件:

Integer integer = new Integer(10);

J2SE 5.0 之後您可以這麼寫:

Integer integer = 10;

事實上編譯器在背後自動根據您寫下的陳述,為您進行自動裝箱(Autoboxing)動 作,同樣的動作可以適用於 boolean、byte、short、char、long、float、double等基本型態,分別會使用對應的包裹型態(Wrapper Types)Boolean、Byte、Short、Character、Integer、Long、Float或Double。

自動裝箱運用的方法還可以如下:

int i = 10;
Integer integer = i;

 
您也可以使用更一般化的Number,例如:

Number number = 3.14f;

3.14f會先被自動裝箱為Float,然後指定給number。

J2SE 5.0中可以自動裝箱,也可以自動拆箱(Unboxing),例如下面這樣寫是可以的:

Integer fooInteger = 10;
int fooPrimitive = fooInteger;

 
在運算時,也可以自動裝箱與拆箱,例如:

Integer i = 10;
System.out.println(i + 10);
System.out.println(i++);

上例中會顯示20與10,編譯器會自動幫您進行自動裝箱與拆箱,即10會先被裝箱,然後在i + 10時會先拆箱,進行加法運算;i++該行也是先拆箱再進行遞增運算。再來看一個例子:

Boolean boo = true;
System.out.println(boo && false);

同樣的,先將boo拆箱,再與false進行AND運算,結果會顯示false。

2007年9 月 posted by admin in 程式&軟體 and have No Comments

戰國無雙系列之字幕惡搞

這幾天一直覺得這首歌搭配起來很好聽,重複看了N遍了,所以把它拉到前面來

戰國無雙之霍元甲MV版

戰國無雙-星巴克

戰國無雙之誰是導演_第1集

戰國無雙之誰是導演_第2集

戰國無雙之誰是導演_第3集

2007年9 月 posted by admin in 趣味一下 and have No Comments

知識+上的國考資訊

看到這標題,我的好友們會不會有人以為我要考國考了

呵呵!!其實只是因為好奇啦!!而且做個參考也不錯阿!!

不難保哪天我對企業上的總總不順心,或心意改變了

突然想當國家的米蟲了!!厭倦企業的爾虞我詐

多點人生的道路可以選也不不錯的選擇

以下是我轉貼知識+上的資訊 

我是去年的畢業生..因為不知道未來的路該往哪走

所以目前在家裡幫忙 最近開始接觸到有關各種國家考試的事情

覺得自己也許可以考看看 我覺得地方特考的條件比較適合我

我沒有準備過國家考試 所以沒什麼概念

如果從現在開始準備的話 到12月考地方政府特考會太晚嗎************************不會

準備的科目範圍會很多嗎?...****************************是看考何種職系

請給予意見~感激!!

建議你有大專以上考三等好..

不然考上你還會在考ㄉ...因為同工不同酬..........

建議你..用功念就對沒所謂不晚早不早的問題..

我當初花5個月也是考上三等地方特考

以下幫你比較高與地特考的特性

1.在考上後的差異性?2.任職職位有什麼差別?

高考及地方特考三等佔6等1薪約45000

普考及地方特考四等佔-3等1新約34500(順利約工作10年後可考薦任升官等考試)

初考及地方特考五等佔等1新約28900

差很多

1.官職等與薪水

2.行政上的位階

3.主官升遷考量

初考佔書記-----順利5年升辦事員1-3職等

普考佔辦事員----順利10年升辦事員3-5職等

高考佔科員------考上就呆在這個地方等你們啦5-7職等

所以高考的能力夠.舞台夠大.就ㄧ路專員.稽核.科長.專門委員-------------

而初考及格的卻要花16年才能爬到相當位置

3.高考的分級又是什麼?

一級博士畢業佔9等1薪約78500

二級碩士畢業佔7等1薪約56200

三級大專或學士畢業佔7等1薪約46200

4.高考的分級有資格限定嗎?....有**除學歷限制.專門職係限相關科系..如建築]

5.我報補習班應該報哪間比較適合?

6.九華..實力... 志光...翰昇..到底哪間好?*************請去試聽**每個人的需求不一樣**要看各班專業**建築是很專業的

7.補習班的班別分那麼多種?..我是屬於哪一種阿?土木建築類ㄉ專業

8.考上後..是公務員..還是〤〤技師阿?~謝謝 薪水公務員..6等1技士新約46200

懇請在知識網的專家大力幫忙.

所以建議你直接考高考..

不燃就跟我一樣

普考(無綁約.只有前4個月受訓)

及格後工作1年

又再考地特三等(有綁約6年4個月)

*************

[ 地方政府人員特考 ] 會很難考嗎 ?

比高考簡單一些.但算是難.錄取率由0.5-55%都有

大部分會去考的人是哪種社會族群 ? ex : 大學畢業生??

最多是大學.再來是專科.現在碩博士也多了

如果在北部考考上了 , 就是一直在北部工作嗎 ?然後一直做到

想退休是嗎 ?

可以一直到退休

全國共分

1.台灣北區

.2.台灣中區

3.台灣南區

4.台灣東區

5.台北市區

6.高雄市區

7.福建省金門區

8.福建省連江區

9.台灣省澎湖區

9大錄取分發區...

假設..

你考台北縣錄取分發區..

並且高中三等地特土木工程科

分發台北縣鶯歌鎮公所佔建設課薦任六職等技士缺實務訓練薪46200

主辦小型工程之設計.規劃.監工

並於950601報到

那麼

實務訓練期間是

950601-950930(高考/普考/初考只要過了這個時間就自由轉..無限制)

限制前三年不得調離原分發實務訓練機關

就是951001-980930前不能離開鶯歌鎮公所

限制後三年不得離開原錄取分發區(但可在下列北區縣市 之地方機關自由調動)

就是981001-1010930之前不得離開台北縣.桃園縣.新竹縣.新竹市.基隆市.宜蘭縣

我不太懂 .....但我很有興趣呢 !! 謝謝指教 ^^

---------------------------------------------------

-//----------------------------

☼我一直在思考... 以後想從事什麼工作

----公職.是不錯.生活也穩定.你可能會失去夢想與企圖心..

你可能鎮日汲汲營營的為了考績.與同事互不對盤...

或是別人挖坑給你跳--

所以要看你的個姓

如果你沒有強烈的物慾----(免被監商利用.貪污.圖利)

如果你有民胞物與的心念(站在百姓的立場看政策)

如果你知道依法行政.(在法律的立場看行政措施)

如果你可以拿行政倫理..(在公務門中..要修行的課題.開門關門.應對進退都是學問)

如果你能在地方選舉派系中遊刃有餘..(政治雖跟事務官無關.但是..........很難)

如果你清楚蓋下職章的那ㄧ剎那自己該擔負的法律責任.(擬辦時你就要簽好保護自己的字句..........)

如果你能不計較考績年終.職等

那麼你也不計較自己越來越不像自己..

2007年9 月 posted by admin in 文獻參考 and have No Comments

最簡便的備份MySql資料庫方法

為了同步兩個系統的程式與資料庫,因此用phpmyadmin把資料庫匯出成SQL檔

然後在備援Server匯入!!搞了好久的資料庫!!怎麼用都會有亂碼

從所有的環境變數開刀,對照了系統語系、MySQL語系、資料庫資料表、與phpmyadmin設定

都改成相同了可是就是有問題,後來找出原因是因為我太依賴phpmyadmin的匯出功能了

所以導致匯入到另外一個資料時是錯誤的編碼格式

以下是用mysqldump所匯出來的資料庫備份時所可以用的選項

其實說穿了只是用--help可以看到的所有選項參數

不過以下這篇的選樣說明是中文的,給有需要的人參考看看吧!!

使用MYSQL進行資料庫備份,有很正規的資料庫備份方法,同其他的資料庫伺服器有相同的概念,但有沒有想過,MySQL會有更簡捷的使用檔目錄的備份方法,而且又快有好。  
 
一、資料備份捷徑  
 
因為這個方法沒有得到官方正式文檔的驗證,我們暫稱為試驗吧。  
 
目的:備份hostA主機中一個mysql資料庫TestA,並恢復到到hostB機中  
 
試驗環境:  
 
作業系統:WinNT4.0,Mysql3.22.34,phpMyAdmin 2.1.0  
 
在hostA中安裝mysql資料庫並建立TestA資料庫  
 
hostB機安裝mysql資料庫,沒有TestA資料庫  
 
方法步驟:  
 
啟動phpMyAdmin察看HostA和HostB中的資料庫列表,在HostB中沒有TestA資料庫  
 
找到HostA中mysql的安裝目錄,並找到資料庫目錄data  
 
在我的試驗環境中,這個目錄是  
 
C:mysqldata  
 
找到對應資料庫名稱的子目錄  
 
C:mysqldataTestA  
 
粘貼拷貝到HostB的Data目錄下,是HostA同HostB Mysql資料目錄下的檔相同  
 
刷新HostB的phpMyAdmin察看一下資料庫列表,我們看到TestA已經出現,並且作查詢修改等操作都正常,備份恢復恢復成功  
 
試驗結論:Mysql的資料庫可以通過檔形式保存,備份,恢復只要將相應檔目錄恢復即可,無需使用其他工具備份。  
 
二、正規的方法(官方建議):  
 
導出要用到MySQL的mysqldump工具,基本用法是:  
 
          

代碼:
mysqldump [OPTIONS] database [tables]  


 
如果你不給定任何表,整個資料庫將被導出。  
 
通過執行mysqldump --help,你能得到你mysqldump的版本支援的選項表。  
 
注意,如果你運行mysqldump沒有--quick或--opt選項,mysqldump將在導出結果前裝載整個結果集到記憶體中,如果你正在導出一個大的資料庫,這將可能是一個問題。  
 
mysqldump支援下列選項:  
 
--add-locks  
 
在每個表導出之前增加LOCK TABLES並且之後UNLOCK TABLE。(為了使得更快地插入到MySQL)。  
 
--add-drop-table  
 
在每個create語句之前增加一個drop table。  
 
--allow-keywords  
 
允許創建是關鍵字的列名字。這由在列名前面加表名的方法做到。  
 
-c, --complete-insert  
 
使用完整的insert語句(用列名字)。  
 
-C, --compress  
 
如果客戶和伺服器均支援壓縮,壓縮兩者間所有的資訊。  
 
--delayed  
 
用INSERT DELAYED命令插入行。  
 
-e, --extended-insert  
 
使用全新多行INSERT語法。(給出更緊縮並且更快的插入語句)  
 
-#, --debug[=option_string]  
 
跟蹤程式的使用(為了調試)。  
 
--help  
 
顯示一條幫助消息並且退出。  
 
--fields-terminated-by=...  
 
--fields-enclosed-by=...  
 
--fields-optionally-enclosed-by=...  
 
--fields-escaped-by=...  
 
--fields-terminated-by=...  
 
這些選擇與-T選擇一起使用,並且有相應的LOAD DATA INFILE子句相同的含義。  
 
LOAD DATA INFILE語法。  
 
-F, --flush-logs  
 
在開始導出前,洗掉在MySQL伺服器中的日誌檔。  
 
-f, --force,  
 
即使我們在一個表導出期間得到一個SQL錯誤,繼續。  
 
-h, --host=..  
 
從命名的主機上的MySQL伺服器導出資料。缺省主機是localhost。  
 
-l, --lock-tables.  
 
為開始導出鎖定所有表。  
 
-t, --no-create-info  
 
不寫入表創建資訊(CREATE TABLE語句)  
 
-d, --no-data  
 
不寫入表的任何行資訊。如果你只想得到一個表的結構的導出,這是很有用的!  
 
--opt  
 
同--quick --add-drop-table --add-locks --extended-insert --lock-tables。  
 
應該給你為讀入一個MySQL伺服器的盡可能最快的導出。  
 
-pyour_pass, --password[=your_pass]  
 
與伺服器連接時使用的口令。如果你不指定“=your_pass”部分,mysqldump需要來自終端的口令。  
 
-P port_num, --port=port_num  
 
與一台主機連接時使用的TCP/IP埠號。(這用於連接到localhost以外的主機,因為它使用 Unix套接字。)  
 
-q, --quick  
 
不緩衝查詢,直接導出至stdout;使用mysql_use_result()做它。  
 
-S /path/to/socket, --socket=/path/to/socket  
 
與localhost連接時(它是缺省主機)使用的套接字檔。  
 
-T, --tab=path-to-some-directory  
 
對於每個給定的表,創建一個table_name.sql檔,它包含SQL CREATE 命令,和一個table_name.txt檔,它包含資料。 注意:這只有在mysqldump運行在mysqld守護進程運行的同一台機器上的時候才工作。.txt檔的格式根據--fields-xxx和-- lines--xxx選項來定。
 
-u user_name, --user=user_name  
 
與伺服器連接時,MySQL使用的用戶名。缺省值是你的Unix登錄名。  
 
-O var=option, --set-variable var=option  
 
設置一個變數的值。可能的變數被列在下面。  
 
-v, --verbose  
 
冗長模式。列印出程式所做的更多的資訊。  
 
-V, --version  
 
列印版本資訊並且退出。  
 
-w, --where='where-condition'  
 
只導出被選擇了的記錄;注意引號是強制的!  
 
"--where=user='jimf'" "-wuserid>1" "-wuserid<1"  
 
最常見的mysqldump使用可能製作整個資料庫的一個備份:  
 
          

代碼:
mysqldump --opt database > backup-file.sql  


 
但是它對用來自於一個資料庫的資訊充實另外一個MySQL資料庫也是有用的:  
 
          

代碼:
mysqldump --opt database | mysql --host=remote-host -C database  


 
由於mysqldump導出的是完整的SQL語句,所以用mysql客戶程式很容易就能把資料導入了:  
 
          

代碼:
mysqladmin create target_db_name  
 
mysql target_db_name < backup-file.sql  


 
http://tech.ccidnet.com/art/1105/20050804/303341_1.html
http://ria.richtechmedia.com/category/phpmysql/

 

 

 

2007年9 月 posted by admin in Linux and have No Comments

劉德華Andy Lau Everyone is NO.1


 

一部好MV分享給大家,裡面有一句話我很認同

凡事不要問能不能

成功秘訣在於你肯不肯 

大家也一起加油吧!! 

2007年9 月 posted by admin in 影視娛樂 and have No Comments

購買的筆記型電腦Acer TraveMate 5710G

折騰了好久,也去台南的資訊展和北門路上的店家比較了好久

一直都沒有滿意的價錢與機型,當初網路上看不錯的機種

實際看卻與圖片上有出入,雖然說不會差太多,但14.1吋跟15.4吋的螢幕真的有差

畢竟我是要長時間使用的,所以我不希望螢幕是小小的,讓眼睛看起來很吃力 

在這裡提供官方的驅動程式連結 

後來我選擇了Acer TraveMate 5710G這款,以29900元購入

 

產品特色
  • 新形鎂鋁合金設計,散熱佳
  • 獨家硬碟保護裝置,保全重要資料
  • 搭載新一代雙核心處理器,效能更高
  • 作業系統 Windows Vista™ Home Premium
    處理器 Intel® 迅馳® 雙核心處理器技術:
    處理器:
    Intel® Core™ 2 Duo 雙核心處理器T5500 或以上(2MB L2 快取記憶體,1.66GHz或以上,667MHz系統匯流排),支援Intel® Extended Memory 64 Technology (EM64T)
    晶片組 Mobile Intel GM945GM/PM Express(視機種而定)
    記憶體 1GB DDR2 667系統記憶體或更高,可在雙soDIMM插槽擴充至4GB
    支援雙通道功能(兩個soDIMM插槽同時使用時)
    螢幕尺吋 15.4吋 WXGA寬螢幕彩色液晶顯示器與16.7百萬色彩解析度 1280 x 800,並支援Acer GridVista技術可同時顯示多重視窗
    顯示晶片 Mobile Intel GM945GM 搭配3D整合式Intel Graphics Media Accelerator (GMA) 950晶片,最高可使用224 MB視訊記憶體,支援Microsoft® DirectX® 9及PCI Express技術
    或ATI Mobility™ Radeon® X2300-HD 最高 896MB HyperMemory(128MB 實體GDDR2 VRAM)獨立顯示卡,支援Microsoft® DirectX® 9.0,PCI Express
    圖形能力 支援Dual View雙重顯示功能
    支援MPEG-2/DVD 硬體播放能力
    支援 S-video/TV out視訊輸出
    音效 支援Intel® High-Definition audio技術
    內建雙喇叭的Acer 3DSonic立體音效系統
    內建雙麥克風,與MS-Sound相容
    硬碟 120 GB SATA硬碟(含Acer DASP技術)
    光碟機 DVD Super Multi DL燒錄光碟機
    讀: 24X CD-ROM, 24X CD-R,24X CD-RW,8X DVD-ROM,8X DVD-R, 8X DVD+R,6X DVD-ROM DL (double-layer),6X DVD-R DL (double-layer),6X DVD+R DL (double-layer),
    6X DVD-RW, 6X DVD+RW, 5X DVD-RAM
    寫:24X CD-R,10X CD-RW,8X DVD-R,8X DVD+R,8X DVD+RW,6X DVD-RW,5X DVD-RAM,4X DVD-R DL (double-layer),4X DVD+R DL (double-layer)
    讀卡插槽 五合一讀卡插槽,支援MultiMediaCard (MMC),Secure Digital (SD),xD Picture Card,Memory Stick® (MS),Memory Stick PRO(MS PRO)
    網路攝影機 內建Acer CrystalEye 網路攝影機,支援Acer PrimaLite技術
    數據機 內建56K ITU V.92 資料傳真軟體數據機 (含國際 PTT 認證),具備 Wake-on-Ring 功能
    無線區域網路 支援802.11 a/b/g/Draft-N的整合Intel® Wireless WiFi Link 4965AGN連線技術並支援Acer SignalUP InviLink™ Nplify™無線連線技術或支援802.11 a/b/g的
    整合Intel® PRO/Wireless 3945ABG連線技術
    區域網路 內建10/100/1000 Mbps 高速乙太網路,支援ASF (Alert Standard Format) 2.0技術,具備Wake-on-LAN 功能
    藍芽 內建藍芽模組Bluetooth
    尺寸 360(寬) x 267(深) x 30.3/43(高)mm
    重量 2.88公斤(含6 Cell電池)或3.02公斤(含8 Cell電池)
    電源 ACPI 3.0 電源管理標準,支援待機 (Standby) 和休眠 (Hibernation)省電模式
    電池 71W 4800mAH 鋰電池組(8 Cell電池)
    電池使用時間 非獨立顯卡(Intel GMA950)為3.5小時(6 Cell電池) / 獨立顯卡(ATi X2300-HD)為3小時(8 Cell電池)
    變壓器 90W AC 變壓器
    AcerQuicCharge技術 有,充電至80%只需1小時
    關機時快速充電所需時間 電需2小時
    使用中充電所需時間 需3小時
    鍵盤 標準鍵盤 88 / 89鍵Acer FineTouch鍵盤5°弧形設計;反轉式 "T" 型游標設計 ; 2.5 mm (最小) 鍵距
    觸控板 內建觸控板設計,與四向捲軸鍵
    其他功能鍵 12個功能鍵;4個游標鍵;2個Windows專用鍵;熱鍵控制,內建數字鍵組
    輕鬆啟動鍵 Internet 鍵、藍芽啟動鍵、E-mail 鍵、Empowering 鍵及1個使用者自訂啟動鍵
    其他啟動按鈕及指示燈 多功能鍵: Lock,Presentation,Sync鍵
    輸出/輸入介面 1個ExpressCard™/54插槽
    1個Type II PCMCIA CardBus 插槽
    1個五合一讀卡機(SD/MMC/xD/MS/MS Pro)
    4個 USB 2.0 連接埠
    1個IEEE1394 連接埠(4 pin)
    1個紅外線連接埠
    1個外接 VGA 連接埠
    1個S-video/TV out視訊輸出
    1個耳機/喇叭/線路輸出
    1個麥克風/線路輸入插孔
    1個RJ-45 乙太網路連接埠
    1個RJ-11 數據機連接埠
    AC 變壓器用的DC-in 直流電源接頭

    買回來當然就是要試用一下內建的Vista了,所以就隨便摸摸了幾個Vista的功能

    再來就開始用Acer提供的軟體程式備份出廠預設光碟驅動與應用程式光碟

    畢竟目前Vista還沒有很穩定,據說很多程式都還不相容

    所以就把他灌回XP了,在安裝的過程中,發現硬碟竟然找不到

    原來是因為SATA硬碟的關係,當初XP作業系統出來時還沒有SATA這種東西

    因此就自己做了一片整合SATA驅動程式的XP光碟,本來是不用這麼麻煩

    因為通常只要把SATA的驅動程式放到軟碟就可以了

    但我這台比電沒有軟碟機,我也不知道要向誰要,所以就自己做一片整合SATA驅動的XP

    也是忙了一個晚上,邊忙時因為要做映像檔,還要燒錄,所以有好一段時間空等

    剛好網頁上說洋基要大戰紅襪隊,王建銘挑戰16勝,因此就用網路看MLB直撥

    忙到早上五點多,王建銘16勝也入袋了,才把XP灌好

    這時就要下載驅動程式了,想當而然的這台是新設備,XP一個硬體也不認識

    所以全部驅動程式都要抓,而且宏碁也不提供驅動程式和其他任何光碟片

    上官方下載驅動程式時,網頁又慢到不可思議,所以只好慢慢等就跑去睡覺了

    早上莫名的九點多就起來,把其他未完成的工作一步一步的完成

    2007年8 月 posted by admin in 電腦&硬體 and have Comment (1)