Eclipse 【Java開源 開發工具】
Eclipse平台是IBM向開發源碼社區捐贈的開發框架,它之所以出名並不是因為IBM宣稱投入開發的資金總數 —4千萬美元,而是因為如此巨大的投入所帶來的成果:一個成熟的、精心設計的以及可擴展的體系結構。
CubicTest 【Java開源 Web測試工具】
CubicTest這個開源的Eclipse插件能夠讓Web應用程序的測試變得更加易於設計,理解和運行,即使是對於非技術人員。 CubicTest採用一個圖形用戶界面來讓用戶對測試進行建模而不是編寫測試腳本。 這個工具主要是針對基於測試驅動的Web應用程序開發,但也能夠用於測試現有Web應用程序。
Execute Query 【Java開源 資料庫管理工具】
Execute Query一個開源的資料庫管理工具,具有:查詢編輯器,資料庫瀏覽器,生成ERD,比較數據類型,創建表格,創建索引,生成SQL腳本,導入/導出數據,導入/導出XML數據,連接管理等功能。
MockCentral 【Java開源 測試工具】
MockCentral提供一種利用mock對象進行測試的新方式。它把mock對象定義在測試代碼之外的XML文件中並允許開發人員創建,訪問這些mock對象,這能夠讓測試案例變得簡潔並有利於組織和復用mock對象。
Janissary 【Java開源 Web測試工具】
Janissary在是一個簡單的Web站點負載與性能測試工具。根據配置,Janissary可以創建並發或非並發的HTTP Request然後報告這些Request的狀態與響應時間。
JUnit 【Java開源 測試工具】
JUnit是由 Erich Gamma 和 Kent Beck 編寫的一個回歸測試框架(regression testing framework)。Junit測試是程序員測試,即所謂白盒測試,因為程序員知道被測試的軟體如何(How)完成功能和完成什麼樣(What)的功能。Junit是一套框架,繼承TestCase類,就可以用Junit進行自動測試了。
BlueJ 【Java開源 開發工具】
BlueJ是一個專門為入門級教學設計的JavaTM 開發環境。它是由澳大利亞墨爾本Monash大學BlueJ小組設計並開發的。
log4javascript 【Java開源 日記工具】
log4javascript是一個基於log4j的JavaScript日記框架。
STclass 【Java開源 測試工具】
STclass是一個基於Contract(由於B. Meyer在Design by Contract:合約設計方式中定義)的單元測試框架,它是JUnit的一個克隆,但是可與JUnit相匹敵。該框架能夠把測試結果生成XML的報表格式,然後加工處理成漂亮的HTML報表。STclass集成JIP剖析器,可以在測試期間進行statisitic與 profiling分析,並把結果加到HTML報表中。
B. 請問用Java代碼,怎樣測試一段程序佔用了多少內存
/*計算某一段程序消耗的內存和時間*/
Runtime r = Runtime.getRuntime();
r.gc();//計算內存前先垃圾回收一次
long start = System.currentTimeMillis();//開始Time
long startMem = r.freeMemory(); // 開始Memory
GBSort(array,1,len);//!!!!!被測的程序!!!!!
long endMem =r.freeMemory(); // 末尾Memory
long end = System.currentTimeMillis();//末尾Time
//輸出
System.out.println("TimeCost: "+String.valueOf(end - start)+"ms");
System.out.println("MemoryCost: "+String.valueOf((startMem- endMem))+"KB");
C. 請問怎麼測試一個java程序佔用的內存和cpu消耗
只能查看JAVA 虛擬機佔用的內存Runtime.getRuntime().maxMemory() 返回 Java 虛擬機試圖使用的最大內存量。Runtime.getRuntime().freeMemory() 返回 Java 虛擬機中的空閑內存量。Runtime.getRuntime().totalMemory() 返回 Java 虛擬機中的內存總量。
D. 用Java怎麼測試一個對象所佔的內存的大小
這是一個測試的方法,參考網上的,具體可以看提供給你的網址
package com;
public class Sizeof {
public static void main(String[] args) throws Exception {
// Warm up all classes/methods we will use
runGC();
usedMemory();
// Array to keep strong references to allocated objects
final int count = 100000;
Object[] objects = new Object[count];
long heap1 = 0;
// Allocate count+1 objects, discard the first one
for (int i = -1; i < count; ++i) {
Object object = null;
// Instantiate your data here and assign it to object
object = new Object();
// object = new Integer (i);
// object = new Long (i);
// object = new String ();
// object = new byte [128][1]
if (i >= 0)
objects[i] = object;
else {
object = null; // Discard the warm up object
runGC();
heap1 = usedMemory(); // Take a before heap snapshot
}
}
runGC();
long heap2 = usedMemory(); // Take an after heap snapshot:
final int size = Math.round(((float) (heap2 - heap1)) / count);
System.out.println("'before' heap: " + heap1 + ", 'after' heap: "
+ heap2);
System.out.println("heap delta: " + (heap2 - heap1) + ", {"
+ objects[0].getClass() + "} size = " + size + " bytes");
for (int i = 0; i < count; ++i)
objects[i] = null;
objects = null;
}
private static void runGC() throws Exception {
// It helps to call Runtime.gc()
// using several method calls:
for (int r = 0; r < 4; ++r)
_runGC();
}
private static void _runGC() throws Exception {
long usedMem1 = usedMemory(), usedMem2 = Long.MAX_VALUE;
for (int i = 0; (usedMem1 < usedMem2) && (i < 500); ++i) {
s_runtime.runFinalization();
s_runtime.gc();
Thread.currentThread().yield();
usedMem2 = usedMem1;
usedMem1 = usedMemory();
}
}
private static long usedMemory() {
return s_runtime.totalMemory() - s_runtime.freeMemory();
}
private static final Runtime s_runtime = Runtime.getRuntime();
}
E. 常見的十五種Java開發工具是什麼,有什麼特點
1、JDK (Java Development Kit)Java開發工具集
從初學者角度來看,採用JDK開發Java程序能夠很快理解程序中各部分代碼之間的關系,有利於理解Java面向對象的設計思想。JDK的另一個顯著特點是隨著Java (J2EE、J2SE以及J2ME)版本的升級而升級。但它的缺點也是非常明顯的就是從事大規模企業級Java應用開發非常困難,不能進行復雜的Java軟體開發,也不利於團體協同開發。
2、Java Workshop
3、NetBeans 與Sun Java Studio 5
NetBeans是開放源碼的Java集成開發環境(IDE),適用於各種客戶機和Web應用。
Sun Java Studio是Sun公司最新發布的商用全功能Java IDE,支持Solaris、Linux和Windows平台,適於創建和部署2層Java Web應用和n層J2EE應用的企業開發人員使用。
NetBeans是業界第一款支持創新型Java開發的開放源碼IDE。開發人員可以利用業界強大的開發工具來構建桌面、Web或移動應用。同時,通過NetBeans和開放的API的模塊化結構,第三方能夠非常輕松地擴展或集成NetBeans平台。
NetBeans3.5.1主要針對一般Java軟體的開發者,而Java One Studio5則主要針對企業做網路服務等應用的開發者。Sun不久還將推出Project Rave,其目標是幫助企業的開發者進行軟體開發。NetBeans 3.5.1版本與其他開發工具相比,最大區別在於不僅能夠開發各種台式機上的應用,而且可以用來開發網路服務方面的應用,可以開發基於J2ME的移動設備上的應用等。在NetBeans 3.5.1基礎上,Sun開發出了JavaOne Studio5,為用戶提供了一個更加先進的企業編程環境。在新的JavaOne Studio5里有一個應用框架,開發者可以利用這些模塊快速開發自己在網路服務方面的各種應用程序。
4、Borland 的JBuilder
Jbuilder進入了Java集成開發環境的王國,它滿足很多方面的應用,尤其是對於伺服器方以及EJB開發者們來說。下面簡單介紹一下Jbuilder的特點:
1)Jbuilder支持最新的Java技術,包括Applets、JSP/Servlets、JavaBean以及EJB(Enterprise JavaBeans)的應用。
2)用戶可以自動地生成基於後端資料庫表的EJB Java類,Jbuilder同時還簡化了EJB的自動部署功能.此外它還支持CORBA,相應的向導程序有助於用戶全面地管理IDL(分布應用程序所必需的介面定義語言Interface Definition Language)和控制遠程對象。
3)Jbuilder支持各種應用伺服器。Jbuilder與Inprise Application Server緊密集成,同時支持WebLogic erver,支持EJB 1.1和EJB 2.0,可以快速開發J2EE的電子商務應用。
4)Jbuilder能用Servlet和JSP開發和調試動態Web 應用。
5)利用Jbuilder可創建(沒有專有代碼和標記)純Java2應用。由於Jbuilder是用純Java語言編寫的,其代碼不含任何專屬代碼和標記,它支持最新的Java標准。
6)Jbuilder擁有專業化的圖形調試介面,支持遠程調試和多線程調試,調試器支持各種JDK版本,包括J2ME/J2SE/J2EE。
JBuilder環境開發程序方便,它是純的Java 開發環境,適合企業的J2EE開發;缺點是往往一開始人們難於把握整個程序各部分之間的關系,對機器的硬體要求較高,比較吃內存,這時運行速度顯得較慢。
5、Oracle 的JDeveloper
oracle9i JDeveloper(定為9.0版,最新為10g)為構建具有J2EE功能,XML和Webservices的復雜的,多層的Java應用程序提供了一個完全集成的開發環境。它為運用Oracle9i資料庫和應用伺服器的開發人員提供特殊的功能和增強性能,除此以外,它也有資格成為用於多種用途Java開發的一個強大的工具。
oracle9i JDeveloper的主要特點如下:
① 具有UML(Unified Modeling Language,一體化建模語言)建模功能。可以將業務對象及e-business應用模型化。
② 配備有高速Java調試器(Debuger)、內置Profiling工具、提高代碼質量的工具「CodeCoach」等。
③ 支持SOAP(Simple Object Access Protocol)「簡單對象訪問協議」、UDDI(Universal Description, Discovery and Integration)「統一描述、發現和集成協議」、WSDL(Web Services Description Language)「WEB服務描述語言」等Web服務標准。
JDeveloper 不僅僅是很好的 Java 編程工具,而且是 oracle Web 服務的延伸,支持 Apache SOAP,以及 9iAS ,可擴充的環境和 XML 和 WSDL 語言緊密相關。Oracle9iJdeveloper完全利用Java編寫,能夠與以前的Oracle伺服器軟體以及其他廠商支持J2EE的應用伺服器產品相兼容,而且在設計時著重針對Oracle9i,能夠無縫化跨平台之間的應用開發,提供了業界第一個完整的、集成了J2EE和XML的開發環境,允許開發者快速開
發可以通過Web、無線設備及語音界面訪問的Web服務和交易應用,以往只能通過將傳統Java編程技巧與最新模塊化方式結合到一個單一集成的開發環境中之後才能完成J2EE應用開發生命周期管理的事實,從根本上得到改變。缺點就是對於初學者來說,較復雜,也比較難。
6、IBM的Visual Age for Java
Visual Age for Java是一個非常成熟的開發工具,它的特性以於IT開發者和業余的Java編程人員來說都是非常用有用的。它提供對可視化編程的廣泛支持,支持利用CICS連接遺傳大型機應用,支持EJB的開發應用,支持與Websphere的集成開發,方便的bean創建和良好的快速應用開發(RAD)支持和無文件式的文件處理。
IBM為建設Web站點所推出的WebSphere Studio Advanced Edition及其包含的VisualAge for Java Professional Edition軟體已全面轉向以Java為中心,這樣,Java開發人員對WebSphere全套工具的感覺或許會好了許多。Studio所提供的工具有:Web站點管理、快速開發 JDBC頁向導程序、HTML編輯器和HTML語法檢查等。這確實是個不錯的HTML站點頁面編輯環境。Studio和VisualAge集成度很高,菜單中提供了在兩種軟體包之間快速移動代碼的選項。這就讓使用Studio的Web頁面設計人員和使用VisualAge的Java程序員可以相互交換文件、協同工作。
Visual Age for Java支持團隊開發,內置的代碼庫可以自動地根據用戶做出改動而修改程序代碼,這樣就可以很方便地將目前代碼和早期版本做出比較。與Visual Age緊密結合的Websphere Studio本身並不提供源代碼和版本管理的支持,它只是包含了一個內置文件鎖定系統,當編輯項目的時候可以防止其他人對這些文件的錯誤修改,軟體還支持諸如Microsoft Visual SourceSafe這樣的第三方源代碼控制系統。Visual Age forJava完全面向對象的程序設計思想使得開發程序非常快速、高效。你可以不編寫任何代碼就可以設計出一個典型的應用程序框架。Visual Age for Java作為IBM電子商務解決方案其中產品之一,可以無縫地與其他IBM產品,如WebSphere、DB2融合, 迅速完成從設計、開發到部署應用的整個過程。
Visual Age for Java獨特的管理文件方式使其集成外部工具非常困難,你無法讓Visual Age for Java與其他工具一起聯合開發應用。
7、BEA 的 WebLogic Workshop
BEA WebLogic Workshop是一個統一、簡化、可擴展的開發環境,使所有的開發人員都能在 BEA WebLogic Enterprise Platform之上構建基於標準的企業級應用,從而提高了開發部門的生產力水平,加快了價值的實現。
WebLogic Workshop除了提供便捷的Web服務之外,它能夠用於創建更多種類的應用。作為整個BEA WebLogic Platform的開發環境。不管是創建門戶應用、編寫工作流、還是創建Web應用,Workshop 8.1都可以幫助開發人員更快更好地完成。
WebLogic Workshop的主要特點如下:
① 使 J2EE 開發切實可行,提高開發效率
BEA WebLogic Workshop 使開發人員遠離 J2EE 內在的復雜性,集中精力專注業務邏輯,無須操心單調乏味的基礎結構代碼。這種創新意味著,已被企業驗證的 J2EE 的強大功能,最終被大多數不熟悉 Java 和 J2EE 的應用開發人員所掌握,從而使 IT 部門的工作效率提高一個數量級。
可視化設計器以及直觀的概念,如事件、屬性和控制項等,實現了基於事件的開發。Workshop 簡化的程序設計模型,使開發人員不必掌握復雜的 J2EE API 和面向對象的程序設計原理。所有開發人員,包括 J2EE 專家和具有可視化和過程化語言技能的應用開發人員在內,都可以共同工作在 BEA WebLogic Enterprise Platform 之上。Workshop的可視化開發環境,創建帶有代碼注釋的標准 Java 文件,用來說明由運行時框架實施的企業級需求。J2EE 和其他高級開發人員,藉助功能強大的代碼編輯功能,可以訪問Java 源代碼,從而彌補了可視化設計器的不足。
② 構建企業級應用
通過在可伸縮、安全可靠的企業級架構上實施各種應用,BEA WebLogicWorkshop 大大降低了開發風險。而且,所有應用的創建都使用標準的 J2EE 組件,既保護了您的技術投資,又保持了最大的靈活性。
BEA WebLogic Workshop 運行框架,是統一整個架構的匯聚層,使單一、簡化的程序設計模型擴展到所有的 BEA WebLogic Enterprise Platform 應用類型。通過解釋設計時創建的注釋代碼,運行時框架可以實現必要的 J2EE 組件,並且提取出與 J2EE 應用開發有關的所有底層細節。
③ 降低 IT 復雜性
BEA WebLogic Workshop 提供各種 Java 控制項,使得與 IT 資源的連接更輕而易舉。另外,在構建任何 BEA WebLogic Platform 的應用中,Java 控制項不僅可擴展而且完全相同。這種強大、有效的方法能夠:降低 IT 技術的復雜性,優化信息的可用性,推動包含"最佳業務方案"的可重用服務的開發,使開發人員能以更低的成本、更短的時間實現更大的產出。
利用 BEA WebLogic Workshop,任何開發人員都能以最大的生產效率,構建各種Web 服務、Web 應用、門戶和集成項目。BEA WebLogic Workshop是BEA的產品戰略核心,它幫助客戶接觸和利用面向服務架構SOA)的強大功能。BEA Weblogic Workshop8.1極大簡化了當前實際企業集成環境中企業級應用和服務的構建,並成為全面支持關鍵企業級應用(如非同步、真正松耦合和粗粒度消息傳送等)的自然選擇。它的缺點就是過於復雜,對於初學者來說,理解起來較為困難。
8、WebGain 的Visual Cafe for Java
Visual Cafe 是只能在Symantec公司的Java虛擬機、Netscape公司的Java虛擬機和Microsoft虛擬機上工作的調試器。這對於開發者來講是一個重要的特性,因為用戶開發的Java代碼中的許多軟體bug就可能中會在某種特定的虛擬機上起作用。
在修改後進行編譯基繼續進行調試時,Visual Cafe會自動將文件存檔,使用VisualCafe創建的原生應用具有許多特點。除了明顯的速度提高之外,Symantec使類庫的二進制方式比正常的JDK小Visual Cafe為所指定的關系自動生成或更新必要的Java代碼。利用Visual Cafe,用戶可以從一個標准對象資料庫中集合完整的Java應用程序和Applet,而不必再編寫源代碼。Visual Cafe還提供了一個擴充的源代碼開發工具集。
Visual Cafe綜合了Java軟體的可視化源程序開發工具,它允許開發人員在可視化視圖和源視圖之間進行有效地轉換。在可視化視圖中進行的修改立即反映在源代碼中。對源代碼的改變自動更新可視化視圖。
Visual Cafe具有許多源文件方面的特性,如全局檢索和替換。絕大多數Java開發工具的文獻的問題在於簡單地挨個介紹開發工具的每部分組件,但用戶在開應用時還需要一個面向任務的手冊,利用這個手冊你可以不必知道工具每一部分的特定功能就可以開始創建自己的應用。Visual Cafe提供了非常全面的用戶指南,它對最開始的安裝到創建第一個Java應用和Applet都提供了全面的幫助,Visual Cafe將自動生成所指明關系的必要Java代碼。Visual Cafe可以在Windows 95和Windows NT平台下運行,Symantec公司為Java開發工作提供一個在Macintosh操作系統下可以運行的RAD工具。Visual Cafe編譯器速度很快,在國際化支持方面比較突出;缺點就是對於初學者來說,較復雜,也比較難。
9、Macromedia的JRUN
Macromedia公司的JRun是一個具有最廣闊適用性的Java引擎,用於開發及實施由Java Servlets和JavaServer Pages編寫的伺服器端Java應用。JRun是第一個完全支持JSP1.0 規格書的商業化產品,全球有超過80,000名開發人員使用JRun在他們已有的Web伺服器上添加伺服器端Java的功能。其中Web伺服器包括了Microsoft IIS,Netscape Enterprise Server,Apache等。
JRun是開發實施伺服器端Java的先進引擎。如果我們希望在我們的Web應用中添加伺服器端Java功能,那麼JRun將成為我們的正確選擇。
JRun目前有3個版本,它是第一個支持Java Server Pages(JSP)規格書1.0的商業化產品。JSP是一種強大的伺服器端技術,它是用於創建復雜Web應用的一整套快速應用開發系統。JRun可以使我們開始開發並測試Java應用。它最多接受5個並發的連接並且包括全部Java Servlet API,支持JavaServer Pages(JSP),支持所有主要的Web servers和計算機平台。 JRun Pro能夠在生產環境下承受大訪問量的負載,幫助我們實施應用、服務或Web站點(包括內聯網)。JRun Pro 支持無限量並發式連接運行多個Java虛擬機,包括多個並發的Java虛擬機(JVM)。提供一個遠程管理applet以及一個遠程可再分布式的管理applet。JRun Pro Unlimited包括了所有JRun Pro的功能,除次以外,還可以運行無限量的,並發的JVM。
JRun依靠其內置的JRun Web Server可以單獨運行。使用伺服器端Java,用戶可以開發出復雜的商業應用系統。最重要的一點是,由於servlets的平台獨立性,以及更加簡單的開發、更快速的實施、更經濟的維護成本,它是CGI(Common Gateway Interface)或Perl scripts的極佳的替代產品。缺點就是對於初學者來說,較復雜,也比較難。
10、JCreator
JCreator 是一個Java程序開發工具,也是一個Java集成開發環境(IDE)。無論你是要開發Java應用程序或者網頁上的Applet元件都難不倒它。在功能上與Sun公司所公布的JDK等文字模式開發工具相較之下來得容易,還允許使用者自訂義操作窗口界面及無限Undo/Redo等功能。
JCreator為用戶提供了相當強大的功能,例如項目管理功能,項目模板功能,可個性化設置語法高亮屬性、行數、類瀏覽器、標簽文檔、多功能編繹器,向導功能以及完全可自定義的用戶界面。通過JCreator,我們不用激活主文檔而直接編繹或運行我們的JAVA程序。
JCreator能自動找到包含主函數的文件或包含Applet的Html文件,然後它會運行適當的工具。在JCreator中,我們可以通過一個批處理同時編繹多個項目。JCreator的設計接近Windows界面風格,用戶對它的界面比較熟悉。其最大特點是與我們機器中所裝的JDK完美結合,是其它任何一款IDE所不能比擬的。它是一種初學者很容易上手的java開發工具,缺點是只能進行簡單的程序開發,不能進行企業J2EE的開發應用。
11、Microsoft VJ++
Visual J++ 是Microsoft 公司推出的可視化的Java 語言集成開發環境(IDE),為Java 編程人員提供了一個新的開發環境,是一個相當出色的開發工具。無論集成性、編譯速度、調試功能、還是易學易用性,都體現了Microsoft 的一慣風格。Visual J++ 具有下面的特點:
1)Visual J++ 把Java 虛擬機(JVM)作為獨立的操作系統組件放入Windows,使之從瀏覽器中獨立出來。
2)Microsoft 的應用基本類庫(AFC,Application Foundation Class Library)對SUN 公司的JDK 作了擴展,使應用基本類庫更加適合在Windows 下使用。
3) Visual J++ 的調試器支持動態調試,包括單步執行、設置斷點、觀察變數數值等。
4) Visual J++ 提供了一些程序向導(Wizards)和生成器(Builders),它們可以方便地幫助用戶快速地生成Java 程序,幫助你在自己的工程中創建和修改文件。
5) Visual J++ 界面友好,其代碼編輯器具有智能感知、聯機編譯等功能,使程序編寫十分方便。Visual J++ 中建立了Java 的WFC,這一新的應用程序框架能夠直接訪問Windows 應用程序介面(API),使你能夠用Java 語言編寫完全意義上的Windows 應用程序。
6)Visual J++ 中表單設計器的快速應用開發特性使用WFC 創建基於表單的應用程序變得輕松、簡單。通過WFC 可以方便地使用ActiveX 數據對象(ADO,ActiveX Data Objects)來檢索數據和執行簡單數據的綁定。通過在表單設計器中使用ActiveX 數據對象,可以快速地在表單中訪問和顯示數據。
Visual J++能結合微軟的一貫的編程風格,很方便進行Java 的應用開發,但它的移植性較差,不是純的Java 開發環境。
12、Eclipse
Eclipse是一種可擴展的開放源代碼IDE。2001年11月,IBM公司捐出價值4,000萬美元的源代碼組建了Eclipse聯盟,並由該聯盟負責這種工具的後續開發。集成開發環境(IDE)經常將其應用范圍限定在「開發、構建和調試」的周期之中。為了幫助集成開發環境(IDE)克服目前的局限性,業界廠商合作創建了Eclipse平台。Eclipse允許在同一IDE中集成來自不同供應商的工具,並實現了工具之間的互操作性,從而顯著改變了項目工作流程,使開發者可以專注在實際的嵌入式目標上。
Eclipse框架的這種靈活性來源於其擴展點。它們是在XML中定義的已知介面,並充當插件的耦合點。擴展點的范圍包括從用在常規表述過濾器中的簡單字元串,到一個Java類的描述。任何Eclipse插件定義的擴展點都能夠被其它插件使用,反之,任何Eclipse插件也可以遵從其它插件定義的擴展點。除了解由擴展點定義的介面外,插件不知道它們通過擴展點提供的服務將如何被使用。
利用Eclipse,我們可以將高級設計(也許是採用UML)與低級開發工具(如應用調試器等)結合在一起。如果這些互相補充的獨立工具採用Eclipse擴展點彼此連接,那麼當我們用調試器逐一檢查應用時,UML對話框可以突出顯示我們正在關注的器件。事實上,由於Eclipse並不了解開發語言,所以無論Java語言調試器、C/C++調試器還是匯編調試器都是有效的,並可以在相同的框架內同時瞄準不同的進程或節點。
Eclipse的最大特點是它能接受由Java開發者自己編寫的開放源代碼插件,這類似於微軟公司的Visual Studio和Sun微系統公司的NetBeans平台。Eclipse為工具開發商提供了更好的靈活性,使他們能更好地控制自己的軟體技術。Eclipse聯盟已經宣布將在2004年中期發布其3.0版軟體。這是一款非常受歡迎的java開發工具,這國內的用戶越來越多,實際上實用它java開發人員是最多的。缺點就是較復雜,對初學者來說,理解起來比較困難。
13、Ant
Another Neat Tool(Ant)是一種基於Java的build工具。理論上來說,它有些類似於(Unix)C中的make ,但沒有make的缺陷。因為Ant的原作者在多種(硬體)平台上開發軟體時,無法忍受這些工具的限制和不便。類似於make的工具本質上是基於shell(語言)的:他們計算依賴關系,然後執行命令(這些命令與你在命令行敲的命令沒太大區別)。這就意味著你可以很容易地通過使用OS特有的或編寫新的(命令)程序擴展該工具;
然而,這也意味著你將自己限制在了特定的OS,或特定的OS類型上,如Unix。Ant就不同了。與基於shell命令的擴展模式不同,Ant用Java的類來擴展。(用戶)不必編寫shell命令,配置文件是基於XML的,通過調用target樹,就可執行各種task。每個task由實現了一個實現了特定Task介面的對象來運行。
Ant支持一些可選task,一個可選task一般需要額外的庫才能工作。可選task與Ant的內置task分開,單獨打包。這個可選包可以從你下載Ant的同一個地方下載。ANT本身就是這樣一個流程腳本引擎,用於自動化調用程序完成項目的編譯,打包,測試等。除了基於JAVA是平台無關的外,腳本的格式是基於XML的,比make腳本來說還要好維護一些。Ant是Apache提供給Java開發人員的構建工具,它可以在Windows OS和Unix OS下運行,它不僅開放源碼並且還是一個非常好用的工具。Ant是Apache Jakarta中一個很好用的Java開發工具,Ant配置文件採用XML文檔編寫,所以Java程序員對其語法相當熟悉,Ant是專用於Java項目平台,能夠用純Java來開發,它能夠運行於Java安裝的平台,即體現了它的跨平台功能。它的缺點顯示執行結果只能是DOS字元界面,不能進行復雜的java程序開發。
14、IntelliJ
Intellij IDEA是一款綜合的Java 編程環境,被許多開發人員和行業專家譽為市場上最好的IDE。它提供了一系列最實用的的工具組合:智能編碼輔助和自動控制,支持J2EE,Ant,JUnit和CVS集成,非平行的編碼檢查和創新的GUI設計器。IDEA把Java開發人員從一些耗時的常規工作中解放出來,顯著地提高了開發效率。具有運行更快速,生成更好的代碼;持續的重新設計和日常編碼變得更加簡易,與其它工具的完美集成;很高的性價比等特點。在4.0版本中支持Generics,BEA WebLogic集成,改良的CVS集成以及GUI設計器。
IntelliJ IDEA能盡可能地促進程序員的編程速度。它包括了很多輔助的功能,並且與Java結合得相當好。不同的工具窗口圍繞在主編程窗口周圍,當滑鼠點到時即可打開,無用時也可輕松關閉,使用戶得到了最大化的有效屏幕范圍。以技術為導向的IDEA集成了調試器,支持本地和遠程的調試,即使我們需要修改一些設置上的東西使我們的工作順利進展。另外,它還提供了通常的監視,分步調試以及手動設置斷點功能,在這種斷點模式下,我們可以自動地在斷點之外設置現場訪問,甚至可以瀏覽不同的變數的值。IDE支持多重的JVM設置,幾個編譯程序和Ant建造系統,並且,它使得設置多重的自定義的類途徑變得簡單。
IntelliJ Idea是一個相對較新的Java IDE。它是Java開發環境中最為有用的一個。高度優化的IntelleJ Idea使普通任務變得相當容易,Idea支持很多整合功能,更重要的使它們設計的好容易使用。Idea支持XML中的代碼實現,Idea同時還會校正XML,Idea支持JSP的結構。作用於普通Java代碼的眾多功能同樣適用於JSP(比如整合功能),同時支持JSP調試;支持EJB,盡管它不包括對個別應用伺服器的特殊支持。Idea支持Ant建立工具,不僅是運行目標它還支持編譯與運行程序前後運行目標,另外也支持綁定鍵盤快捷鍵。在編輯一個Ant建立XML文件時,Idea還對組成Ant工程的XML部分提供支持。IntelliJ IDEA 被稱為是最好的JAVA IDE開發平台,這套軟體就是以其聰明的即時分析和方便的 refactoring 功能深獲大家所喜愛。缺點是較復雜,對初學者來說,理解起來比較困難。
小結
現在常用的Java項目開發環境有:JBuilder、VisualAge for Java、Forte forJava, Visual Cafe、Eclipse、NetBeans IDE、JCreator +J2SDK、jdk+記事本、EditPlus+ J2SDK等等。一般開發J2EE項目時都需要安裝各公司的應用伺服器(中間件)和相應的開發工具,在使用這些開發工具之前,我們最好能熟知這些軟體的優點和缺點,以便根據實際情況選擇應用。編程工具只是工具,為了方便人們工作而開發的,各有特點,因此,選工具主要的依據自己將要從事的領域是什麼,而不是盲目的認為那種工具好,那種工具不好。最後希望大家都能找到自己合適的java 開發工具。
F. 64位計算中的Java虛擬機(JVM)性能測試
隨著DEC(Digital Equipment Corp)公司Alpha處理器在 年末的發布 就意味著這個世界開始進入 位計算的時代 緊接著 全球幾大主要計算機公司 如IBM Hewlett Packard(惠普) Fujitsu(富士通) Sun Microsystems 也發布了各自相應的產品進入到 位 這個市場 在 年 Fujitsu旗下的HAL Computer發布了業界第一台基於 位SPARC CPU的工作站 SPARC 此後不久 Sun發布了大眾期盼已久的Ultra Ultra 工作站 其內置了Sun的 位UltraSPARC處理器 時間轉換到 年 IBM發布了其第一個 位PowerPC RISC晶元 RS 在 年 IBM對RS 進行改良 使其支持SMP 這就是Power 如今看起來 對 位計算來說 其整整花了五年的時間 才在 年開始大量進入市場 在本文中 將主要涉及兩個現在廣泛應用的 位平台 AMD 與PowerPC 並分別使用IBM與Sun Microsystems這兩個Java語言巨頭提供的Java虛擬機(JVM) 通過SPECjvm 與SPECjbb 的測試 來評價 位與 位中JVM的性能 (注 SPECjvm 與SPECjbb 來自Standard Performance Evaluation Corp )AMD 是Advanced Micro Devices(AMD)公司的 位平台 其擴展了工業標準的x 指令集架構 並設計在不降低任何性能的前提下 於 位模式中完全兼容現有的x 應用程序與操作系統 在 年 月 AMD發布了Opteron 遵循AMD 架構的第一款處理器 與其同時 年 IBM發布了PowerPC 其是源自IBM Power 雙核CPU的單核處理器 從此 IBM把 位PowerPC架構帶到了桌面系統與低端伺服器領域 另外要說明一點 PowerPC 也像Power 一樣 可在不降低性能的前提下 本地執行 位指令 不久之後 在 年 月 由Apple Computer公司設計 基於PowerPC CPU的Power Mac G 電腦上市 Java背景介紹 在第一款 位處理器誕生不久 Java技術也出世了 並由此改寫歷史 Java是一種健壯的 通用的 面向對象的 構架中立的 可移植的 安全的 多線程的編程語言 並帶有隱式內存管理功能 Java面向對象的特性在很大程度上與C++相似 但加入了更多的介面與擴展以創建更具靈活性的解決方案 與C++不同的是 Java不支持操作符重載 多重繼承和自動類型強制 Java通過廣泛的運行時檢查和內置的例外處理機制 達到健壯性的目的 編譯器所生成的只是位元組碼指令 其是獨立於任何特定平台的 這樣就保證了架構中立性 可移植性是通過指定基本數據類型大小和其算術操作符的行為來達到的 例如 int總表示一個有符號的 位整數 而float總表示一個 位的IEEE 浮點數 Java同時也有一系列的同步原語 其基於廣泛使用的條件變數範式 自動內存垃圾回收(GC)簡化了Java編程的難度 並極大地降低了bug的數目 但也使運行機制稍微復雜了點 在 年 也就是DEC公司發布第一款 位處理器的前一年 Sun Microsystems開始了一個名為 the Green Project 的計劃 目的是要搶占 下一波計算 的先機 並為此提前做好准備 計劃得出的最初結論是 移動數字設備與計算機的融合將會很快出現 在 年的夏天 計劃小組演示了* (星 ) 一個通過動畫式觸摸屏控制的交互性手持娛樂設備 通過使用Oak 一種全新的編程語言 這個設備可控制很多不同的平台 而由James Gosling開發的Oak 其最主要的特點在於它是一個徹底獨立於處理器的語言 在往後的幾年中 這種語言被用於Internet 之後成為大眾所知的Java 而 Oak 這個名字則因為版權問題從此消失了 在 年 月 Sun正式宣布Java的誕生 這是一種程序員只需編寫一次 但卻可在多種操作系統及多種硬體平台上運行的語言 編寫一次 隨處運行 在 年 Sun發布了Java開發工具包(JDK ) 其後不久 個主要的操作系統開發商宣布支持Java技術 當中也包括Microsoft 其以每年大約 萬美元取得五年時間的Java許可協議 在 年 月 Sun發布了Java平台的第一個即時(JIT)編譯器 在 年 月 JDK 面世 在隨後的三周時間里 達到了 萬次的下載量 到了 年初 這個數字達到兩百萬 在 年末 Java 平台發布了 大概半年後 也就是 年年中 Sun發布了三個版本的Java平台 J ME(Java Micro Edition) 應用於移動 無線及有限資源的環境 J SE(Java Standard Edition) 應用於桌面環境 J EE(Java Enterprise Edition) 應用於基於Java的應用伺服器 此後 廣泛應用的Java技術出現了一些framework 如Enterprise JavaBeans (EJB)和JavaServer Pages (JSP) Java技術的隨後一次升級 是出現在 年 月的J SE 幾周後 其獲得了Apple公司Mac OS X的工業標準的支持 J SE 發布於 年 月份 對Java平台來說 這是一個幾乎全新的產品 與J SE 相比 其多了近 %的類和介面 在這些新特性當中 還提供了廣泛的XML支持 安全套接字支持(通過SSL與TLS協議) 全新的I/O API 正則表達式 日誌與斷言 在 年 月 是Java最近的一次發布 J SE (內部版本號 ) 代號 Tiger 現已提供公開下載 Tiger包含了從 年發布 版本以來的最重大的更新 其中包括泛型支持 基本類型的自動裝箱 改進的循環 枚舉類型 格式化I/O及可變參數 Java虛擬機(JVM)是一個軟體規范 相關軟體有責任遵守它 以運行編譯為Java位元組碼的程序 JVM是一個抽象的計算機制 並獨立於操作系統 具有編譯後的程序體積小 可防止執行惡意代碼等特點 其沒有預先假設基於任何特定的實現技術 不管是硬體還是操作系統 通常我們有幾個常用的JVM軟體 其 位與 位版本性能有所不同 但它們都包括JIT編譯器和垃圾回收功能(GC) JIT編譯器從JDK 開始就是JVM的一部分了 當時Java只是用於瀏覽器客戶端動態效果顯示的一種技術 JIT編譯器實現了程序執行之前Java位元組碼到硬體機器碼的動態翻譯 其背後的思想在於 相比Java源代碼 位元組碼更小也更容易編譯 但付出的代價是需要在Java位元組碼編譯為機器碼時花上一點時間 但與直接把Java源代碼編譯為機器碼相比 時間還是少得多的 在 位與 位的JVM中 相應的JIT在把Java位元組碼編譯為最終的機器碼時 所花的時間稍微有所不同 但還能進行一些優化 另外 在IBM與Sun這兩個版本的客戶端與服務端程序上 總體性能也會有所不同 垃圾回收是一種自動內存管理系統 它會收回對象不再需要使用的內存 從軟體工程的角度來看 垃圾回收最大的一個好處就是 程序員不用再操心那些低級的內存管理細節了 同時 垃圾回收也去除了源代碼中兩個最大的bug 內存未釋放(內存泄漏)與過早釋放(指針崩潰) 內存回收在Java程序運行期間佔了一個很重要的部分 因為它必須被經常執行以釋放對象不再訪問的Java堆 由於在 位與 位平台上 Java堆中的數據大小會有所變化 所以會因為 位與 位JVM的性能差異 導致相應垃圾回收的性能也會有所不同
位背景介紹 位計算有幾個重要組成部分 第一就是 位定址 實際上 位定址是通過 位整數寄存器達到的(或RISC中所指的通用寄存器) 位寄存器允許 位的指針裝入到單個的寄存器中 而 位的指針 才是可以定址訪問更大內存的實質所在 當 位處理器只能訪問到 位元組或 GB內存時 位處理器理論上卻可定址訪問 位元組或 × GB內存 在現代的 位系統中 可定址的內存的實際限制通常比理論值低一點 具體依賴於特定的硬體架構和操作系統 舉例來說 在基於Linux的操作系統中 受限於當前Linux內核數據結構的設計 可定址的內存最多為 位元組或 GB 位計算的第二個重要方面 就是 位整數運算 要提醒的是 這可不是簡單地因為有了可存儲更多更大整數量 更寬的 位整數寄存器而帶來的必然結果 其最直接的影響就是對那些需要處理密集大數值整數運算的程序而言 可帶來性能上的飛躍 第三個方面 即 位計算的特性 是 位操作系統與程序的應用 相關的軟體必須全面支持硬體的 位特性 包括 位定址和運算 通常還有一些附帶的好處 如 可操作更多更大的文件 管理更大的磁碟等等 位計算所帶來的影響 目前已在許多程序中得到了體現 資料庫伺服器現在可定址更大的內存 以維持更大的緩沖池 數據緩存 或在內存中進行排序以減少相關的I/O操作 也能給每個用戶分配更多的內存 支持更多的用戶 或對更大的數據文件進行操作 模擬或其他計算密集的程序也將從中受益 如 現在可以在內存中分配更大的數組了 最後 別忘了還有大量的Java程序 J EE應用伺服器 現在也能充分享受到 位計算所帶來的好處了 位計算的主要缺點是 與它們 位的兄弟相比 位二進制文件一般都更大 因此 最終生成的機器碼體積也更大 在系統緩存與旁路轉換緩存(TLB)大小不變的情況下 可能會同時降低兩者的命中率 這就是說 在一定程度上性能會有所損失 性能評測 此處用於測試 位與 位JVM性能的系統 是兩台 位雙CPU工作站 一台是基於AMD 技術的Opteron系統 而另一台是基於PowerPC 的Apple Power Mac G 兩台工作站都分別運行基於Linux的 位操作系統 受測試的JVM分別來自於IBM和Sun 將使用SPEC的SPECjvm 和SPECjbb 來測試相應JVM的性能 其中SPECjvm 使用了以下項目測試客戶端性能 ·_ _press 一個流行的壓縮程序 ·_ _jess 一個Java版的NASA CLIPS基於規則的專家系統 ·_ _db 數據管理基準測試軟體 ·_ _javac JDK Java編譯器 ·_ _mpegaudio 一個MPEG 音頻解碼器 ·_ _mtrt 一個對圖像文件進行處理的雙線程程序 ·_ _jack 一個分析程序生成器 SPECjbb (Java商業基準程序)是一個用於服務端的基準測試程序 其模仿了三層體系結構 是一個通用類型的Java服務端應用程序 通過運行SPECjvm 以秒為單位記錄了每個基準測試的運行時長 時間越短越好 所有SPECjvm 測試的堆大小因JVM而有所變化 從最小值 MB至最大值 MB 在SPECjbb 測試中 記錄了在三種不同堆大小時的每秒執行操作數 更高的值代表更高的性能 每一個測試程序都運行三次 取成績最好的一次作為最後的結果 圖 與圖 顯示了在AMD 平台上 Linux版本的Sun Java Standard Edition Development Kit (J SE )在SPECjvm 和SPECjbb 中 位與 位的性能測試結果 在SPECjvm 測試中 只有三項 _ _press _ _mpegaudio _ _jack 在 位版本的JVM上比 位表現出更佳的性能 在SPECjbb 中 位版本的性能只在有足夠堆大小的情況下 才表現出更高的性能 其中在堆大小為 MB時 因為某些活動數據在 位JVM版本中體積更大 導致垃圾回收動作更頻繁 從而降低了程序性能
圖 圖 圖 與圖 顯示了在AMD 平台上 Linux版本的IBM Developer Kit for Linux Java Technology Edition Version GA在SPECjvm 和SPECjbb 中 位與 位的性能測試結果 其中 基準測試程序中有三項 _ _db _ _javac _ _jack 在 位環境下表現出了更佳的性能 另外 在SPECjbb 測試中 當面對三個不同大小的測試堆時 位IBM版本的JVM都沒有表現出比 位版本更好的性能 圖 圖 圖 與圖 顯示了在PowerPC 平台上 IBM Developer Kit for Linux Java Technology Edition Version GA在SPECjvm 和SPECjbb 中 位與 位的性能測試結果 此處 在所有SPECjvm 和SPECjbb 的測試中 位JVM的性能都不及 位平台 圖 圖 結論 基於運行Linux操作系統的PowerPC 平台的測試結果 表明如果在此平台上使用IBM的JVM 那麼 那些不需要 位特性的程序 還是讓它們運行在 位JVM中吧 因為在此平台的所有測試結果中 位JVM的性能都比 位平台低 而基於運行Linux操作系統的AMD 平台的測試結果 表明不管是Sun還是IBM的JVM 位與 位的性能都在伯仲之間 要注意的是 性能的差異是依賴於具體的應用程序與JVM的 如果需要最佳性能 就必須在某個特定的執行環境中測試某個特定的程序 以評價轉換到 位所帶來的潛在性能提升 有幾件事情需重點注意 第一 盡管SPECjvm 與SPECjbb 都是工業標準的基準測試程序 但它們的測試范圍有限 因此 就測試結果而言 只對一部分的Java程序正確 而不是所有 第二 隨著 位計算越來越被人們接受 我們期待 位程序會有所改進 包括 位JVM 也許其在將來會大幅提高性能 第三 此處只組合測試了幾種特定的硬體平台 操作系統與JVM 因此 如果要進一步地說明問題 恐怕只有在 位Windows XP/ 及 位Mac OS X上的進行JVM基準測試了 lishixin/Article/program/Java/hx/201311/26587
G. 北大青鳥java培訓:五類軟體測試工具
1.負載壓力測試工具這類測試工具的主要目的是度量應用系統的可擴展性和性能,是一種預測系統行為和性能的自動化測試工具。
在實施並發負載過程中,通過實時性能監測來確認和查找問題,並針對所發現問題對系統性能進行優化,確保應用的成功部署。
負載壓力測試工具能夠對整個企業架構進行測試,通過這些測試,企業能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。
2.功能測試工具通過自動錄制、檢測和回放用戶的應用操作,將被測系統的輸出記錄同預先給定的標准結果比較,功能測試工具能夠有效地幫助測試人員對復雜的企業級應用的不同發布版本的功能進行測試,提高測試人員的工作效率和質量。
其主要目的是檢測應用程序是否能夠達到預期的功能並正常運行。
3.白盒測試工具白盒測試工具一般是針對代碼進行測試,測試中發現的缺陷可以定位到代碼級。
根據測試工具原理的不同,又可以分為靜態測試工具和動態測試工具。
靜態測試工具直接對代碼進行分析,不需要運行代碼,也不需要對代碼編譯鏈接和生成可執行文件。
靜態測試工具一般是對代碼進行語法掃描,找出不符合編碼規范的地方,根據某種質量模型評價代碼的質量,生成系統的調用關系圖等。
動態測試工具一般採用「插樁」的方式,在代碼生成的可執行文件中插入一些監測代碼,用來統計程序運行時的數據。
它與靜態測試工具最大的不同是,動態測試工具要求被測系統實際運行。
4.測試管理工具一般而言,測試管理工具對測試需求、測試計劃、測試用例、測試實施進行管理,並且測試管理工具還包括對缺陷的跟蹤管理。
測試管理工具能讓測試人員、開發人員或其他的IT人員。
浙江電腦培訓http://www.kmbdqn.cn/認為通過一個中央數據倉庫,在不同地方就能交互信息。
5.測試輔助工具這些工具本身並不執行測試,例如它們可以生成測試數據,為測試提供數據准備。
H. java各介面性能如何測試
Java編程下用JMeter Java Sampler進行多介面性能測試,使用方法如下:
/**
*JMeterJavaSampler介紹
*setupTest做些初始化的工作,每個線程只執行一次
*teardownTest做些清理工作,每個線程只執行一次
*runTest具體的測試執行工作,每個並發每次循環都將執行一次
**/
//繼承AbstractJavaSamplerClient
{
//hessian調用地址
privatestaticStringurl="http://10.20.147.182:8080/hessian/remoting/userService";
MyServicecollect=null;
HessianProxyFactoryfactory=newHessianProxyFactory();
publicintid;
@Override
publicvoidsetupTest(JavaSamplerContextarg0){
//獲取jmeter傳入參數
id=arg0.getIntParameter("id");
try{
collect=(MyService)factory.create(
MyService.class,url);
}catch(MalformedURLExceptione){
e.printStackTrace();
}
}
@Override
publicSampleResultrunTest(JavaSamplerContextarg0){
SampleResultsp=newSampleResult();
sp.sampleStart();
Userrt=null;
try{
rt=collect.getUser(id);
}catch(Exceptione){
sp.sampleEnd();
sp.setSuccessful(false);
returnsp;
}
sp.sampleEnd();
if(rt.getId()==id)
sp.setSuccessful(true);
else
sp.setSuccessful(false);
returnsp;
}
@Override
publicvoidteardownTest(JavaSamplerContextcontext){
super.teardownTest(context);
}
}
I. Java中常用的開發工具有哪些
常用的工具有:
Eclipse 據數據顯示很多Java開發人員的Java開發工具便是Eclipse,這主要得益於是一個開源的、可以基於Java的可擴展開發平台。Eclipse本身而言,它只是一個框架和一組服務,但可以通過插件組件構建開發環境。
editplus EditPlus是一款由韓國 Sangil Kim (ES-Computing)開發的編輯器,可以作為C,Java,Php等等語言的一個簡單的IDE。EditPlus擁有無限制的撤消與重做、英文拼字檢查、自動換行、列數標記、搜尋取代、同時編輯多文件、全屏幕瀏覽功能,也是一款常見的Java開發工具。
NetBeans NetBeans提供了功能全面的陣列,如轉換器,編輯器和代碼分析器,使用這些工具可以幫助我們使用的Java技術實現應用程序。NetBeans工具范圍相當廣泛,是一款的Java開發工具。
Junit Junit是一個可以幫助Java開發人員編寫和運行測試的單元測試框架。JUnit和市場上其他類似的框架有著本質的區別。主要表現在你可以一次測試一個代碼塊,而不需要等待該模塊在運行測試前完成。實際上是你可以「先測試,然後寫代碼」
VisualVM VisualVM也是一款使用較多的Java開發工具。它最主要的功能便是可以排查故障,可以使用VisualVM整合多命令行JDK工具。如jvmstat、JMX和Serviceability Agent(SA)中使用VisualVM。VisualVM最出名的是附加了API,以獲得更多的數據,以及自動使用更快捷。
Gradle Gradle是一個自動化項目工具,是建立在Apache Maven和Apache Ant的功能上。雖然Gradle並不是的構建工具(的是Maven,64%的Java開發人員會選擇它),但它的普及速度很快。它同時也可作為默認的Android構建開發工具。
SparkJava SparkJava是一款體形輕巧,功能強大的Web應用框架。Spark可以通過一些繁瑣的XML配置來使用Spark框架編寫應用程序。能讓我們花最少的精力來開發Java的Web應用程序。是一款的Java web開發工具。
Clover Clover主要用於代碼覆蓋,可以幫助用於測試應用程序的代碼。我們可以在IDE或持續集成系統中運行Clover。能夠讓測試的運行速度更快。是Java開發測試必不可少的工具之一。
J. 如何測試java支持的最大內存
JDK在不同的操作系統中支持的最大內存不一樣,可以採用如下方法來測試不同操作系統中支持的最大內存。c:>java -XmxXXXXm(g) -version其中XXXX為最大內存數,m(g)是內存的計量單位,在以上命令中將XXXX寫為具體數字,根據情況採用m或g為單位,如果命令能正確顯示出jdk的版本信息,則說明當前jdk支持XXXX的最大內存,如果不能正確顯示出版本信息則表示超出了jdk支持的最大值。例如:C:\Users\Administrator>java -Xmx1G -versionjava version "1.6.0_33"Java(TM) SE Runtime Environment (build 1.6.0_33-b03)Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)則表示當前jdk支持1G的內存。可以通過XXXX的值的增大來慢慢測試jdk所支持的最大的內存。一般在32位機器上,該最大值位於1.5G-2G之間,在64位機器上面應該沒啥限制,經測試寫9G也能正常得出版本信息。