1.平臺無關性
平臺無關性是指Java能運行於不同的平臺。Java引進虛擬機 原理,並運行於虛擬機,實現不同平臺的Java接口之間。使用Java編寫的程序能在世界範圍內***享。Java的數據類型與 機器無關,Java虛擬機(Java Virtual Machine)是建立在硬件和操作系統之上,實現Java二進制代碼的解釋執行功能, 提供於不同平臺的接口的。
2.安全性
Java的編程類似C++,學習過C++的讀者將很快掌握Java的精髓。Java舍棄了C++的指針對存儲器地址的直接操作,程序運行時,內存由操作系統分配,這樣可以避免病毒通過指針侵入系統。Java對程序提供了安全管理器,防止程序的非法訪問。
3.面向對象
Java吸取了C++面向對象的概念,將數據封裝於類中,利用類的優點,實現了程序的簡潔性和便於維護性。類的封裝性、繼承性等有關對象的特性,使程序代碼只需壹次編譯,然後通過上述特性反復利用。程序員只需把主要精力用在類和接口的設計和應用上。Java提供了眾多的壹般對象的類,通過繼承即可使用父類的方法。在Java中,類的繼承關系是單壹的非多重的,壹個子類只有壹個父類,子類的父類又有壹個父類。Java提供的Object類及其子類的繼承關系如同壹棵倒立的樹形,根類為Object類,Object類功能強大,經常會使用到它及其它派生的子類。
4.分布式
Java建立在擴展TCP/IP網絡平臺上。庫函數提供了用HTTP和FTP協議傳送和接受信息的方法。這使得程序員使用網絡上的文件和使用本機文件壹樣容易。
5.健壯性
Java致力於檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發早期出現的錯誤。Java自己操縱內存減少了內存出錯的可能性。Java還實現了真數組,避免了覆蓋數據的可能,這些功能特征大大提高了開發Java應用程序的周期。並且Java還提供了Null指針檢測、數組邊界檢測、異常出口、Byte code校驗等功能。
Java與C/C++語言
Java提供了壹個功能強大語言的所有功能,但幾乎沒有壹點含混特征。C++安全性不好,但C和C++被大家接受,所以Java設計成C++形式,讓大家很容易學習。Java去掉了C++語言中的指針運算、結構、typedefs、#define、需要釋放內存等功能,減少了平常出錯的50%,讓Java的語言功能很精煉。而且,因為Java很小,所以整個解釋器只需215K的RAM,並增加了壹些很有用的功能,如自動收集碎片。Java實現了C++的基本面象對象技術並有壹些增強,(為了語言簡單,刪除了壹些功能)。Java處理數據方式和用對象接口處理對象數據方式壹樣。
Java與C和C++直接相關.Java繼承了C的語法,Java 的對象模型是從C++改編而來的.現代程序設計始於C,而後過渡到C++,現在則是JAVA.通過大量的繼承,JAVA提供了壹個強大的,可以更好地利用已有成果的,邏輯壹致的程序設計環境,並且增加了在線環境需求的新功能.或許最重要的壹點在於,由於它們的相似性,C,C++和JAVA為專業程序員定義了壹個統壹的概念架構.程序員從其中的壹種語言轉到另壹種語言時,不會遇到太大的困難.
Qt軟件
Qt 是壹個跨平臺的 C++ 圖形用戶界面庫,由挪威 TrollTech 公司於1995年底出品。
Trolltech 公司在 1994 年成立,但是在 1992 年,成立 Trolltech 公司的那批程序員 就已經開始設計 Qt 了,Qt 的第壹個商業版本於 1995 年推出然後 Qt 的發展就很快了,下面是 Qt 發展史上的壹 些裏程碑:
* 1996 Oct KDE 組織成立
* 1998 Apr 05 Trolltech 的程序員在 5 天之內將 Netscape5.0 從 Motif 移植到 Qt 上
* 1998 Apr 08 KDE Free Qt 基金會成立
* 1998 Jul 09 Qt 1.40 發布
* 1998 Jul 12 KDE 1.0 發布
* 1999 Mar 04 QPL 1.0 發布
* 1999 Mar 12 Qt 1.44 發布
* 1999 Jun 25 Qt 2.0 發布
* 1999 Sep 13 KDE 1.1.2 發布
* 2000 Mar 20 嵌入式 Qt 發布
* 2000 Sep 06 Qt 2.2 發布
* 2000 Oct 05 Qt 2.2.1 發布
* 2000 Oct 30 Qt/Embedded 開始使用 GPL 宣言
* 2000 Sep 04 Qt free edition 開始使用 GPL
自從1996年早些時候,Qt進入商業領域,它已經成為全世界範圍內數千種成功的應用程序的基礎。Qt也是流行的Linux桌面環境KDE 的基礎,KDE是所有主要的Linux發行版的壹個標準組件。
基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等圖形界 面庫和 Windows 平臺上的 MFC,OWL,VCL,ATL 是同類型的東西,但是 Qt 具有下列優點:
1. 優良的跨平臺特性:
Qt支持下列操作系統: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。
2. 面向對象
Qt 的良好封裝機制使得 Qt 的模塊化程度非常高,可重用性較好,對於用戶開發來說是非常 方便的。 Qt 提供了壹種稱為 signals/slots 的安全類型來替代 callback,這使得各個元件 之間的協同工作變得十分簡單。
3. 豐富的 API
Qt 包括多達 250 個以上的 C++ 類,還替供基於模板的 collections, serialization, file, I/O device, directory management, date/time 類。甚至還包括正則表達式的處理 功能。
4.支持 2D/3D 圖形渲染,支持 OpenGL
5.大量的開發文檔
6.XML 支持
Qt支持下述平臺:
MS/Windows - 95、98、NT 4.0、ME、2000、XP 、 Vista和Win7
Unix/X11 - Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX和其它很多X11平臺
Macintosh - Mac OS X
Embedded - 有幀緩沖(framebuffer)支持的Linux平臺,Windows CE。
Symbian/S60 - 目前已經可以提供技術預覽版本
2008年1月31日,Nokia公司宣布通過公開競購的方式收購TrollTech公司,旗下包括Qt在內的技術都歸入Nokia旗下。並且Nokia針對自己的移動設備平臺規劃的需要,將Qt按不同的版本發行:
Qt商業版 提供給商業軟件開發。它們提供傳統商業軟件發行版並且提供在協議有效期內的免費升級和技術支持服務。
Qt開源版是Qt僅僅為了開發自由和開放源碼軟件, 提供了和商業版本同樣的功能。GNU通用公***許可證下,它是免費的。
從2009年3月發布的Qt 4.5 起,諾基亞將為Qt增添新的開源LGPL授權選擇。
關於如何正確的選擇這三種授權協議,可以閱讀[1]。
從2009年5月11日起,諾基亞Qt Software 宣布 Qt源代碼庫面向公眾開放,Qt 開發人員可通過為 Qt 以及與 Qt 相關的項目貢獻代碼、翻譯、示例以及其他內容,協助引導和塑造 Qt未來的發展。為了便於這些內容的管理,Qt Software 啟用了基於 Git 和 Gitorious 開源項目的Web 源代碼管理系統[2] 。
在推出開放式 Qt 代碼庫的同時,Qt Software 在其官方網站發布了其產品規劃(Roadmap)。其中概述了研發項目中的最新功能,展現了現階段對 Qt 未來發展方向的觀點,以期鼓勵社區提供反饋和貢獻代碼,***同引導和塑造 Qt 的未來。