Alt+Shift+Q,Q 彈出"Show View"選擇界面 Alt+Shift+Q,T Show View(View: Hierarch) Alt+Shift+Q,B Show View(View: Breakpoints) Alt+Shift+Q,H Show View(View: Cheat Sheets) Alt+Shift+Q,C Show View(View: Console) Alt+Shift+Q,L Show View(View: Error Log) Alt+Shift+Q,Z Show View(View: History) Alt+Shift+Q,J Show View(View: Javadoc) Alt+Shift+Q,O Show View(View: Outline) Alt+Shift+Q,P Show View(View: Package Explorer) Alt+Shift+Q,X Show View(View: Problems) Alt+Shift+Q,S Show View(View: Search) Alt+Shift+Q,Y Show View(View: Synchronize) Alt+Shift+Q,V Show View(View: Variables) Debug: F5 單步調試進入函數內部
6) 點擊"OK",便可看到"User Specified Entries"已有了所增長的DTD(的KEY); 一樣,hibernate-mapping-3.0.dtd這個DTD的加入,也能夠如法炮製; 7) 重啓MyEclipse便可,注意若是提示不出來, 並在狀態欄的左下出現"Content Assist not available at the current location", 請在光標位置鍵入一個空格再使用Alt+/試試;
(4) 全部的DROP TABLE XXxxx CASCADE CONSTRAINTS;語句生成; 方式二: (1) 先動態生成sql腳本(vi gen.sql,而後內容以下): set head off set feed off set echo off spool deltab.sql SELECT 'DROP TABLE '||table_name||' CASCADE CONSTRAINTS;' FROM user_tables; spool off set head on set feed on (2) 執行gen.sql生成deltab.sql; (3) 執行deltab.sql腳本; ================================================================================ 34. 新建工做空間WorkSpace後,如何使用之前的工做空間設置? ================================================================================ 原工做空間目錄下有相關的配置信息: \.metadata\.plugins\org.eclipse.ui.workbench \.metadata\.plugins\org.eclipse.ui.workbench.texteditor 將上面兩個文件夾COPY到新的工做空間覆蓋,而後再啓動MyEclispe. 若是打開新的工做空間後,項目處還有舊工做空間的項目列表, 則刪除便可,但注意不要將其從磁盤上完全刪除,也就是隻從工做空間刪除. ================================================================================ 35. MyEclipse中編寫Java源文件時一個奇怪的問題[點Vertical Ruler上的紅叉後,代碼被隱藏] ================================================================================ 現象描述: 若是源文件有錯,這時在錯誤行的行首左邊(行號)的左邊的Vertical Ruler(標斷點的那個隔條)上 會有一個紅叉圖標,點擊這個紅叉圖標,通常會彈出一個提示你修正的提示框, 就跟在有錯的地方使用快捷鍵CTRL+1調出Quick Fix框同樣, 但如今用鼠標點這個紅叉,快速修正框不彈出了, 替代的倒是整個Editor界面中的代碼從錯誤地方開始,被移動到Editor界面中的最頂, 在有錯的代碼的上邊的其餘代碼都會看不到了(注意不是代碼被摺疊Folding了,而是看不見了, 可是行號的序號倒是此行原來的樣子,只不過如今這行是頂行),關掉這個源文件,從新打開, 全部代碼又都顯示了,
如今的問題是怎樣讓鼠標點紅叉後出Quick Fix框,而不是將錯誤代碼置頂並隱藏其以前的代碼? 解決: 這是因爲Eclipse中的"Show Source of Selected Element Only"功能引發的, 定位到: Window->Customize Perspective->Tool Bar Visibility->Editor Presentation 展開Editor Presentation,找到Show Source of Selected Element Only,將其勾選, 這樣在工具欄的快捷處就會出現這個功能的圖標,若是這個圖標是凹下去的,點擊一下, 使其不被使用便可; 也可在工具欄快捷的空白處鼠標右鍵->Customize Perspective->Tool Bar Visibility... 這樣找到Show Source of Selected Element Only選項; ================================================================================ 36. 解決MyEclipse中鏈接數據庫鏈接後,展開table或是view列表是不能顯示的問題: ================================================================================ 現象: MyEclipse8.0GA中,DB Browers能與數據庫創建鏈接,可是在試圖展開table或是view列表時是空的, 看不到已經創建的表。並且,右鍵點擊table的create table進行建表, 在提交時報錯以下:
Table could not be created Reason:ORA-06552:PL/SQL: Compilation unit alalysis terminated ORA-06553: PLS-553: 沒法識別字符集名稱 ORA-06553: PLS-553: character set name is not recognized; 開始懷疑是MyEclipse的問題,後來想起來有對數據庫作過字符集的修改, 手動的使用update props$,修改了字符集,其實這並不會真正完全的改變數據庫的全部字符集, 下面來確認字符集是否是真的被完全修改: SQL> select value$ from props$ where name='NLS_CHARACTERSET'; VALUE$ ---------------------------- ZHS16GBK SQL> SELECT DISTINCT (NLS_CHARSET_NAME(CHARSETID)) CHARACTERSET, DECODE( TYPE#, 1, DECODE(CHARSETFORM, 1, 'VARCHAR2', 2, 'NVARCHAR2','UNKOWN'), 9, DECODE(CHARSETFORM, 1, 'VARCHAR', 2, 'NCHAR VARYING','UNKOWN'), 96, DECODE(CHARSETFORM 5 , 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'), 112, DECODE(CHARSETFORM, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN') ) TYPES_USED_IN FROM SYS.COL$ WHERE CHARSETFORM IN (1, 2) AND TYPE# IN (1, 9, 96, 112);
CHARACTERSET TYPES_USED_IN ---------------------------------------- ------------- WE8ISO8859P1 VARCHAR2 WE8ISO8859P1 CHAR AL16UTF16 NCLOB AL16UTF16 NVARCHAR2 ZHS16GBK VARCHAR2 WE8ISO8859P1 CLOB AL16UTF16 NCHAR 已選擇7行。 上面SELECT語句的意思是: NLS_CHARSET_NAME(CHARSETID) --> 使用NLS_CHARSET_NAME()函數,取到其ID參數的字符集名稱; DECODE(....) TYPES_USED_IN --> 括號中的意思是: 若是TYPE#(TYPE#爲第一個DECODE的第一個參數)的值是 第二個參數(1),則取其後的參數(1後面的)爲函數的返回值, 不然繼承判斷TYPE#是否其與第四個參數相等,若是相等, 函數返回第五個參數的值.....,TYPE#若是均不等於 1,9,96,112,則最外的DECODE()函數返回NULL; 確實在數據庫的列屬性中仍然存在着多個字符集的設定,下面解決這個問題。 SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; System altered. SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; System altered. SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; System altered. SQL> ALTER DATABASE OPEN; Database altered. SQL> COL VALUE NEW_VALUE CHARSET SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET'; VALUE ------------------------------------------- ZHS16GBK SQL> COL VALUE NEW_VALUE NCHARSET SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET'; VALUE ------------------------------------------- ZHS16GBK 這裏的國家語言字符集是有問題的,往下看操做就知道了:
-- INTERNAL_USE是沒有寫在文檔中的參數,用以強制完成字符集一致化 ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET; ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET; SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET; old 1: ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET new 1: ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK Database altered. SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET; old 1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET new 1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK * ERROR at line 1: ORA-12714: invalid national character set specified -- 運行到此處出問題了,看來國家字符集不能是ZHS16GBK的了, -- 那爲何取的時候會取到呢?是由於早先的時候無知地使用了這個語句: SQL> UPDATE props$ SET value$='ZHS16GBK' WHERE name='NLS_CHARACTERSET' or name='NLS_NCHAR_CHARACTERSET'; -- 其值原來是 AL16UTF16,UPDATE後改爲了ZHS16GBK,如今把其改回去先; SQL> UPDATE props$ SET value$='AL16UTF16' WHERE name='NLS_NCHAR_CHARACTERSET'; 2 1 row updated. SQL> commit; Commit complete. -- 再次運行: SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET; old 1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET new 1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK * ERROR at line 1: ORA-12714: invalid national character set specified -- 仍是不行,看看錯誤緣由: SQL> !oerr ORA 12714 12714, 00000, "invalid national character set specified" // *Cause: Only UTF8 and AL16UTF16 are allowed to be used as the national // character set // *Action: Ensure that the specified national character set is valid -- 由此可知,Oracle 10g的NATIONAL CHARACTER SET只有2個選擇:AL16UTF16與UTF8 -- 下面直接用國家字符集名字,而不使用&NCHARSET來取: SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16; Database altered. -- 成功修改
-- 關閉數據庫並重啓: SQL> SHUTDOWN IMMEDIATE Database closed. Database dismounted. ORACLE instance shut down. SQL> STARTUP ORACLE instance started. Total System Global Area 612368384 bytes Fixed Size 2022696 bytes Variable Size 251658968 bytes Database Buffers 352321536 bytes Redo Buffers 6365184 bytes -- 按照上面的步驟,一步一步來,一步不要少,完成之後,從新檢索col$表。 CHARACTERSET TYPES_USED_IN ---------------------------------------- ------------- ZHS16GBK CHAR AL16UTF16 NCLOB ZHS16GBK VARCHAR2 AL16UTF16 NVARCHAR2 ZHS16GBK CLOB AL16UTF16 NCHAR 已選擇6行。 與以前的作一下對比: CHARACTERSET TYPES_USED_IN ---------------------------------------- ------------- WE8ISO8859P1 VARCHAR2 WE8ISO8859P1 CHAR AL16UTF16 NCLOB AL16UTF16 NVARCHAR2 ZHS16GBK VARCHAR2 WE8ISO8859P1 CLOB AL16UTF16 NCHAR 已選擇7行。 可看出: 對於CHAR,VARCHAR2,CLOB使用了ZHS16GBK; 對於NCHAR,NVARCHAR2,NCLOB使用了AL16UTF16; 再次使用MyEclipse打開看看,一切OK了. 相關內容: ================================================================================ 環境變量可設置爲: NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK' NLS_LANG='AMERICAN_AMERICA.ZHS16GBK' NLS_LANG='AMERICAN_AMERICA.US7ASCII' 改變SESSION會話的(客戶端界面顯示)語言: 錯誤寫法: ALTER SESSION SET NLS_LANGUAGE='AMERICAN_AMERICA.ZHS16GBK'; SET NLS_LANG='AMERICAN_AMERICA.ZHS16GBK' 正確寫法: ALTER SESSION SET NLS_LANGUAGE=AMERICAN; ALTER SESSION SET NLS_LANGUAGE='SIMPLIFIED CHINESE'; 有空格使用''括起來. 有關數據庫字符集: 1. 查看數據庫字符集 數據庫服務器字符集: SELECT * FROM NLS_DATABASE_PARAMETERS; 其來源於props$,是表示數據庫的字符集;
客戶端字符集環境: SELECT * FROM NLS_INSTANCE_PARAMETERS; 表示客戶端的字符集的設置,多是參數文件,環境變量或者是註冊表,其來源於v$parameter;
若是是在Package Explorer中選中Java源文件,而後鼠標右鍵->Copy Qualified Name, 獲得的格式是路徑格式,以下: /foo_20100713/src/com/taotling/riskctrl/Access.java 若是選中一個方法,鼠標右鍵->Copy Qualified Name, 獲得的格式以下: com.taotling.riskctrl.Access.check(CheckValue) ================================================================================ 39. Debug的時候跳回上一個Frame從新進入被選中的Stack Frame ================================================================================ Eclipse 中 drop to frame 的調試技巧 解釋以下: Select the [ Drop to Frame command ] to re-enter the selected stack frame in the Debug View. Note this command is only available if the current VM supports drop to frame and the selected stackframe is not the top frame or a frame in a native method. 就是說,這個功能能夠從新跳到當前方法的開始處從新執行, 而且全部上下文變量的值也回到那個時候。 不必定是當前方法,能夠點擊當前調用棧中的任何一個frame跳到那裏(除了最開始的那個frame)。 主要用途是全部變量狀態快速恢復到方法開始時候的樣子從新執行一遍, 便可以一遍又一遍地在那個你關注的上下文中進行屢次調試(結合改變變量值等其它功能), 而不用重來一遍調試到哪裏了。
固然,原來執行過程當中產生的反作用是不可逆的(好比你往數據庫中插入了一條記錄)。 這裏也說了如何使用這個功能: http://www.javalobby.org/forums/thread.jspa?threadID=15271&tstart=0 引用以下: --------------------------------------------------------------------------- You can't know where you are without knowing where you've been. It's true in life, and it is especially true in debugging code. Placing a breakpoint in a method to test code is usually only useful if you know the context of how the method was executed. The main 'Debug' view of the 'Debug' perspective shows a stack trace of the methods that have led to the current point. Each element in this stack trace is referred to in Eclipse as a 'frame'. A frame is nothing more than the variable state of a method right when the method it called was executed. You can preview the state of a frame simply by clicking on it in the 'Debug' view. Notice that once selected you can see the values in the variable view at the point that the child method 'methodB' was called. It is possible to preview the state of any frame simply by selecting it in the 'Debug' view. What if, however, you've decided that you missed an important state in the execution process; perhaps the breakpoint was in the wrong place, or maybe you accidentally stepped over some code you wanted to inspect earlier in the process. Eclipse has a feature called 'Drop to Frame'. 'Drop to Frame' essentially lets you 'rewind' the execution to the beginning of any method in the stack. This is especially useful when performing variable modification or code hotswapping - both features I plan to discuss in detail future articles - traditional debugging, however, can still benefit greatly from the drop to frame functionality. I personally like to think of drop to frame as my emergency rewind button when I'm dealing with traditional debugging. To drop to a certain frame, select the frame in the 'Debug' view as before, and right click and select the 'Drop to Frame' action. Once done, you will back up to the beginning of the execution of the selected method. Notice that now 'methodB' is no longer on the stack at all, and you are now back in 'methodA'. I highly recommend experimenting with these features; it is something I can't do justice to; it simply has to be experienced. If you find yourself heading for the stop button so you can start your debug session over, take a breath and consider using 'drop to frame' - it can save a huge amount of time. 40. Java Comppiler 的 compiler compliance level的含義說明================================================================================ 查看Java Comppiler 界面中的"Configure Workspace Settings"; 注意,若是勾選了"Enable project specific settings", 而且勾選了下面"JDK Compliance"中的 "Use compliance from execution environment on the Java Build Path" 使用的"Compiler compliance level"將會是: compiler compliance level的含義說明: 設置編譯級別暨 Eclipse compiler compliance level爲較低版本, 只是讓編譯器相信你的代碼是兼容較低版本的, 在編譯時生成的byteCode(class)兼容較低版本。 這樣設置與你寫代碼時引用的JDK是不要緊的, 也就是說你在寫代碼時仍能夠引用較高版本的API(這樣就可能致使錯誤). 設置compiler compliance level爲較低版本, 這樣的好處是當別人使用了較低版本的Jdk時也能夠引用你寫的編譯後的代碼。 它能夠保證編譯後的class文件的版本一致性。 可是,若是你的代碼裏面(java source)裏面調用了較高版本jdk的API. 那麼即便設置了compiler compliance level爲較低版本, 在較低版本的JDK上運行你的代碼也會報錯。 因此建議在寫代碼時引用的JDK,要跟你compiler compliance level設置的版本一致。41. Find/Replace中設置迴繞查詢================================================================================ Ctrl+F彈出Find/Replace界面,勾選其"Options"中的"Wrap search"迴繞查詢;42. 快速查找哪些方法或類中引用了當前選中的屬性或方法或類或其餘對象:================================================================================ (1) 選中須要進行查詢的對象或屬性; (2) 鼠標右鍵->References-> 其下有幾個選項: Workspace (工做空間中) Project (項目中) Hierarchy (繼承結構中) Working Set... (其餘Working Set中) 每一個均表示必定的範圍,經常使用的是Project,若是使用Workspace須要當心查詢範圍擴大了; (3) 若是上面的查詢沒有結果,那就使用: 鼠標右鍵->Declarations 這表示哪些地方聲明瞭此變量,一樣也有如下選項: Workspace Project Hierarchy Working Set... (4) 通常都使用快捷鍵 Ctrl + Shift + G 查詢Worksapace範圍內, 不過這種方式須要保證只有你用到的工程打開,不然查詢的結果有可能含有其餘工程的引用; 若是Ctrl + Shift + G 查詢沒有結果,那就試試 Ctrl + G , 有可能在別的地方再次進行了聲明而使用,因此引用查詢不到;================================================================================關於軟件版本:================================================================================ Alpha: 內部測試版,通常不向外部發布,會有不少Bug.通常只有測試人員使用。 Beta: 測試版,這個階段的版本會一直加入新的功能。在Alpha版以後推出。 RC:(Release Candidate) 顧名思義!用在軟件上就是候選版本。系統平臺上就是發行候選版本。 RC版不會再加入新的功能了,主要着重於除錯。 RTM:(Release to Manufacture) 給工廠大量壓片的版本,內容跟正式版是同樣的,不過RTM版也有出限制、評估版的。 可是和正式版本的主要程序代碼都是同樣的。 OEM: 給計算機廠商隨着計算機販賣的,也就是隨機版。 只能隨機器出貨,不能零售。只能全新安裝,不能從舊有操做系統升級。 包裝不像零售版精美,一般只有一面CD和說明書(受權書)。 RVL: 號稱是正式版,其實RVL根本不是版本的名稱。它是中文版/英文版文檔破解出來的。 EVAL: 流通在網絡上的EVAL版,與"評估版"相似,功能上和零售版沒有區別。 RTL:Retail(零售版) 真正的正式版,正式上架零售版。 在Windows的安裝盤的i386文件夾裏有一個eula.txt,最後有一行 EULAID,就是系統的版本。 好比簡體中文正式版是EULAID:WX.4_PRO_RTL_CN,繁體中文正式版是WX.4_PRO_RTL_TW。 其中:若是是WX.開頭是正式版,WB.開頭是測試版。_PRE,表明家庭版;_PRO,表明專業版。 總結版本號: V(Version): 即版本,一般用數字表示版本號。(如:EVEREST Ultimate v4.20.1188 Beta) Build: 用數字或日期標示版本號的一種方式。(如:VeryCD eMule v0.48a Build 071112) SP: Service Pack,升級包。(如:Windows XP SP 2/Vista SP 1) 受權和功能劃分: Trial: 試用版,一般都有時間限制,有些試用版軟件還在功能上作了必定的限制。可註冊或購買成爲正式版. Unregistered: 未註冊版,一般沒有時間限制,在功能上相對於正式版作了必定的限制。可註冊或購買成爲正式版。 Demo: 演示版,僅僅集成了正式版中的幾個功能,不能升級成正式版。 Lite:精簡版 Full version:完整版,屬於正式版。 語言劃分: SC :Simplified Chinese簡體中文版。 CN :簡體中文版 GBK :簡體中文漢字內碼擴展規範版。 TC :Traditional Chinese繁體中文版。 CHT :繁體中文版 BIG5:繁體中文大五碼版。 EN :英文版 Multilanguage:多語言版 UTF8:Unicode Transformation Format 8 bit,對現有的中文系統不是好的解決方案。 開發階段劃分: α(Alpha)版: 內測版,內部交流或者專業測試人員測試用。Bug較多,普通用戶最好不要安裝。 β(Beta)版: 公測版,專業愛好者大規模測試用,存在一些缺陷,該版本也不適合通常用戶安裝。 γ(Gamma)版: 至關成熟的測試版,與即將發行的正式版相差無幾。 RC版: Release Candidate。 RC版: Release Candidate 的縮寫,意思是發佈倒計時,候選版本,處於Gamma階段, 該版本已經完成所有功能並清除大部分的BUG。 到了這個階段只會除BUG,不會對軟件作任何大的更改。 從Alpha到Beta再到Gamma是改進的前後關係,但RC一、RC2每每是取捨關係。 Final:正式版。 其餘版本 Enhance :加強版或者增強版 屬於正式版1 Free :自由版 Release :發行版 有時間限制 Upgrade :升級版 Retail :零售版 Cardware:屬共享軟件的一種,只要給做者回復一封電郵或明信片便可。 (有的做者並由此提供註冊碼等),目前這種形式已很少見。/ S Plus :屬加強版,不過這種大部分是在程序界面及多媒體功能上加強。 Preview :預覽版 Corporation & Enterprise :企業版 Standard:標準版 Mini :迷你版也叫精簡版只有最基本的功能 Premium :貴价版 Professional :專業版 Express :特別版 Deluxe :豪華版 Regged :已註冊版 Rip :是指從原版文件(通常是指光盤或光盤鏡像文件)直接將有用的內容(核心內容)分離出來, 剔除無用的文檔,例如PDF說明文件啊,視頻演示啊之類的東西,也能夠算作是精簡版. 但主要內容功能是一點也不能缺乏的! 另:DVDrip是指將視頻和音頻直接從DVD光盤裏以文件方式分離出來。 RTM 版:這基本就是最終的版本,英文是 Release To Manufactur,意思是發佈到生產商。 Original Equipment Manufacturer (OEM) You may license products through an Original Equipment Manufacturer (OEM). These products, such as Windows operating systems, come installed when you purchase a new computer. OEM軟件是給電腦生產廠的版本,無需多說。 Full Packaged Product (FPP)/Retail Physical, shrink-wrapped boxes of licensed product that can be purchased in a local retail store or any local software retailer. FPP就是零售版(盒裝軟件),這種產品的光盤的卷標都帶有"FPP"字樣, 好比英文WXP Pro的FPP版本的光盤卷標就是WXPFPP_EN,其中WX表示是Windows XP, P是Professional(H是Home),FPP代表是零售版本,EN是代表是英語。 得到途徑除了在商店購買以外,某些MSDN用戶也能夠獲得。 Volume Licensing for Organizations (VLO) You may enjoy potentially significant savings by acquiring multiple product licenses. Depending on the size and type of your organization. 團體批量許可證(大量採購受權合約),這是爲團體購買而制定的一種優惠方式。 這種產品的光盤的卷標都帶有"VOL"字樣,取"Volume"前3個字母,以代表是批量, 好比英文WXP Pro的VOL版本的光盤卷標就是WXPVOL_EN,其中WX表示是Windows XP, P是Professional(VOL沒有Home版本),VOL代表是團體批量許可證版本,EN是代表是英語。 得到途徑主要是集團購買,某些MSDN用戶也能夠獲得。 在不少軟件下載的時候,你會發覺標識爲GA或者CRx等。好比MySQL和JBoss都採用這種標識。 那什麼是GA呢。GA是Generally Available的縮寫, 意思是開發團隊認爲該版本是穩定版(有的軟件可能會標識爲stable版或者production版, 其意思和GA相同),能夠在較爲關鍵的場合使用。 若是你是要用在生產中的軟件,或者你是一個新手,那麼你最好選用GA版本。 這是測試最爲充分,最爲穩定的版本。 RC就是Release Candidate(候選版本)的簡稱 GA:General Availability,正式發佈的版本,在國外都是用GA來講明release版本.