2010年9月22日 星期三
2010年9月18日 星期六
(SQL Server 2008)
SELECT * FROM dbo.T01客戶, dbo.T01員工
執行語法會被自動轉成下面語法,結果16筆
SELECT * FROM dbo.T01客戶 ===> 結果4筆
SELECT * FROM dbo.T01員工 ===> 結果4筆
SELECT * FROM dbo.T01客戶, dbo.T01員工 ===> 結果16筆
SELECT dbo.T01客戶.負責人代號, dbo.T01客戶.客戶代號, dbo.T01客戶.地區代號, dbo.T01員工.員工代號, dbo.T01員工.姓名, dbo.T01員工.部門, dbo.T01員工.職稱
FROM dbo.T01客戶 CROSS JOIN
dbo.T01員工
執行語法會被自動轉成下面語法,結果16筆
SELECT * FROM dbo.T01客戶 ===> 結果4筆
SELECT * FROM dbo.T01員工 ===> 結果4筆
SELECT * FROM dbo.T01客戶, dbo.T01員工 ===> 結果16筆
SELECT dbo.T01客戶.負責人代號, dbo.T01客戶.客戶代號, dbo.T01客戶.地區代號, dbo.T01員工.員工代號, dbo.T01員工.姓名, dbo.T01員工.部門, dbo.T01員工.職稱
FROM dbo.T01客戶 CROSS JOIN
dbo.T01員工
2010年8月18日 星期三
(DB2)修改Decimal
V9後才支援直接修改Decimal長度及精確度
db2 => describe table emp_act
資料類型 直欄
直欄名稱 綱目 資料類型名稱 長度 比例 Null
------------------------------- --------- ------------------- ---------- ----- -
-----
EMPNO SYSIBM CHARACTER 6 0
否
PROJNO SYSIBM CHARACTER 6 0
否
ACTNO SYSIBM SMALLINT 2 0
否
EMPTIME SYSIBM DECIMAL 6 3
是
EMSTDATE SYSIBM DATE 4 0
是
EMENDATE SYSIBM DATE 4 0
是
已選取 6 個記錄。
db2 => alter table EMP_ACT alter column emptime set data type decimal(9,2)
DB20000I SQL 指令已順利完成。
db2 => describe table emp_act
資料類型 直欄
直欄名稱 綱目 資料類型名稱 長度 比例 Null
------------------------------- --------- ------------------- ---------- ----- -
-----
EMPNO SYSIBM CHARACTER 6 0
否
PROJNO SYSIBM CHARACTER 6 0
否
ACTNO SYSIBM SMALLINT 2 0
否
EMPTIME SYSIBM DECIMAL 9 2
是
EMSTDATE SYSIBM DATE 4 0
是
EMENDATE SYSIBM DATE 4 0
是
已選取 6 個記錄。
db2 =>
db2 => describe table emp_act
資料類型 直欄
直欄名稱 綱目 資料類型名稱 長度 比例 Null
------------------------------- --------- ------------------- ---------- ----- -
-----
EMPNO SYSIBM CHARACTER 6 0
否
PROJNO SYSIBM CHARACTER 6 0
否
ACTNO SYSIBM SMALLINT 2 0
否
EMPTIME SYSIBM DECIMAL 6 3
是
EMSTDATE SYSIBM DATE 4 0
是
EMENDATE SYSIBM DATE 4 0
是
已選取 6 個記錄。
db2 => alter table EMP_ACT alter column emptime set data type decimal(9,2)
DB20000I SQL 指令已順利完成。
db2 => describe table emp_act
資料類型 直欄
直欄名稱 綱目 資料類型名稱 長度 比例 Null
------------------------------- --------- ------------------- ---------- ----- -
-----
EMPNO SYSIBM CHARACTER 6 0
否
PROJNO SYSIBM CHARACTER 6 0
否
ACTNO SYSIBM SMALLINT 2 0
否
EMPTIME SYSIBM DECIMAL 9 2
是
EMSTDATE SYSIBM DATE 4 0
是
EMENDATE SYSIBM DATE 4 0
是
已選取 6 個記錄。
db2 =>
2010年8月15日 星期日
2010年8月11日 星期三
2010年8月9日 星期一
Tomcat 7實作功能
Servlet 3.0
JavaServer Pages 2.2
Expression Language (EL) 2.2
ref:
https://blogs.apache.org/foundation/entry/the_apache_software_foundation_announces5
http://tomcat.apache.org/tomcat-7.0-doc/index.html
JavaServer Pages 2.2
Expression Language (EL) 2.2
ref:
https://blogs.apache.org/foundation/entry/the_apache_software_foundation_announces5
http://tomcat.apache.org/tomcat-7.0-doc/index.html
實作Apache mod_rewrite功能
http://www.tuckey.org/urlrewrite/
UrlRewriteFilter is a Java Web Filter for any J2EE compliant web application server (such as Resin, Orion or Tomcat)
在Tomcat 7 和glassfish3跑都成功
其他沒有試過
ref:
http://en.wikipedia.org/wiki/Application_server#Java_application_servers
UrlRewriteFilter is a Java Web Filter for any J2EE compliant web application server (such as Resin, Orion or Tomcat)
在Tomcat 7 和glassfish3跑都成功
其他沒有試過
ref:
http://en.wikipedia.org/wiki/Application_server#Java_application_servers
2010年8月7日 星期六
java.lang.NoClassDefFoundError: antlr/ANTLRException
缺少antlr*.jar
Ex:antlr-2.7.6.jar
該檔案在\hibernate-distribution-X.X.X-Final\lib\required下
Antlr和其他jar檔相比是比較特殊的,他不是函式庫,是個工具程式
利用hql.g hql-sql.g sql-gen.q文件定義了把HQL轉換成SQL的相關解析類
Hibernate的Source Code找grammar資料夾,裡面就有這三個檔案
ANTLR官方網站:
http://www.antlr.org
ref:
http://caterpillar.onlyfun.net/Gossip/HibernateGossip/setUpHibernate.html
Ex:antlr-2.7.6.jar
該檔案在\hibernate-distribution-X.X.X-Final\lib\required下
Antlr和其他jar檔相比是比較特殊的,他不是函式庫,是個工具程式
利用hql.g hql-sql.g sql-gen.q文件定義了把HQL轉換成SQL的相關解析類
Hibernate的Source Code找grammar資料夾,裡面就有這三個檔案
ANTLR官方網站:
http://www.antlr.org
ref:
http://caterpillar.onlyfun.net/Gossip/HibernateGossip/setUpHibernate.html
把字串(String)轉成Date(yyyy-MM-dd)
DateFormat
import java.text.DateFormat;
DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
Date date = dateformat.parse(sDate);
java.sql.Date
import java.sql.Date;
Date date = Date.valueOf(sDate);
import java.text.DateFormat;
DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
Date date = dateformat.parse(sDate);
java.sql.Date
import java.sql.Date;
Date date = Date.valueOf(sDate);
Hibernate設定檔載入順序
properties->xml
兩個都存在,後(xml)蓋前(properties)
xml比properties多了一個功能,就是可以設定要載入哪個mapping檔進來
兩個都存在,後(xml)蓋前(properties)
xml比properties多了一個功能,就是可以設定要載入哪個mapping檔進來
2010年4月21日 星期三
得到資料庫編碼資訊
db2 => get db cfg for sample
資料庫 sample 的資料庫配置
資料庫配置版次 = 0x0d00
資料庫版次 = 0x0d00
資料庫專屬區 = TW
資料庫字碼頁 = 1208
資料庫字碼集 = UTF-8
資料庫國碼/地區碼 = 88
資料庫對照順序 = IDENTITY
替代對照順序 (ALT_COLLATE) =
號碼相容性 = OFF
Varchar2 相容性 = OFF
日期相容性 = OFF
資料庫分頁大小 = 8192
「動態 SQL 查詢」管理 (DYN_QUERY_MGMT) = DISABLE
陳述式集中器 (STMT_CONC) = OFF
此資料庫的探索支援 (DISCOVER_DB) = ENABLE
限制存取 = NO
預設最佳查詢方式 (DFT_QUERYOPT) = 5
平行化程度 (DFT_DEGREE) = 1
繼續運算的異常狀況 (DFT_SQLMATHWARN) = NO
預設重新整理經歷時間 (DFT_REFRESH_AGE) = 0
作業的預設維護表格類型 (DFT_MTTB_TYPES) = SYSTEM
保留的經常值數目 (NUM_FREQVALUES) = 10
保留數量 (NUM_QUANTILES) = 20
小數浮點捨入模式 (DECFLT_ROUNDING) = ROUND_HALF_EVEN
備份擱置 = NO
所有已確定的交易已寫入至磁碟 = YES
Roll-Forward 擱置 = NO
還原擱置中 = NO
已啟用多頁檔案配置 = YES
回復狀態的日誌保留 = NO
記載狀態的使用者跳出程式 = NO
自身調整記憶體 (SELF_TUNING_MEM) = OFF
資料庫共用記憶體大小 (4KB) (DATABASE_MEMORY) = AUTOMATIC(26576)
資料庫記憶體臨界值 (DB_MEM_THRESH) = 10
鎖定清單的最大儲存體 (4KB) (LOCKLIST) = 4096
每一個應用程式的鎖定清單百分比 (MAXLOCKS) = 22
資料包快取記憶體大小 (4KB) (PCKCACHESZ) = (MAXAPPLS*8)
共用排序的排序資料堆臨界值 (4KB) (SHEAPTHRES_SHR) = 5000
排序清單資料堆 (4KB) (SORTHEAP) = 256
資料庫資料堆 (4KB) (DBHEAP) = AUTOMATIC(600)
型錄快取大小 (4KB) (CATALOGCACHE_SZ) = (MAXAPPLS*5)
日誌緩衝區大小 (4KB) (LOGBUFSZ) = 256
公用程式資料堆大小 (4KB) (UTIL_HEAP_SZ) = 5000
緩衝池大小 (頁) (BUFFPAGE) = 250
SQL 陳述式資料堆 (4KB) (STMTHEAP) = AUTOMATIC(2048)
預設應用程式資料堆 (4KB) (APPLHEAPSZ) = AUTOMATIC(256)
應用程式記憶體大小 (4KB) (APPL_MEMORY) = AUTOMATIC(10000)
統計資料堆大小 (4KB) (STAT_HEAP_SZ) = AUTOMATIC(4384)
檢查死鎖的間隔 (毫秒) (DLCHKTIME) = 10000
鎖定逾時 (秒) (LOCKTIMEOUT) = -1
已變更的頁面臨界值 (CHNGPGS_THRESH) = 60
非同步頁面清除器數目 (NUM_IOCLEANERS) = AUTOMATIC(1)
I/O 伺服器數目 (NUM_IOSERVERS) = AUTOMATIC(3)
索引排序旗標 (INDEXSORT) = YES
循序偵測旗標 (SEQDETECT) = YES
預設預先提取大小 (頁) (DFT_PREFETCH_SZ) = AUTOMATIC
追蹤已修改的頁面 (TRACKMOD) = OFF
儲存器的預設數目 = 1
預設表格空間擴充大小 (頁) (DFT_EXTENT_SZ) = 32
作用中應用程式的最大數目 (MAXAPPLS) = AUTOMATIC(40)
作用中應用程式的平均值 (AVG_APPLS) = AUTOMATIC(1)
每一個應用程式已開啟的 DB 檔案數目上限 (MAXFILOP) = 32768
日誌檔大小 (4KB) (LOGFILSIZ) = 1000
主要日誌檔的數目 (LOGPRIMARY) = 3
次要日誌檔的數目 (LOGSECOND) = 2
變更日誌檔的路徑 (NEWLOGPATH) =
日誌檔的路徑 = C:\DB2\NODE0000\SQL00
001\SQLOGDIR\
溢位日誌路徑 (OVERFLOWLOGPATH) =
鏡映日誌路徑 (MIRRORLOGPATH) =
第一個作用中的日誌檔 =
磁碟已滿的區塊日誌 (BLK_LOG_DSK_FUL) = NO
區塊非記載作業 (BLOCKNONLOGGED) = NO
最大主要日誌空間除以交易的百分比 (MAX_LOG) = 0
1 作用中 UOW 的現行日誌檔數目 (NUM_LOG_SPAN) = 0
群組確定計數 (MINCOMMIT) = 1
在執行軟式檢查點之前收回的日誌檔百分比 (SOFTMAX) = 100
已啟用回復的日誌保留 (LOGRETAIN) = OFF
已啟用記載功能的使用者跳出程式 (USEREXIT) = OFF
HADR 資料庫角色 = STANDARD
HADR 本端主機名稱 (HADR_LOCAL_HOST) =
HADR 本端服務名稱 (HADR_LOCAL_SVC) =
HADR 遠端主機名稱 (HADR_REMOTE_HOST) =
HADR 遠端服務名稱 (HADR_REMOTE_SVC) =
遠端伺服器的 HADR 實例名稱 (HADR_REMOTE_INST) =
HADR 逾時值 (HADR_TIMEOUT) = 120
HADR 日誌寫入同步化模式 (HADR_SYNCMODE) = NEARSYNC
HADR 同層級視窗期間 (秒) (HADR_PEER_WINDOW) = 0
首要日誌保存方法 (LOGARCHMETH1) = OFF
logarchmeth1 的選項 (LOGARCHOPT1) =
次要日誌保存方法 (LOGARCHMETH2) = OFF
logarchmeth2 的選項 (LOGARCHOPT2) =
失效接手日誌保存路徑 (FAILARCHPATH) =
錯誤時的日誌保存重試次數 (NUMARCHRETRY) = 5
日誌保存再試延遲 (秒) (ARCHRETRYDELAY) = 20
供應商選項 (VENDOROPT) =
已啟用自動重新啟動 (AUTORESTART) = ON
索引重建時間及重做索引建置 (INDEXREC) = SYSTEM (RESTART)
索引建置期間的日誌頁面 (LOGINDEXBUILD) = OFF
載入記錄階段作業的預設數目 (DFT_LOADREC_SES) = 1
保留的資料庫備份數目 (NUM_DB_BACKUPS) = 12
回復歷程保留 (天) (REC_HIS_RETENTN) = 366
自動刪除回復物件 (AUTO_DEL_REC_OBJ) = OFF
TSM 管理類別 (TSM_MGMTCLASS) =
TSM 節點名稱 (TSM_NODENAME) =
TSM 擁有者 (TSM_OWNER) =
TSM 密碼 (TSM_PASSWORD) =
自動維護 (AUTO_MAINT) = ON
自動備份資料庫 (AUTO_DB_BACKUP) = OFF
自動維護表格 (AUTO_TBL_MAINT) = ON
自動執行統計 (AUTO_RUNSTATS) = ON
自動陳述式統計值 (AUTO_STMT_STATS) = ON
自動建立統計值設定檔 (AUTO_STATS_PROF) = OFF
自動更新設定檔 (AUTO_PROF_UPD) = OFF
自動重組 (AUTO_REORG) = OFF
自動重新驗證 (AUTO_REVAL) = DEFERRED
目前已確定的 (CUR_COMMIT) = ON
具有 DECIMAL 輸入的 CHAR 輸出 (DEC_TO_CHAR_FMT) = NEW
啟用 XML 字元作業 (ENABLE_XMLCHAR) = YES
WLM 資料收集間隔 (分鐘) (WLM_COLLECT_INT) = 0
監視收集設定
要求度量 (MON_REQ_METRICS) = BASE
活動公制 (MON_ACT_METRICS) = BASE
物件公制 (MON_OBJ_METRICS) = BASE
工作事件單元 (MON_UOW_DATA) = NONE
鎖定逾時事件 (MON_LOCKTIMEOUT) = NONE
死鎖事件 (MON_DEADLOCK) = WITHOUT_HIST
鎖定等待事件 (MON_LOCKWAIT) = NONE
鎖定等待事件臨界值 (MON_LW_THRESH) = 5000000
資料包清單項目的數目 (MON_PKGLIST_SZ) = 32
鎖定事件通知層次 (MON_LCK_MSG_LVL) = 1
SMTP 伺服器 (SMTP_SERVER) =
SQL 條件式編譯旗標 (SQL_CCFLAGS) =
區段實際設定 (SECTION_ACTUALS) = NONE
db2 =>
資料庫 sample 的資料庫配置
資料庫配置版次 = 0x0d00
資料庫版次 = 0x0d00
資料庫專屬區 = TW
資料庫字碼頁 = 1208
資料庫字碼集 = UTF-8
資料庫國碼/地區碼 = 88
資料庫對照順序 = IDENTITY
替代對照順序 (ALT_COLLATE) =
號碼相容性 = OFF
Varchar2 相容性 = OFF
日期相容性 = OFF
資料庫分頁大小 = 8192
「動態 SQL 查詢」管理 (DYN_QUERY_MGMT) = DISABLE
陳述式集中器 (STMT_CONC) = OFF
此資料庫的探索支援 (DISCOVER_DB) = ENABLE
限制存取 = NO
預設最佳查詢方式 (DFT_QUERYOPT) = 5
平行化程度 (DFT_DEGREE) = 1
繼續運算的異常狀況 (DFT_SQLMATHWARN) = NO
預設重新整理經歷時間 (DFT_REFRESH_AGE) = 0
作業的預設維護表格類型 (DFT_MTTB_TYPES) = SYSTEM
保留的經常值數目 (NUM_FREQVALUES) = 10
保留數量 (NUM_QUANTILES) = 20
小數浮點捨入模式 (DECFLT_ROUNDING) = ROUND_HALF_EVEN
備份擱置 = NO
所有已確定的交易已寫入至磁碟 = YES
Roll-Forward 擱置 = NO
還原擱置中 = NO
已啟用多頁檔案配置 = YES
回復狀態的日誌保留 = NO
記載狀態的使用者跳出程式 = NO
自身調整記憶體 (SELF_TUNING_MEM) = OFF
資料庫共用記憶體大小 (4KB) (DATABASE_MEMORY) = AUTOMATIC(26576)
資料庫記憶體臨界值 (DB_MEM_THRESH) = 10
鎖定清單的最大儲存體 (4KB) (LOCKLIST) = 4096
每一個應用程式的鎖定清單百分比 (MAXLOCKS) = 22
資料包快取記憶體大小 (4KB) (PCKCACHESZ) = (MAXAPPLS*8)
共用排序的排序資料堆臨界值 (4KB) (SHEAPTHRES_SHR) = 5000
排序清單資料堆 (4KB) (SORTHEAP) = 256
資料庫資料堆 (4KB) (DBHEAP) = AUTOMATIC(600)
型錄快取大小 (4KB) (CATALOGCACHE_SZ) = (MAXAPPLS*5)
日誌緩衝區大小 (4KB) (LOGBUFSZ) = 256
公用程式資料堆大小 (4KB) (UTIL_HEAP_SZ) = 5000
緩衝池大小 (頁) (BUFFPAGE) = 250
SQL 陳述式資料堆 (4KB) (STMTHEAP) = AUTOMATIC(2048)
預設應用程式資料堆 (4KB) (APPLHEAPSZ) = AUTOMATIC(256)
應用程式記憶體大小 (4KB) (APPL_MEMORY) = AUTOMATIC(10000)
統計資料堆大小 (4KB) (STAT_HEAP_SZ) = AUTOMATIC(4384)
檢查死鎖的間隔 (毫秒) (DLCHKTIME) = 10000
鎖定逾時 (秒) (LOCKTIMEOUT) = -1
已變更的頁面臨界值 (CHNGPGS_THRESH) = 60
非同步頁面清除器數目 (NUM_IOCLEANERS) = AUTOMATIC(1)
I/O 伺服器數目 (NUM_IOSERVERS) = AUTOMATIC(3)
索引排序旗標 (INDEXSORT) = YES
循序偵測旗標 (SEQDETECT) = YES
預設預先提取大小 (頁) (DFT_PREFETCH_SZ) = AUTOMATIC
追蹤已修改的頁面 (TRACKMOD) = OFF
儲存器的預設數目 = 1
預設表格空間擴充大小 (頁) (DFT_EXTENT_SZ) = 32
作用中應用程式的最大數目 (MAXAPPLS) = AUTOMATIC(40)
作用中應用程式的平均值 (AVG_APPLS) = AUTOMATIC(1)
每一個應用程式已開啟的 DB 檔案數目上限 (MAXFILOP) = 32768
日誌檔大小 (4KB) (LOGFILSIZ) = 1000
主要日誌檔的數目 (LOGPRIMARY) = 3
次要日誌檔的數目 (LOGSECOND) = 2
變更日誌檔的路徑 (NEWLOGPATH) =
日誌檔的路徑 = C:\DB2\NODE0000\SQL00
001\SQLOGDIR\
溢位日誌路徑 (OVERFLOWLOGPATH) =
鏡映日誌路徑 (MIRRORLOGPATH) =
第一個作用中的日誌檔 =
磁碟已滿的區塊日誌 (BLK_LOG_DSK_FUL) = NO
區塊非記載作業 (BLOCKNONLOGGED) = NO
最大主要日誌空間除以交易的百分比 (MAX_LOG) = 0
1 作用中 UOW 的現行日誌檔數目 (NUM_LOG_SPAN) = 0
群組確定計數 (MINCOMMIT) = 1
在執行軟式檢查點之前收回的日誌檔百分比 (SOFTMAX) = 100
已啟用回復的日誌保留 (LOGRETAIN) = OFF
已啟用記載功能的使用者跳出程式 (USEREXIT) = OFF
HADR 資料庫角色 = STANDARD
HADR 本端主機名稱 (HADR_LOCAL_HOST) =
HADR 本端服務名稱 (HADR_LOCAL_SVC) =
HADR 遠端主機名稱 (HADR_REMOTE_HOST) =
HADR 遠端服務名稱 (HADR_REMOTE_SVC) =
遠端伺服器的 HADR 實例名稱 (HADR_REMOTE_INST) =
HADR 逾時值 (HADR_TIMEOUT) = 120
HADR 日誌寫入同步化模式 (HADR_SYNCMODE) = NEARSYNC
HADR 同層級視窗期間 (秒) (HADR_PEER_WINDOW) = 0
首要日誌保存方法 (LOGARCHMETH1) = OFF
logarchmeth1 的選項 (LOGARCHOPT1) =
次要日誌保存方法 (LOGARCHMETH2) = OFF
logarchmeth2 的選項 (LOGARCHOPT2) =
失效接手日誌保存路徑 (FAILARCHPATH) =
錯誤時的日誌保存重試次數 (NUMARCHRETRY) = 5
日誌保存再試延遲 (秒) (ARCHRETRYDELAY) = 20
供應商選項 (VENDOROPT) =
已啟用自動重新啟動 (AUTORESTART) = ON
索引重建時間及重做索引建置 (INDEXREC) = SYSTEM (RESTART)
索引建置期間的日誌頁面 (LOGINDEXBUILD) = OFF
載入記錄階段作業的預設數目 (DFT_LOADREC_SES) = 1
保留的資料庫備份數目 (NUM_DB_BACKUPS) = 12
回復歷程保留 (天) (REC_HIS_RETENTN) = 366
自動刪除回復物件 (AUTO_DEL_REC_OBJ) = OFF
TSM 管理類別 (TSM_MGMTCLASS) =
TSM 節點名稱 (TSM_NODENAME) =
TSM 擁有者 (TSM_OWNER) =
TSM 密碼 (TSM_PASSWORD) =
自動維護 (AUTO_MAINT) = ON
自動備份資料庫 (AUTO_DB_BACKUP) = OFF
自動維護表格 (AUTO_TBL_MAINT) = ON
自動執行統計 (AUTO_RUNSTATS) = ON
自動陳述式統計值 (AUTO_STMT_STATS) = ON
自動建立統計值設定檔 (AUTO_STATS_PROF) = OFF
自動更新設定檔 (AUTO_PROF_UPD) = OFF
自動重組 (AUTO_REORG) = OFF
自動重新驗證 (AUTO_REVAL) = DEFERRED
目前已確定的 (CUR_COMMIT) = ON
具有 DECIMAL 輸入的 CHAR 輸出 (DEC_TO_CHAR_FMT) = NEW
啟用 XML 字元作業 (ENABLE_XMLCHAR) = YES
WLM 資料收集間隔 (分鐘) (WLM_COLLECT_INT) = 0
監視收集設定
要求度量 (MON_REQ_METRICS) = BASE
活動公制 (MON_ACT_METRICS) = BASE
物件公制 (MON_OBJ_METRICS) = BASE
工作事件單元 (MON_UOW_DATA) = NONE
鎖定逾時事件 (MON_LOCKTIMEOUT) = NONE
死鎖事件 (MON_DEADLOCK) = WITHOUT_HIST
鎖定等待事件 (MON_LOCKWAIT) = NONE
鎖定等待事件臨界值 (MON_LW_THRESH) = 5000000
資料包清單項目的數目 (MON_PKGLIST_SZ) = 32
鎖定事件通知層次 (MON_LCK_MSG_LVL) = 1
SMTP 伺服器 (SMTP_SERVER) =
SQL 條件式編譯旗標 (SQL_CCFLAGS) =
區段實際設定 (SECTION_ACTUALS) = NONE
db2 =>
2010年4月17日 星期六
JAVA印出錯誤行數的方式
JDK 1.3(含)之前
import java.io.PrintWriter;
import java.io.StringWriter;
public class DebugTest {
public static void main(String[] args) {
try{
String a = "test";
System.out.println(a.length());
a = null;
System.out.println(a.length());
}catch(Exception e){
StringWriter sw = new StringWriter();
PrintWriter out = new PrintWriter(sw, true);
e.printStackTrace(out);
System.out.println(sw.toString());
System.out.println(e.toString());
}
}
}
JDK 1.4含)之後
public class DebugTest {
public static void main(String[] args) {
try{
String a = "test";
System.out.println(a.length());
a = null;
System.out.println(a.length());
}catch(Exception e){
StackTraceElement[] ste = e.getStackTrace();
for(int i=0;i
System.out.println(e.toString());
System.out.println(ste[0]);
System.out.println(ste.length);
System.out.println(e.toString());
}
}
}
}
可以搭配System.out.println(this.getClass().getResource("DebugTest_jsp.class"));取得JSP的class檔產生的在哪個路徑
比如在CentOS的Tomcat5上測試會產生file:/var/cache/tomcat5/work/Catalina/localhost/jsp-examples/org/apache/jsp/DebugTest_jsp.class
import java.io.PrintWriter;
import java.io.StringWriter;
public class DebugTest {
public static void main(String[] args) {
try{
String a = "test";
System.out.println(a.length());
a = null;
System.out.println(a.length());
}catch(Exception e){
StringWriter sw = new StringWriter();
PrintWriter out = new PrintWriter(sw, true);
e.printStackTrace(out);
System.out.println(sw.toString());
System.out.println(e.toString());
}
}
}
JDK 1.4含)之後
public class DebugTest {
public static void main(String[] args) {
try{
String a = "test";
System.out.println(a.length());
a = null;
System.out.println(a.length());
}catch(Exception e){
StackTraceElement[] ste = e.getStackTrace();
for(int i=0;i
System.out.println(ste[0]);
System.out.println(ste.length);
System.out.println(e.toString());
}
}
}
}
可以搭配System.out.println(this.getClass().getResource("DebugTest_jsp.class"));取得JSP的class檔產生的在哪個路徑
比如在CentOS的Tomcat5上測試會產生file:/var/cache/tomcat5/work/Catalina/localhost/jsp-examples/org/apache/jsp/DebugTest_jsp.class
2010年3月1日 星期一
JAD-免費的Java Decompiler
和DJ Java Decompiler一樣,都是透過JAD
而且是免費的~~~
聽說和DJ Java Decompiler反組譯出來的結果差不多
只是沒用過DJ Java Decompiler
More:
http://strategoxt.org/Transform/JavaDecompilers
而且是免費的~~~
聽說和DJ Java Decompiler反組譯出來的結果差不多
只是沒用過DJ Java Decompiler
More:
http://strategoxt.org/Transform/JavaDecompilers
2010年2月27日 星期六
讓網際網路的外部使用者可以連線虛擬機器的網站或服務
Windows系統cd到C:\Program Files\Sun\VirtualBox
下以下指令(真實IP的81 Port對應到虛擬IP的80 Port,虛擬機器的名稱叫Fedora 12)
只能用在attached to NAT
另外使用Windows內的網際網路連線共用(ICS)加上attached to bridged adapter也是可以達到NAT的方式,只是IP是由Windows配發給你
ref:
ref1
ref2
VBoxManage setextradata "Fedora 12" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "Fedora 12" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 80
VBoxManage setextradata "Fedora 12" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 81
下以下指令(真實IP的81 Port對應到虛擬IP的80 Port,虛擬機器的名稱叫Fedora 12)
只能用在attached to NAT
另外使用Windows內的網際網路連線共用(ICS)加上attached to bridged adapter也是可以達到NAT的方式,只是IP是由Windows配發給你
ref:
ref1
ref2
VBoxManage setextradata "Fedora 12" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "Fedora 12" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 80
VBoxManage setextradata "Fedora 12" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 81
限制使用Tomcat執行servlet所用記憶體上限
限制最大使用128MB的記憶體(max heap)
Linux:
export CATALINA_OPTS="-Xmx128m"
Windows用set
shell用setenv
Linux:
export CATALINA_OPTS="-Xmx128m"
Windows用set
shell用setenv
訂閱:
文章 (Atom)