2 月 7 2012
Eclipse with JDK (Java Developement Kit) 7
這幾天在整理工作用的 laptop 與自己家用的 laptop,順手更新了 Eclipse。
這兩台電腦我都裝了 JRE (Java Runtime Environment) 7 與 JDK (Java Developement Kit) 7,在家裡的網路環境,Eclipse 安裝/更新 plugins 都沒有問題;但在公司的網路環境,卻出現了如下的畫面:
原以為是 Proxy 設定有問題,跳到另外一條線路做直接連線存取,狀況依舊。
檢查了 Windows 7 的網路防火牆相關設定,也看不出個所以然。
最後,我在 Google 找了好一陣子,找到解法:
- 用文字編輯器打開 Eclipse 資料夾裡面的 eclipse.ini 。
- 在
-vmargs
下面加入-Djava.net.preferIPv4Stack=true
。
改過之後的 eclipse.ini 會像這樣:
...略... openFile -vmargs -Djava.net.preferIPv4Stack=true -Dosgi.requiredJavaVersion=1.5 ...略...
3 月 2 2012
MySQL 的 max key length
我曾試著在 MYISAM 格式的 table 裡,把兩個 VARCHAR(255),UTF8 編碼的欄位設定成一組 UNIQUE KEY。
當時遇到這個 Error:
VARCHAR(255) 代表該欄位可以紀錄 255 個字元,每個字元以 UTF8 encoded 儲存,一個欄位可以佔用 765 bytes,所以兩個欄位總和超過 1000 bytes,無法設為一組 UNIQUE KEY。
前陣子,我把 MySQL 從 5.1 系列升版到 5.5 系列。
在 5.1(含)之前,MySQL 使用 3 個 bytes 紀錄 UTF8 encoded data。
開發團隊在 MySQL 5.5.3 加入了 utf8mb4 編碼,用 4 個 bytes 紀錄 UTF8 encoded data,支援更多的文字。
utf8mb4 讓我聯想到 max key length 的問題,所以進行了一些小測試,並追了一下 source code。
從目前的最新版本的 source code 看來:
By Joe Horn • Database 0 • Tags: MySQL