Java 命令行工具總結
1、命令
C/Documents and Settings/Zianed>ls 『%JAVA_HOME%』/bin
HtmlConverter.exe javap.exe jstatd.exe rmid.exe
appletviewer.exe javaw.exe jvisualvm.exe rmiregistry.exe
apt.exe javaws.exe keytool.exe schemagen.exe
beanreg.dll jconsole.exe kinit.exe serialver.exe
extcheck.exe jdb.exe klist.exe servertool.exe
idlj.exe jhat.exe ktab.exe tnameserv.exe
jar.exe jinfo.exe msvcr71.dll unpack200.exe
jarsigner.exe jli.dll native2ascii.exe wsgen.exe
java-rmi.exe jmap.exe orbd.exe wsimport.exe
java.exe jps.exe pack200.exe xjc.exe
javac.exe jrunscript.exe packager.exe
javadoc.exe jstack.exe policytool.exe
javah.exe jstat.exe rmic.exe
需要獲得其中的幫助使用XX -help即可
Basic Tools
These tools are the foundation of the JDK. They are the tools you use to create and build applications.
Tool Name Brief Description Links to Reference Pages
javac The compiler for the Java programming language. [Solaris and Linux ] [Windows ]
java The launcher for Java applications. In this release, a single launcher is used both for development and deployment.
The old deployment launcher, jre , is no longer provided. [Solaris and Linux ] [Windows ]
javadoc API documentation generator.
See Javadoc Tool page for doclet and taglet APIs. [Solaris and Linux ] [Windows ]
apt Annotation processing tool.
See Annotation Processing Tool for program annotation processing. [Solaris, Linux, and Windows ]
appletviewer Run and debug applets without a web browser. [Solaris and Linux ] [Windows ]
jar Create and manage Java Archive (JAR) files.
See Java Archive Files page for the JAR specification. [Solaris and Linux ] [Windows ]
jdb The Java Debugger.
See JPDA for the debugger architecture specifications. [Solaris and Linux ] [Windows ]
javah C header and stub generator. Used to write native methods. [Solaris and Linux ] [Windows ]
javap Class file disassembler [Solaris and Linux ] [Windows ]
extcheck Utility to detect Jar conflicts. [Solaris and Linux ] [Windows ]
--------------------------------------------------------------------------------
Monitoring and Management Tools
You can use the following tools to monitor JVM performance and resource consumption. The tools described in this section are unsupported and experimental , and should be used with that in mind. They may not be available in future JDK versions.
Platform support:
•jconsole: all platforms.
•jps, jstat, and jstatd: all platforms except Windows 98 and Windows ME.
For more information, see Monitoring and Management for the Java Platform .
Tool Name Brief Description
jconsole Experimental : Java Monitoring and Management Console – JMX-compliant graphical tool for monitoring a Java virtual machine. It can monitor both local and remote JVMs.
jps Experimental : JVM Process Status Tool – Lists instrumented HotSpot Java virtual machines on a target system.
jstat Experimental : JVM Statistics Monitoring Tool – Attaches to an instrumented HotSpot Java virtual machine and collects and logs performance statistics as specified by the command line options.
jstatd Experimental : JVM jstat Daemon – Launches an RMI server application that monitors for the creation and termination of instrumented HotSpot Java virtual machines and provides a interface to allow remote monitoring tools to attach to Java virtual machines running on the local system.
--------------------------------------------------------------------------------
Troubleshooting Tools
The following tools can be used for specific troubleshooting tasks. The tools described in this section are unsupported and experimental in nature and should be used with that in mind. They may not be available in future JDK versions.
These tools are not currently available on Windows platforms .
Tool Name Brief Description
jinfo Experimental – Configuration Info for Java – Prints configuration information for for a given process or core file or a remote debug server.
jmap Experimental – Memory Map for Java – Prints shared object memory maps or heap memory details of a given process or core file or a remote debug server.
jsadebugd Experimental – Serviceability Agent Debug Daemon for Java – Attaches to a process or core file and acts as a debug server.
jstack Experimental – Stack Trace for Java – Prints a stack trace of threads for a given process or core file or remote debug server.
2 、命令簡單介紹
2.1 HtmlConverter
2.2 appletviewer
查看Applet程序的運行結果。
2.3 apt
2.4 extcheck
2.5 idlj
2.6 jar
將一個文件打成jar包,以提供給給程序,方便使用。
bash-3.2$ jar -help
非法選項:h
用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files …
選項包括:
-c 創建新的歸檔文件
-t 列出歸檔目錄
-x 解壓縮已歸檔的指定(或所有)文件
-u 更新現有的歸檔文件
-v 在標准輸出中生成詳細輸出
-f 指定歸檔文件名
-m 包含指定清單文件中的清單信息
-e 為捆綁到可執行 jar 文件的獨立應用程序
指定應用程序入口點
-0 僅存儲;不使用任何 ZIP 壓縮
-M 不創建條目的清單文件
-i 為指定的 jar 文件生成索引信息
-C 更改為指定的目錄並包含其中的文件
如果有任何目錄文件,則對其進行遞歸處理。
清單文件名、歸檔文件名和入口點名的指定順序
與 「m」、」f」 和 「e」 標志的指定順序相同。
示例 1:將兩個類文件歸檔到一個名為 classes.jar 的歸檔文件中:
jar cvf classes.jar Foo.class Bar.class
示例 2:使用現有的清單文件 「mymanifest」 並
將 foo/ 目錄中的所有文件歸檔到 「classes.jar」 中:
jar cvfm classes.jar mymanifest -C foo/ .
bash-3.2$ jar -cvf zianed.jar *.class
標明清單(manifest)
增加:A.class(讀入= 112) (寫出= 105)(壓縮了 6%)
增加:B.class(讀入= 246) (寫出= 184)(壓縮了 25%)
bash-3.2$
2.7 jarsigner
2.8 java-rmi
2.9 java
執行java語言,期中包括了一部分的java執行可以使用和引入的參數;也包括了部分執行時的信息收集信息。
bash-3.2$ java -version
java version 「1.6.0_10″
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode)
2.10 javac
java編譯器,將java源文件編譯成可以供jvm執行的二進制class文件。
bash-3.2$ javac -version
javac 1.6.0_10
2.11 javadoc
根據源文件生成java的doc文檔API。
2.12 javah
bash-3.2$ cd zianed
bash-3.2$ ls B.*
B.class B.java
bash-3.2$ cd ..
bash-3.2$ javah zianed.B
bash-3.2$ ls
zianed zianed_B.h
bash-3.2$
2.13 javap
將java位元組碼文件進行反編譯的工具。
bash-3.2$ javap zianed.B
Compiled from 「B.java」
public class zianed.B extends java.lang.Object implements zianed.A{
public zianed.B();
public void print();
public native java.lang.String getInfo();
}
bash-3.2$
2.14 javaw
The javaw command is identical to java , except that with javaw there is no associated console window. Use javaw when you don』t want a command prompt window to appear. The javaw launcher will, however, display a dialog box with error information if a launch fails for some reason.
2.15 javaws:
2.16 jconsole
Java Monitoring and Management Console
啟動java進程監控和管理控制台。監控和分析jvm的運行情況。
用法: jconsole [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ...]
-interval 將更新間隔時間設置為 n 秒(默認值為 4 秒)
-notile 最初不平鋪顯示窗口(對於兩個或更多連接)
-pluginpath 指定 jconsole 用於查找插件的路徑
-version 輸出程序版本
connection = pid || host:port || JMX URL (service:jmx:<protocol>://…)
pid 目標進程的進程 ID
host 遠程主機名或 IP 地址
port 用於遠程連接的埠號
-J 對正在運行 jconsole 的 Java 虛擬機指定輸入參數
Options are mutually exclusive. Option, if used, should follow immediately after the command name.
jstack prints Java stack traces of Java threads for a given Java process or core file or a remote debug server.
bash-3.2$ jstack -help
The jstatd tool is an RMI server application that monitors for the creation and termination of instrumented HotSpot Java virtual machines (JVMs) and provides a interface to allow remote monitoring tools to attach to JVMs running on the local host.
bash-3.2$ jstatd –help
Virtual Machine jstat Daemon
usage: jstatd [-nr] [-p port] [-n rminame]
2.26 jvisualvm
啟動VisualVM查看VM狀態。
bash-3.2$ jvisualvm &
[1] 3660
bash-3.2$
2.27 keytool
2.28 kinit
2.29 klist
2.30 ktab
2.31 native2ascii
對文件轉換編碼。
用法:native2ascii [-reverse] [-encoding 編碼] [輸入文件 [輸出文件]]
2.32 orbd
2.33 pack200
2.34 packager
2.35 polocytool
2.36 rmic
2.37 rmid
2.38 rmiregisty
2.39 schemagen
2.40 serialver
2.41 servertool
2.42 tnameserv
2.43 unpack200
2.44 wsgen
2.45 wsimport
2.46 xjc
3、jvm的部分參數
也就是在啟動Java虛擬機、或者執行JAVA時應該添加的程序。
Windows平台下在以下路徑下存在參數說明。
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
-Xbootclasspath/a<directories and zip/jar files separated by ;>
append to end of bootstrap class path
-Xbootclasspath/p<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs rece use of OS signals by Java/VM (see documentation)
-Xcheckjni perform additional checks for JNI functions
-Xshareoff do not attempt to use shared class data
-Xshareauto use shared class data if possible (default)
-Xshareon require using shared class data, otherwise fail.
The -X options are non-standard and subject to change without notice.
5 、最常用的工具
javac Java源代碼編譯工具
B. 寫java程序用哪一個版的eclipse比較好
看需求或個人喜好選擇
1、EclipseStandard該版本是eclipse最基礎的版本,適合Javase個人開發者、或希望根據自己需求配置插件的開發者使用虧猜則。
2、EclipseIDEforJavaEEDevelopers該版本集成了Javaee開發常用插件,方便動態web網站開發。適合Javaweb開發者使用。集成了XML編輯器、資料庫查看工具,提供jsp可視化編輯器。
3、EclipseIDEforJavaDevelopers該版本適合Java開發者兆胡,集成CVS,Git,XML編輯器,Mylyn,Mavenintegration和WindowBuilder等插件。
4、EclipseforPHPDevelopers該版本適合PHP開發者,集成了良好的PHP語言支持,Git客戶端,Mylyn和JavaScript腳本編輯器,HTML,CSS和XML。
C. 常見的十五種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 開發工具。
D. Java,Delphi,C++,VB,各有什麼應用領域
編程語言的資料庫性能比較
摘要:隨著計算機技術不斷發展,各種資料庫編程工具也隨著發展,使當今的大多數程序開發人員可以擺脫枯燥無味的用計算機指令或匯編語言開發軟體,而是利用一系列高效的、具有良好可視化的編程工具去開發各種資料庫軟體,從而達到事半功倍的效果,但是現在市面上的資料庫編程工具門類眾多,優良不齊,比如VB,VC,DEPHI,PB等,對此我特別針對流行的開發語言介紹相應的較為成熟的資料庫編程工具。
關鍵字:資料庫編程 程序開發工具
幾種支持資料庫的語言介紹
VB
全稱Visual Basic,它是以Basic語言作為其基本語言的一種可視化編程工具。在中國乃至全世界都能看到它的身影,它曾是在中國最為流行的編程工具,到現在還占據著非常重要的地位,對於它的好壞大家都有一定的了解,VB作為一種較早出現的開發程序以其容易學習,開發效率較高,具有完善的幫助系統等優點曾影響了好幾代編程人員,但是由於VB不具備跨平台這個特性,從而也決定了VB在未來的軟體開發中將會逐漸地退出其歷史舞台;它對組件技術的支持是基於COM和ActiveX,對於組件技術不斷完善發展的今天,它也顯出了它的落後性;同時VB在進行系統底層開發的時候也是相對復雜的,調用API函數需聲明,調用不方便,不能進行DDK編程,不可能深入Ring0編程,不能嵌套匯編;而且面向對象的特性差;網路功能和資料庫功能也沒有非常突出的表現,綜上所述,VB作為一種可視化的開發工具由於其本身的局限性,導致了它在未來軟體開發中逐步被其他工具所代替。
PB
全稱PowerBuilder,是開發MIS系統和各類資料庫跨平台的首選,使用簡單,容易學習,容易掌握,在代碼執行效率上也有相當出色的表現。PB是一種真正的4GL語言(第四代語言),可隨意直接嵌套SQL語句返回值被賦值到語句的變數中,支持語句級游標,存儲過程和資料庫函數,是一種類似SQLJ的規范,數據訪問中具有無可比擬的靈活性。但是它在系統底層開發中犯了跟VB一樣的錯誤,調用API函數需聲明,調用不方便,不能進行DDK編程,不可能深入Ring0編程,不能嵌套匯編;在網路開發中提供了較多動態生成Web頁面的用戶對象和服務以及系統對象,非常適合編寫服務端動態Web應用,有利於商業邏輯的封裝;但是用於網路通訊的支持不足;靜態頁面定製支持有限,使得PB在網路方面的應用也不能非常廣泛。面向對象特向也不是太好。
C++Builder/Delphi
它們都是基於VCL庫的可視化開發工具,它們在組件技術的支持、資料庫支持、系統底層開發支持、網路開發支持、面向對象特性等各方面都有相當不錯的表現,並且學習使用較為容易,充分提現了所見即所得的可視化開發方法,開發效率高。由於兩者都是Borland 公司的產品,自然繼承了該公司一貫以來的優良傳統:代碼執行效率高。但是,它們並不是毫無缺點,它們所作的最大不足之處就是他們的幫助系統在眾多的編程工具中是屬於比較差的。C++Builder 的VCL庫是基於Object pascal(面向對象pascal),使得C++Builder在程序的調試執行上都面向落後於其他編程工具。而Delphi則是它的語言不夠廣泛,開發系統軟體功能不足兩個比較大的缺點。
Visual C++
是基於MFC庫的可視化的開發工具,從總體上說它是一個功能強大但是不便使用的一種工具。它在網路開發和多媒體開發都具有不俗的表現,幫助系統也做得非常不錯(Microsoft 在細節方面的處理往往都讓人覺得親切),但是雖然是使用C++作為基本語言,但是它在面向對象特性上卻不夠好,主要是為了兼容C的程序,結果顧此失彼;在組件支持上也不太好,雖然說除了支持COM,ActiveX外還支持CORBA,但是沒有任何IDE支持,是所有C編譯器的功能, 需要CORBA中間件支持;最大的問題是開發效率也不高。
Java
目前比較出名的是Borland出的JBuilder和IBM出的Visual Age for Java,兩種工具都有一定數量的是用人群。JBuilder繼承了C++Builder/Delphi的特點,在可視化上做得非常不錯,使用簡便。由於Java本身語言的特點使得他們在網路開發中具有高人一等的表現,而且面向對象特性高,支持的組件技術也非常多,跨平台的特性也使得它在現在和未來的開發中占據越來越重要的地位。但是在系統底層開發和多媒體開發中卻表現得並不讓人那麼滿意,這個可能跟設計Java的意圖有關吧。
開發工具訪問資料庫的技術比較
2.1數據訪問對象:
VB:DAO,ADO,RDO功能相仿;
PB:Transaction,DwControl,可綁定任何SQL語句和存儲過程,數據訪問具有無與比擬的靈活性
C++ Builder/Dephi:具有包括DataSource,Table,Query,Midas,ADO在內的二十多個組件和類完成數據訪問
VC:同VB,但有不少類庫可供使用,但極不方便,開發效率很低
Java:Java JDBC API,不同的IDE具有不同的組件
2.2 數據表現對象:
VB:DBGriD,與資料庫相關的數據表現控制項只有此一種,只能表現簡單表格數據,表現手段單一
PB:DataWindow對象(功能異常強大,其資源描述語句構成類似HTML的另外一種語言,可在其中插入任何對象,具有包括DBGrid在內的數百種數據表現方法),只此一項功能就註定了PB在資料庫的功能從誕生的那一天起就遠遠超過了某些開發工具今天的水平
C++Builder/Dephi:具有包括DBGrid,DBNavigator,DBEdit, DBLookupListBox在內的15個數據感知組件,DecisionCube, DecisionQuery在內的6個數據倉庫組件和包括QRChart, QRExpr在內的20多個報表組建,可靈活表現數據
VC:同數據訪問對象
Java:不同的IDE具有不同的組件,比較著名的有Jbuilder,PowerJ, VisualAge for Java
2.3 語句執行方式:
VB:將一句SQL串綁定到一個命令對象中,結果返回到ResultSet對象中自行拆取
PB:是一種真正的4GL語言,可隨意直接嵌套SQL語句返回值被賦值到語句的變數中,支持語句級游標,存儲過程和資料庫函數,是一種類似SQLJ的規范
C++ Builder/Dephi:使用資料庫組件或類完成SQL語句串的執行和提交
VC:同數據訪問對象
Java:SQLJ,Java JDBC API
各種開發工具其他的比較分析
3.1面向對象特性
VB:差;PB:較好;C++ Builder/Dephi:很好; VC:一般 ;Java:非常好
3.2跨平台特性
VB:跨平台性不怎麼好,但是可以與WINDOWS 家族無縫連接。
PB:跨平台性一般
C++ Builder/Dephi:WINDOWS家族,Linux
VC:無
Java:所有能夠運行Java虛擬機的操作系統
3.3 組件技術支持
VB:COM,ActiveX
PB:COM,JavaBean,Jaguar,UserObject使用:CORBA+Acti veX
C++ Builder/Dephi:COM, ActiveX CORBA(本身自帶CORBA中間件VisiBroker,有豐富向導)
VC:COM,ActiveX,CORBA(沒有任何IDE支持,是所有C編譯器的功能,需要CORBA中間件支持)
Java:JavaBean,CORBA;ActiveX
3.4網路或Web開發支持
VB:Asp,VBScript,具有編寫DHTML的簡單IDE,編寫靜態頁面非常方便;用於網路通訊的支持一般
PB:DynaSript, Web.PB;提供了較多動態生成Web頁面的用戶對象和服務以及系統對象,非常適合編寫服務端動態Web應用,有利於商業邏輯的封裝;用於網路通訊的支持不足;靜態頁面定製支持有限
C++ Builder/Dephi:ISAPI,WININET API等各類網路或互聯網API可自由而方便的調用;提供了ServerSocket,ClientSocket等三十餘個組件及類,用來處理網路通訊控制,流處理,Mail,Email,FTP,HTTP等應用協議處理以及生成動態頁面和商業邏輯的封裝;功能強大,使用方便
VC:SAPI,WININET API等各類網路或互聯網API可自由而方便的調用;提供CAsyncSocket等數量眾多的類;功能強大但使用不太方便
Java:不可直接調用API但內置非常多的網路及互聯網功能;可利用Servlet API,Java Bean API,以及JSP等協同開發功能強大的Web應用;功能強大,對於某些IDE使用不太方便
各種開發工具綜合評價
VB:是新人開發與系統無關的綜合應用程序的首選;容易使用和廠商財力很強是其僅有的兩點優勢。VB開發效率高,代碼執行效率一般,但是入門和學習速度快,有較好的學習氛圍和幫助書籍和幫助文檔。但是隨著微軟的.net技術的推廣,VB將會逐漸推出歷史舞台。
PB:是開發大型MIS及各類資料庫跨平台應用的首選;從資料庫前端工具來講甚至遠遠超過了Oracle的Develop系列等專門的工具;從通用語言角度來講功能也與VB等不相上下;多媒體和網路功能與其他工具相比較弱。
PB最大的優勢就是Datawindow技術的成熟和方便,他成為PB與其他資料庫開發工具抗衡的資本。同時PB在對Java和WEB,以及面向對象方面的發展也可以預見PB將成繼續成為資料庫系統(特別是MIS系統)開發工具的首選。同時PB的強大幫助文檔也為初學者提供了入門基礎,PB連接資料庫的自由和方面也為PB的提供了方便,同時PB對API的調用以及對報表的處理強大。但是PB的高級編程書籍的缺乏和基礎語言PowerScript的普及程度對PB的明天有一定的限制。
C++ Builder/Dephi:是唯一一套能夠同時適用於開發資料庫應用、網路及Web應用、分布式應用、可重用組件、系統軟體、驅動程序、多媒體及游戲等所有軟體的高效率開發環境;VCL源碼基於Object Pascal是C++ Builder 唯一的缺憾,基礎語言不夠通用和開發系統軟體功能不足是Dephi僅有的兩點不足。
VC:從功能上講除了跨平台應用外什麼都可開發;從開發效率角度講只局限於開發windows系統應用、可重用組件及驅動程序。 又因為有微軟的支持,其自身的基礎語言的普及程度高,以及其代碼的執行效率高等特性、VC自帶強大幫助文檔和大量優質教材,VC在資料庫開發工具中始終可以穩住陣角。
Java:適用於開發除了系統軟體、驅動程序、高性能實時系統、大規模圖像處理以外所有的應用。在一般的管理信息系統中和一般的資料庫開發中,很少有人會選擇Java,一是由於其開發環境的配置較難,已經和資料庫連接時較為負責,對開發人員的開發經驗和學習時間都要很高要求,所以對於經驗不是很豐富的開發人員一般是不選擇Java,但是Java的強大網路功能和真正的面向對象特性決定了Java的未來,Java將在一個較為長期的時段里可以與微軟家族抗衡。
選擇開發工具的幾點建議:
如果你的程序基本上完全是數據錄入、查詢、匯總、列印等,性能要求高,打算使用C/S結構,那麼PowerBuilder的確是不錯的選擇。
如果資料庫要求不高,只是本地的,對於用戶界面、通信、多媒體等方面有要求,那麼我覺得VB、VC、Delphi更好。我個人不太喜歡BDE,主要是分發和建立別名比較麻煩。
一旦你確定了基本使用的語言,那麼採用什麼方式也就定下來。如對於VC、VB,訪問本地資料庫一般為DAO,訪問伺服器上資料庫一般使用ODBC/RDO/ADO。我在訪問本地資料庫一般不使用ADO,主要是在配置比較低的機器上速度比較慢,不過DAO遲早要被ADO取代。
同時結合MS SQL或是My SQL的其他功能,比如觸發器,存儲過程,視圖等
如果你要編寫一個人事管理系統,看你要運行在什麼樣的環境里,如果單是在一台機子上運行,用DELPHI做是最好的,這樣做出來的系統簡單易懂,操作性好,而且有很多功能的代碼可以在網上找到現成的,省事很多。要是在區域網中運行,我覺得可以用ASP。NET或DELPHI,效果都很不錯,開發也很容易。你自己可以根據自己的情況做,最重要看自己比較擅長於哪種語言,不要只看優勢而不考慮自己的情況,這樣就算用別人評價好的工具來做效果也不一定很好。任何一種開發語言都有其優勢和不足之處,所以開發軟體時你最重要的是考慮自己的情況,選擇自己擅長的語言來開發。
E. 免費java開發工具有哪些實用型java開發工具特點
F. 做軟體要用到什麼編程語言
其實沒種軟體都能夠編寫程序的,要根據程序員的特點和程序本身的特點去選擇編程軟體。
下面是我從網上找到的根據特點分析各種編程軟體,供樓主參考。
一、跨平台特性
VB:無 ★
PB:WINDOWS家族, Solaris,Macintosh ★★★
C++ Builder/Dephi:WINDOWS家族,Linux ★★★
VC:無 ★
JAVA:所有能夠運行JAVA虛擬機的操作系統 ★★★★
二、組件技術支持
VB:COM,ActiveX ★★★
PB:COM,JavaBean,Jaguar,UserObject使用:CORBA+Acti veX ★★★
C++ Builder/Dephi:COM, ActiveX CORBA(本身自帶CORBA中間件 VisiBroker,有豐富向導) ★★★★★
VC:COM,ActiveX,CORBA(沒有任何IDE支持,是所有C編譯器的功能, 需要CORBA中間件支持) ★★★
JAVA:JavaBean,CORBA;ActiveX ★★★★
三、資料庫支持級別
數據訪問對象:
VB:DAO,ADO,RDO功能相仿; ★
PB:Transaction,DwControl,可綁定任何SQL語句和存儲過程,數據訪問具有無與比擬的靈活性 ★★★★
C++ Builder/Dephi:具有包括DataSource,Table,Query,Midas,ADO在內的二十多個組件和類完成數據訪問 ★★★
VC:同VB,但有不少類庫可供使用,但極不方便,開發效率很低 ★★
JAVA:JAVA JDBC API,不同的IDE具有不同的組件 ★★
數據表現對象:
VB:DBGriD,與資料庫相關的數據表現控制項只有此一種,只能表現簡單表格數據,表現手段單一 ★
PB:DataWindow對象(功能異常強大,其資源描述語句構成類似HTML的另外一種語言,可在其中插入任何對象,具有包括DBGrid在內的數百種數據表現方法),只此一項功能就註定了PB在資料庫的功能從誕生的那一天起就遠遠超過了某些開發工具今天的水平 ★★★★★
C++ Builder/Dephi:具有包括DBGrid,DBNavigator,DBEdit,DBLookupListBox在內的15個數據感知組件,DecisionCube,DecisionQuery在內的6個數據倉庫組件和包括QRChart, QRExpr 在內的20多個報表組建,可靈活表現數據 ★★★
VC:同數據訪問對象 ★
JAVA:不同的IDE具有不同的組件,比較著名的有Jbuilder,PowerJ, VisualAge for Java ★★
語句執行方式:
VB:將一句SQL串綁定到一個命令對象中,結果返回到ResultSet對象中自行拆取 ★
PB:是一種真正的4GL語言,可隨意直接嵌套SQL語句返回值被賦值到語句的變數中,支持語句級游標,存儲過程和資料庫函數,是一種類似SQLJ的規范 ★★★★★
C++ Builder/Dephi:使用資料庫組件或類完成SQL語句串的執行和提交★★
VC:同數據訪問對象 ★
JAVA:SQLJ,JAVA JDBC API ★★★★
四、系統底層開發支持
VB:調用API需申明,調用不方便,不能進行DDK編程,不可深入Ring0編程,不可嵌套匯編 ★
PB:調用API需申明,調用不方便,不能進行DDK編程,不可深入Ring0編程,不可嵌套匯編 ★
C++ Builder/Dephi:直接調用API,可進行DDK編程,可深入Ring0編程,可嵌套匯編 ★★★★★/★★
VC:直接調用API,可進行DDK編程,可深入Ring0編程,可嵌套匯編 ★★★★★
JAVA:推出了JINI規范但不能對不支持JINI的設備編程,眼下並不實用 ★
五、多媒體及圖形圖像開發支持
VB:可進行Direct Api編程;調用OpenGL很不方便;自帶少量圖形圖像處理控制項,使用方便但功能一般;支持圖像文件類型較少 ★★
PB:可進行Direct Api編程;調用OpenGL很不方便;圖形圖像處理不方便但可調用API完成圖形圖像操作,也可藉助控制項開發;支持圖像文件類型很多 ★
C++ Builder/Dephi:可進行Direct Api編程;調用OpenGL比較方便;自帶豐富的圖形圖像處理組件及類,使用很方便且功能強大;支持圖像文件類型一般 ★★★★★
VC:可進行Direct Api編程;調用OpenGL比較方便;自帶豐富的圖形圖像處理類,使用不方便但功能強大;支持圖像文件類型較少 ★★★★
JAVA:很難調用Direct Api和OpenGL;自帶相當豐富的圖形圖像處理組件及類,使用不方便但功能強大;支持圖像文件類型一般 ★★★★
六、網路或Web開發支持
VB:Asp,VBScript,具有編寫DHTML的簡單IDE,編寫靜態頁面非常方便;用於網路通訊的支持一般 ★★
PB:DynaSript, Web.PB;提供了較多動態生成Web頁面的用戶對象和服務以及系統對象,非常適合編寫服務端動態Web應用,有利於商業邏輯的封裝; 用於網路通訊的支持不足;靜態頁面定製支持有限 ★
C++ Builder/Dephi:ISAPI,WININET API等各類網路或互聯網API可自由而方便的調用;提供了Server Socket,ClientSocket等三十餘個組件及類,用來處理網路通訊控制,流處理,Mail,Email,FTP,HTTP等應用協議處理以及生成動態頁面和商業邏輯的封裝;功能強大,使用方便 ★★★★★
VC:SAPI,WININET API等各類網路或互聯網API可自由而方便的調用;提供CAsyncSocket等數量眾多的類;功能強大但使用不太方便 ★★★
JAVA:不可直接調用API但內置非常多的網路及互聯網功能;可利用Servlet API,Java Bean API,以及JSP等協同開發功能強大的Web應用;功能強大,對於某些IDE使用不太方便 ★★★★★
七、開發模式
VB:控制項開發模式(OCX) ★★
PB:組件開發模式(User Object) ★★
C++ Builder/Dephi:源代碼組件開發模式(VCL) ★★★★★
VC:應用程序框架開發模式(MFC) ★
JAVA:框架開發模式(JDK下)+組件開發模式(IDE下) ★★★
八、面向對象特性
VB:差 ★
PB:較好 ★★★
C++ Builder/Dephi:很好 ★★★★
VC:一般 ★★
JAVA:非常好 ★★★★★
九、開發效率
VB:較高 ★★★
PB:很高 ★★★★★
C++ Builder/Dephi:高 ★★★★
VC:低 ★
JAVA:高 ★★★★
十、代碼執行效率
VB:一般 ★★
PB:較高 ★★★
C++ Builder/Dephi:很高 ★★★★★
VC:很高 ★★★★★
JAVA:低 ★
十一、幫助系統
VB:很好 ★★★★★
PB:較好 ★★★
C++ Builder/Dephi:差 ★
VC:好 ★★★★
JAVA:較好 ★★★
十二、易學程度
VB:非常好 ★★★★★
PB:好 ★★★
C++ Builder/Dephi:好 ★★★
VC:不好 ★
JAVA:不好 ★
十三、使用人數
VB:很多 ★★★★★
PB:較多 ★★★
C++ Builder/Dephi:較多 ★★★
VC:多 ★★★★
JAVA:不多 ★
十四、廠商財力
VB:非常強大 ★★★★★
PB:比較強大 ★★★
C++ Builder/Dephi:一般 ★★
VC:非常強大 ★★★★★
JAVA:強大 ★★★★
十五、發展潛力
VB:差 ★
PB:一般 ★★
C++ Builder/Dephi:一般 ★★
VC:好 ★★★
JAVA:非常好 ★★★★★
十六、基礎語言廣泛性
VB:很好 ★★★★
PB:一般 ★★
C++ Builder/Dephi:很好/差 ★★★★/★
VC:很好 ★★★★
JAVA:很好 ★★★★
結論:
VB:是新人開發與系統無關的綜合應用程序的首選;容易使用和廠商財力很強是其僅有的兩點優勢
PB:是開發大型MIS及各類資料庫跨平台應用的首選;從資料庫前端工具來講甚至遠遠超過了Oracle的Develop系列等專門的工具;從通用語言角度來講功能也與VB等不相上下;多媒體和網路功能與其他工具相比較弱
C++ Builder/Dephi:是唯一一套能夠同時適用於開發資料庫應用、網路及Web應用、分布式應用、可重用組件、系統軟體、驅動程序、多媒體及游戲等所有軟體的高效率開發環境;VCL源碼基於Object Pascal是C++Builder唯一的缺憾,基礎語言不夠通用和開發系統軟體功能不足是Dephi僅有的兩點不足
VC:從功能上講除了跨平台應用外什麼都可開發;從開發效率角度講只局限於開發windows系統應用、可重用組件及驅動程序
JAVA:適用於開發除了系統軟體、驅動程序、高性能實時系統、大規模圖像處理以外所有的應用