




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1/1java和c#和php和各種數(shù)據(jù)庫優(yōu)缺點aJava優(yōu)點:
Java是一種跨平臺,適合于分布式計算環(huán)境的面向?qū)ο缶幊陶Z言下面我們將重點介紹Java語言的面向?qū)ο蟆⑵脚_無關(guān)、分布式、多線程、可靠和安全等特性。
1.面向?qū)ο竺嫦驅(qū)ο笃鋵嵤乾F(xiàn)實世界模型的自然延伸。
現(xiàn)實世界中任何實體都可以看作是對象。
對象之間通過消息相互作用。
另外,現(xiàn)實世界中任何實體都可歸屬于某類事物,任何對象都是某一類事物的實例。
如果說傳統(tǒng)的過程式編程語言是以過程為中心以算法為驅(qū)動的話,面向?qū)ο蟮木幊陶Z言則是以對象為中心以消息為驅(qū)動。
用公式表示,過程式編程語言為:
程序=算法+數(shù)據(jù);面向?qū)ο缶幊陶Z言為:
程序=對象+消息。
2.平臺無關(guān)性Java是平臺無關(guān)的語言是指用Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺上運行。
Java主要靠Java虛擬機(JVM)在目標碼級實現(xiàn)平臺無關(guān)性。
JVM是一種抽象機器,它附著在具體操作系統(tǒng)之上,本身具有一套虛機器指令,并有自己的棧、寄存器組等。
但JVM通常是在軟件上而不是在硬件上實現(xiàn)。
(目前,SUN系統(tǒng)公司已經(jīng)設(shè)計實現(xiàn)了Java芯片,主要使用在網(wǎng)絡(luò)計算機NC上。
3.分布式分布式包括數(shù)據(jù)分布和操作分布。
數(shù)據(jù)分布是指數(shù)據(jù)可以分散在網(wǎng)絡(luò)的不同主機上,操作分布是指把一個計算分散在不同主機上處理。
Java提供了一整套網(wǎng)絡(luò)類庫,開發(fā)人員可以利用類庫進行網(wǎng)絡(luò)程序設(shè)計,方便得實現(xiàn)Java的分布式特性。
4.可靠性和安全性首先,Java是強類型的語言,要求顯式的方法聲明,這保證了編譯器可以發(fā)現(xiàn)方法調(diào)用錯誤,保證程序更加可靠;其次,Java不支持指針,這杜絕了內(nèi)存的非法訪問;第三,Java的自動單元收集防止了內(nèi)存丟失等動態(tài)內(nèi)存分配導(dǎo)致的問題;第四,Java解釋器運行時實施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問的越界,最后,Java提供了異常處理機制,程序員可以把一組錯誤代碼放在一個地方,這樣可以簡化錯誤處理任務(wù)便于恢復(fù)。
上述幾種機制結(jié)合起來,使得Java成為安全的編程語言。
5.多線程Java在兩方面支持多線程。
一方面,Java環(huán)境本身就是多線程的。
若干個系統(tǒng)線程運行負責必要的無用單元回收,系統(tǒng)維護等系統(tǒng)級操作;另一方面,Java語言內(nèi)置多線程控制,可以大大簡化多線程應(yīng)用程序開發(fā)。
Java提供了一個類Thread,由它負責啟動運行,終止線程,并可檢查線程狀態(tài)。
Java的線程還包括一組同步原語。
這些原語負責對線程實行并發(fā)控制。
利用Java的多線程編程接口,開發(fā)人員可以方便得寫出支持多線程的應(yīng)用程序,提高程序執(zhí)行效率。
6.垃圾自動回收在Java中,編程人員不必為內(nèi)存管理操心。
Java系統(tǒng)有一個叫做無用單元收集器的內(nèi)置程序,它掃描內(nèi)存,并自動釋放那些不再使用的內(nèi)存塊。
aJava缺點:
1.缺少閉包:
閉包的缺失,使得在Java中做任何真正的函數(shù)式編程都是不可能的。
2.缺少一等函數(shù):
在Java里,要達到類似效果的唯一方式,是使用匿名內(nèi)部類的方法,這是一個拙劣的方法。
3.原生類型:
在Java中不是一切皆對象。
它造成了傳值與傳引用上的困擾,原生類型數(shù)據(jù)是通過值傳給方法的,而不是通過對象傳遞的。
4.受檢查異常:
在代碼里充斥大量的try...catch語句,這樣做只是將捕的獲異常,包裝成運行時異常,然后再重新拋出,讓接口缺少靈活性和可擴展性。
PPHP優(yōu)點:
1.良好的安全性PHP是開源軟件,所有PHP的源代碼每個人都可以看得到,代碼在許多工程師手中進行了檢測,同時它與Apache編繹在一起的方式也可以讓它具有靈活的安全設(shè)定,PHP具有了公認的安全性能。
開源造就了強大,穩(wěn)定,成熟的系統(tǒng)。
2.跨平臺特性PHP幾乎支持所有的操作系統(tǒng)平臺及數(shù)據(jù)庫系統(tǒng),并廣為流行。
3.執(zhí)行速度快,效率高PHP是一種強大的CGI腳本語言,語法混合了C、Java、Perl和PHP式的新語法,執(zhí)行網(wǎng)頁速度比CGI、Perl和ASP更快,而且內(nèi)嵌Zend加速引擎,性能穩(wěn)定快速,占用系統(tǒng)資源少,代碼執(zhí)行速度快。
PHP消耗相當少的系統(tǒng)資源。
4.很好的移植性和擴展性強PHP具有很好的開放性和可擴展性,PHP可以運行在任何服務(wù)器上(不管是windows還是Linux)屬于自由軟件,其源代碼完全公開,任何程序員為PHP擴展附加功能都非常容易。
在很多網(wǎng)站上都可以下載到最新版本的PHP。
目前,PHP主要是基于Web服務(wù)器運行的,支持PHP腳本運行的服務(wù)器有多種,其中最有代表性的為Apache和IIS。
5.支持面向?qū)ο竺嫦驅(qū)ο缶幊淌钱斍暗能浖_發(fā)趨勢,PHP對OOP提供了良好的支持。
可以使用OOP的思想來進行PHP的高級編程,對于提高PHP編程能力和規(guī)劃好Web開發(fā)構(gòu)架都非常有意義。
PPHP缺點:
1.對多線程不太支持:
對多線程支持不太好,大多數(shù)時候只能簡單的模擬去實現(xiàn)的。
2.對面向?qū)ο蟛惶С郑?/p>
對面向?qū)ο蟮闹С植惶?,相對于現(xiàn)在來說面向?qū)ο笥辛瞬簧俚奶嵘?/p>
3.編碼規(guī)范不太統(tǒng)一:
編碼規(guī)范不統(tǒng)一,有的人直接拼接,有的人用下劃線分開,有的人駝峰式,因為每個人都有自己的編碼習(xí)慣。
4.語法不太嚴謹:
變量不需要定義就可以使用,在java中變量是必須先定義以后才可以使用。
C#優(yōu)點:
1.效率與安全性:
C#可以提高開發(fā)效率,因為開發(fā)者在不斷縮短開發(fā)周期,不斷推出應(yīng)用程序的新版本。
C#在設(shè)計時就考慮了這些問題。
它使開發(fā)者用更少的代碼做更多的事,同時也不易出錯。
2.支持現(xiàn)有的網(wǎng)絡(luò)編程新標準:
新的應(yīng)用程序開發(fā)模型意味著越來越多地解決方案依賴于新出現(xiàn)的網(wǎng)絡(luò)標準,例如HTML,XML,SOAP等。
現(xiàn)存的開發(fā)工具往往都是早于Internet出現(xiàn)的,或者是在我們所熟知的網(wǎng)絡(luò)還處于孕育期時出現(xiàn)的。
所以,它們一般無法很好地支持最新的網(wǎng)絡(luò)技術(shù)。
3.消除大量程序錯誤:
C#消除了大量的程序錯誤。
有些小錯誤會帶來了難以預(yù)料的問題,有些甚至需要很長時間來尋找和解決。
一旦一個程序作為產(chǎn)品來使用,就算最簡單的錯誤糾正起來也可能要付出極其昂貴的代價。
4.對版本的更新提供內(nèi)在的支持降低了開發(fā)成本更新軟件組件是一項很容易出錯的工作,因為代碼的修改可能無意間改變原有程序的語義。
為協(xié)助開發(fā)者進行這項工作,C#為版本的更新提供內(nèi)在的支持。
例如,方法重載必須顯式聲明。
這樣可以防止編碼錯誤,保證版本更新的靈活性。
還有一個相關(guān)的特性就是對接口和接口繼承的內(nèi)在支持。
這些特性使得C#可以開發(fā)復(fù)雜的框架并且隨著時間不斷發(fā)展更新它。
5.擴展交互性:
作為一種自動管理的,類型安全的環(huán)境,C#適合于大多數(shù)企業(yè)應(yīng)用程序。
但實際的經(jīng)驗表明有些應(yīng)用程序仍然需要一些底層的代碼,要么是因為基于性能的考慮,要么是因為要與現(xiàn)有的應(yīng)用程序接口兼容。
這些情況可能會迫使開發(fā)者使用C++,即使他們本身寧愿使用更高效的開發(fā)環(huán)境。
C#缺點:
1.底層和高性能不合適:
不合適做時間性能很高(高速算法)或空間性能很靈活(內(nèi)存立即釋放)的程序,因為中間語言和編譯過程,比C/C++Native類型的語言會慢一些,內(nèi)存自動回收難以立即釋放不需要的內(nèi)存,不采用內(nèi)聯(lián)函數(shù)和析構(gòu)函數(shù)。
2.Windows平臺以外支持有限:
mono不夠成熟好用,window以外Java,Python等是很強大和同樣優(yōu)秀的。
MySSLQL優(yōu)點:
1.MySQL是一個快速、多線程、多用戶的SQL數(shù)據(jù)庫服務(wù)器,支持正規(guī)的SQL查詢語言和采用多種數(shù)據(jù)類型,能對數(shù)據(jù)進行各種詳細的查詢等。
2.MySql的核心程序采用完全的多線程編程。
線程是輕量級的進程,它可以靈活地為用戶提供服務(wù),而不過多的系統(tǒng)資源。
用多線程和C語言實現(xiàn)的MySQL能很容易充分利用CPU。
3.MySql可運行在不同的操作系統(tǒng)下。
簡單地說,MySQL可以支持Windows95/98/NT/2000以及UNIX、Linux和SUNOS等多種操作系統(tǒng)平臺。
這意味著在一個操作系統(tǒng)中實現(xiàn)的應(yīng)用可以很方便地移植到其他的操作系統(tǒng)下。
4.MySQL有一個非常靈活而且安全的權(quán)限和口令系統(tǒng),當客戶與MySQL服務(wù)器連接時,他們之間所有的口令傳送被加密,而且MySQL支持主機認證。
5.MySQL支持所有的ODBC2.5函數(shù)和其他許多函數(shù),這樣就可以用Access連接MySQL服務(wù)器,從而使得MySQL的應(yīng)用被大大擴展。
6.MySql支持大型的數(shù)據(jù)庫,MySQL可以方便地支持上千萬條記錄的數(shù)據(jù)庫。
作為一個開放源代碼的數(shù)據(jù)庫,MySQL可以針對不同的應(yīng)用進行相應(yīng)的修改。
7.MySql擁有一個非常地快速而且穩(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以持續(xù)使用面不必擔心其穩(wěn)定性。
事實上,MySQL的穩(wěn)定性足以應(yīng)付一個超大規(guī)模的數(shù)據(jù)庫。
8.MySQL具有強大的查詢功能,MySQL支持查詢的SELECT和WHERE語句的全部運算符和函數(shù),并且可以在同一查詢中混用來自不同數(shù)據(jù)庫的表,從而使得查詢變得快捷和方便。
LMySQL的缺點:
1.MySQL最大的缺點是其安全系統(tǒng),主要是復(fù)雜而非標準,另外只有到調(diào)用mysqladmin來重讀用戶權(quán)限時才發(fā)生改變。
2.MySQL的另一個主要的缺陷之一是缺乏標準的RI(ReferentialIntegrity-RI)機制;Rl限制的缺乏(在給定字段域上的一種固定的范圍限制)可以通過大量的數(shù)據(jù)類型來補償。
3.MySQL沒有一種存儲過程(StoredProcedure)語言,這是對習(xí)慣于企業(yè)級數(shù)據(jù)庫的程序員的最大限制。
4.MySQL不支持熱備份。
rSQLServer優(yōu)點:
1.SQLServer是一個真正的客戶/服務(wù)器體系結(jié)構(gòu),在這種體系結(jié)構(gòu)中,包括多臺計算機,其中處理應(yīng)用程序,請求服務(wù)的計算機稱為客戶機,處理數(shù)據(jù)庫的計算機稱為服務(wù)器。
2.SQLServer具有圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單,提供了表、視圖和查詢定義的圖形界面,在QueryAnalyze的圖形界面中使用SQL語言,服務(wù)器和數(shù)據(jù)庫的用戶配置的圖形化界面。
3.SQLServer具有豐富的編程接口工具,為用戶進行程序設(shè)計提供了更大的選擇余地,SQLServer提供了豐富的應(yīng)用程序接口來訪問服務(wù)器的數(shù)據(jù),主要的訪問方法有:
ODBCAPI、OLEDB、Transact-SQL和DB-Library,客戶機可以通過這些API作為動態(tài)連接庫來使用,并通過客戶端的網(wǎng)絡(luò)庫與SQLServer服務(wù)器通信。
4.SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等,與NT的安全性系統(tǒng)集成,利用NT的安全機制為服務(wù)器服務(wù),利用NT的性能監(jiān)測器和使用MSIndexServer;與MSBackOffice產(chǎn)品集成,如MSIIS、MSExchangeServer等結(jié)合。
SQLServer可以設(shè)置為用Exchange接收和發(fā)送電子郵件,用戶可以通過郵件信息向SQLServer發(fā)送查詢請求,查詢結(jié)果能夠通過電子郵件返回給用戶。
5.SQLServer對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上,在WebAssistant中可以將數(shù)據(jù)庫表中的數(shù)據(jù)引出來,還可以將HTML中的數(shù)據(jù)引入到數(shù)據(jù)庫中。
SQLServer的數(shù)據(jù)可以自動發(fā)行到Web頁上;用戶可以通過一個普通的瀏覽器來查詢存儲在SQLServer中的信息,因此可以用存儲在SQLServer中的信息創(chuàng)建動態(tài)Web頁。
6.SQLServer提供數(shù)據(jù)倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。
SQLServer2000中包括吸取和分析匯總數(shù)據(jù)以進行聯(lián)機分析處理(OLAP)的工具,還包括一些工具可用于直觀地設(shè)計數(shù)據(jù)庫并通過EnglishQuery來分析數(shù)據(jù)。
當同一數(shù)據(jù)庫在同一時間用于完成兩個任務(wù)時(輸入事務(wù)和運行查詢),數(shù)據(jù)庫功能將受到很大影響,在一個大范圍的查詢可能需要運行幾個小時,會鎖定許多記錄,這時數(shù)據(jù)輸入就無法操作,為防止這種沖突,數(shù)據(jù)通常被拷貝到單獨的數(shù)據(jù)庫中,稱為數(shù)據(jù)中心或數(shù)據(jù)倉庫;一個數(shù)據(jù)中心通常包括一個企業(yè)所有待分析數(shù)據(jù)的一個子集一個數(shù)據(jù)倉庫實質(zhì)上通常包含了一個機構(gòu)希望查詢的所有數(shù)據(jù)。
7.SQLServer支持XML,SQLServer2000數(shù)據(jù)庫引擎提供完整的XML支持,通過URL(UniformResourceLocator,統(tǒng)一資源定位器)訪問SQLServer,支持XML-Data模式,使用HTTP、ADO或OLEDB處理SQLServer2000的XML功能,如定義Server2000數(shù)據(jù)庫的XML視圖;可以通過XML對數(shù)據(jù)庫表中的數(shù)據(jù)進行操作,插入、更新或刪除,包括在單個操作中修改多個表中的多行。
rSQLServer缺點:
1.SQLServer只能運行在微軟的windows平臺,沒有絲毫的開放性可言。
2.SQLServer的并行實施和共存模型并不成熟,很難處理日益增多的用戶數(shù)和數(shù)據(jù)卷,伸縮性有限。
3.SQLServer性能穩(wěn)定性差,SQLServer當用戶連接多時性能會變的很差,并且不夠穩(wěn)定。
4.SQLServer完全重寫的代碼,經(jīng)歷了長期的測試,不斷延遲,許多功能需時間來證明。
并不十分兼容早期產(chǎn)品。
使用需要冒一定風險。
5.SQLServer客戶端支持及應(yīng)用模式單一,只支持C/S模式。
eOracle優(yōu)點:
1.Oracle能夠在所有主流平臺上運行(包括windows)完全支持所有工業(yè)標準采用完全開放策略使客戶選擇適合解決方案對開發(fā)商全力支持,同時也具有字符界面和圖形界面,易于開發(fā)。
2.Oracle平行服務(wù)器通過使一組結(jié)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題5.3 平面向量的數(shù)量積(原卷版)-2024年高考數(shù)學(xué)一輪復(fù)習(xí)精講精練寶典(新高考專用)
- 幼兒游戲教學(xué)案例
- 人教版(2024)七年級英語下冊Unit 6 學(xué)情調(diào)研測試卷(含答案)
- 路基拼寬施工方案
- 隧道風機房施工方案
- 2025年新高考地理全真模擬試卷4(含答案解析)
- 2025年高考地理二輪復(fù)習(xí):綜合題答題技巧(含練習(xí)題及答案)
- 幕墻防火防雷施工方案
- Unit 6 reading2 教學(xué)設(shè)計 2024-2025學(xué)年譯林版(2024)七年級英語上冊
- 小學(xué)課本劇一年級《小白兔和小灰兔》-劇本
- 2024年中考英語一般時態(tài)-一般現(xiàn)在時一般過去時一般將來時課件
- 2024-2029年中國艾草行業(yè)發(fā)展分析及投資風險預(yù)測分析報告
- 部編版二年級語文下冊第二單元課時練分層作業(yè)設(shè)計含答案
- 上春山二部合唱鋼琴伴奏正譜
- 船舶裝備自動化與智能化技術(shù)
- 有夢就去追主題班會課件
- 學(xué)校食堂餐廳投訴處理制度
- 小學(xué)三年級下冊心理健康教案
- 傳統(tǒng)店與網(wǎng)店的區(qū)別
- 市級優(yōu)質(zhì)課一等獎《誰是最可愛的人》七年級語文下冊同步備課課件(統(tǒng)編版)
- 防火門安全生產(chǎn)管理制度
評論
0/150
提交評論