- 相關(guān)推薦
JAVA和.NET開發(fā)過程中的區(qū)別
眾所周知,java與.net是不同的,那么兩者到底有什么區(qū)別呢?下面跟小編一起來看看吧!
JAVA和.NET開發(fā)過程中的區(qū)別
Jave技術(shù)應(yīng)用特點:Java開發(fā)者使用最多的JDK版本是JDK1.6和JDK1.7;使用最多的服務(wù)器是Tomcat,最常用的開發(fā)工具是Eclipse;
.NET技術(shù)應(yīng)用特點:.NET開發(fā)者對.NET平臺最滿意是其語言和框架設(shè)施部分,開發(fā)人員最關(guān)注的技術(shù)分別是ASP.NETMVC、ASP.NETWebPages、WindowsAzure相關(guān)的云計算技術(shù)。
說話的分歧點:
Java說話和C#說話很是相似,雖然內(nèi)部會有良多區(qū)別,供給的API也紛歧樣,但開發(fā)一個具體功能點的思緒常用的都差不多,因為對斗勁新的手藝和特征開發(fā)過程中接觸不多,我所碰著的分歧點搜羅:
1、Java包的名字是和物理文件位置一一對應(yīng)的, C#瑯縵泓名空間可以隨便寫,而且編譯出來的軌范集也可以隨便更改,可以不和命名空間連結(jié)一致,軌范集和JAVA里零丁打出來的jar包是差不多的意思。
2、JAVA的一個文件只能有一個公共類,而C#可以多個公共類在一個文件里。
3、如不美觀找到一個JAR包,Java查看新jar包的體例字段描述,需要有零丁的對應(yīng)jar包的doc文檔,才能看到接口挪用參數(shù)聲名,否則看起來不直不美觀,可是如不美觀有源碼打出來的jar包,調(diào)試的時辰可以便利的看到該包的源代碼NET里只要有了dll文件,就能便利的看到體例元數(shù)據(jù)挪用參數(shù),可是看接事數(shù)具體聲名,仍是需要對應(yīng)dll的xml文檔。
4、對于WEB開發(fā),JAVA里Filter,Servlet,Listener是很常用的,Java里的Filter可以用。NET里的module來實現(xiàn)一些功能,但Filter可以擬定浸染請求規(guī)模,module是全局節(jié)制的;Servlet相當(dāng)于一個具體的handler,可以對擬定請求進行措置,Listerner可以用。NET里的Application_Start里來完成一些功能,可是JAVA里集成了部門默認(rèn)Listerner,它在WEB應(yīng)用啟動的時辰就瞥綬執(zhí)行。它們的具體執(zhí)行流程為:WEB啟動時,Listener的ContextInitialized體例->所有Filter的Init(不管filter-mapping的值)->所有設(shè)置裝備擺設(shè)了load-on-startup大于等于0的Servlet的init體例(不管servlet-mapping的值),具體請求為:具體Servlet的init(只執(zhí)行一次)->Filter doFilter(請求設(shè)置裝備擺設(shè)的filter-mapping的value)->Servlet service; 最后網(wǎng)站釋放的執(zhí)行挨次為:Filter destroy-》Listener contextDestroyed.
5、Java里的Final關(guān)頭字,當(dāng)給一個字段時,暗示該字段不能改削,機關(guān)函數(shù)里都不能改削,這個和C#的const有點像,可是const默認(rèn)是static的。和C#的readonly也斗勁像,可是readonly可以在機關(guān)函數(shù)里改削。當(dāng)它作為一個體例的潤色符時,它類試c#的sealed類,不能重寫它。
6、Java瑯縵慊有靜態(tài)機關(guān)函數(shù),如不美觀要實現(xiàn)一些初始化工作,需要用靜態(tài)代碼塊,static{…},瑯縵沔輸入內(nèi)容即可,C#只有靜態(tài)機關(guān)函數(shù)的說法。
7、JAVA中有常量池概念,是和堆、棧紛歧樣的區(qū)域,雖然和C#一樣String都有字符串駐留機制,可是和。NET的又紛歧樣了。是以java里字符串斗勁最好用equals斗勁,否則可能出問題。好比"a"+"b"字符串在常量池里,如不美觀它們和"ab"斗勁將相等,可是"a"+b,b是一個變量,就將放到堆里了,如不美觀還用=="ab"判定將返回false,所以JAVA里盡量用equals來判定字符串,可是。NET里不涉及這個問題,經(jīng)由計較的字符串,==的結(jié)不美觀也灰忄等。
8、Java瑯縵憧個文件只要有Main體例進口,它都可以運行,而。NET里需要項目類型改削為節(jié)制臺應(yīng)用軌范,然后有一個Main體例才能作為一個運行的載體。
9、Byte類型的數(shù)字規(guī)模紛歧樣,Java里是-128到127,.NET是0-255,一般需要互訂交流數(shù)據(jù)和措置都是轉(zhuǎn)換成16進制,然后取8bit的后2個bit,這樣它們的值都是一樣的,便利同步加密解密或相關(guān)措置
10、Java里舉薦用get,set體例來對內(nèi)部變量賦值和獲取值,.NET里可以用字段get,set獲取,而且vs2008后可以直接get;set;的體例,借助語法糖,編譯器后會自動生成等價的get,set內(nèi)部字段。
11、JAVA里文件保留后默認(rèn)自動編譯,可是這個也得益于它把每個java文件編譯成一個class文件,.NET里需要零丁每次執(zhí)行編譯項目,因為它一個項目一個dll文件,如不美觀保留其一一個。cs文件都執(zhí)行編譯,則工作量太大影響開發(fā)速度。
12、Java里L(fēng)ist是一個接口,這個對在C#里用慣了List集結(jié)的,new List已經(jīng)會報錯了,而且它們的泛型也紛歧樣,C#是CLR層的泛型撐持,JAVA的泛型不是經(jīng)由JVM撐持的,是以機能相對沒有晉升。
13、JAVA里默認(rèn)潤色符是包內(nèi)可見(對應(yīng)統(tǒng)一個文件夾目錄,而不是項目大jar包下)的, protected的變量?捉式都是包內(nèi)和子類可見的,.NET里是只有自己和子類可見NET里類的默認(rèn)潤色符是Internal,軌范集內(nèi)可訪謁。體例和字段默認(rèn)為private的,和JAVA默認(rèn)包內(nèi)可見紛歧樣。
插件的分歧點:
1、MyEclipse自身就是一個插件,瑯縵沔集成了大量開源框架,而VS是微軟一個大一統(tǒng)的IDE,要用其他開源插件,需要零丁下載和零丁設(shè)置裝備擺設(shè)。
2、Java誠懇現(xiàn)webservice的體例良多,除了javax.jws包里只有的JAX-WS,java webservice規(guī)范自帶版本,還有axis,xfire的webservice開源實現(xiàn),axis搜羅axis1,axis2,xfire已更名為cxf了,可是各類實現(xiàn)體例各異,在和。NET發(fā)布的webservice互相挪用時,經(jīng)常碰著一些問題,總體來說Java對wsdl的名目要求更嚴(yán)酷。
.net開發(fā)和java開發(fā)的區(qū)別
.net開發(fā)和java開發(fā)的區(qū)別在于java 比.net、更加穩(wěn)定、安全。
1、在web開發(fā)方面,java比.net好,因為java比.net、php更加穩(wěn)定、安全、開發(fā)效率高、功能更加強大。
2、在單機軟件開發(fā)方面,如果開發(fā)windows應(yīng)用那還是.net好一些,因為windows和.net都是微軟的產(chǎn)品,所以在開發(fā)window應(yīng)用方面.net更兼容一些。
3、java簡單強大,不需要一個一個自己編寫,直接調(diào)用組件即可。
4、.net是微軟的王牌,運行時,速度和Java基本不相上下,但是.net的開發(fā)速度很快,在.net中的線程很難控制。
java開發(fā)介紹:
1、Java是一種可以撰寫跨平臺應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計語言。
2、Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。
3、Java是上世紀(jì)九十年代誕生的一種面向?qū)ο笳Z言,它吸取了C++的許多長處,其最大的特性是“跨平臺”,由于它很好地滿足了網(wǎng)絡(luò)時代信息系統(tǒng)對高級語言的要求,因而在實踐中得到廣泛應(yīng)用。
.net和java的區(qū)別
net和java的區(qū)別:
1、本質(zhì)上。java是一個開源的跨平臺的語言;.net是一個跨語言的平臺。
2、web開發(fā)方面上。java比.net、php更加穩(wěn)定、安全、開發(fā)效率高、功能更加強大。java在web應(yīng)用方面光java服務(wù)器就有好多(tomcat,jboss,weblogic,websphere),這些都可以運行java項目;而.net只可以在微軟的IIS服務(wù)器上運行,局限性很大。
3、單機軟件開發(fā)方面上。如果開發(fā)windows應(yīng)用那還是.net好一些,因為windows和.net都是微軟的產(chǎn)品,所以在開發(fā)window應(yīng)用方面.net更兼容一些。
4、智能設(shè)備軟件開發(fā)上。java更強,你該知道android智能手機,它的應(yīng)用都是用java開發(fā)的。
5、性能上。中小級的運用,.net效率更高一些,瀏覽下載速度更快;但是百萬級后不如java。
6、應(yīng)用領(lǐng)域上。.net主要應(yīng)用在中小型公司網(wǎng)站開發(fā)及桌面應(yīng)用程序開發(fā)。java主要應(yīng)用在大中型企業(yè)網(wǎng)站開發(fā),銀行網(wǎng)站開發(fā)及手機嵌入式游戲開發(fā)。
7、加密法,算法。.NET為網(wǎng)站管理系統(tǒng)主要提供了下面幾大類加密算法:非對稱算法、HASH算法、對稱算法、隨機數(shù)生成法。JAVA提供的加密算法更多,但是較少第三方廠商可以在JAVA中提供自己的算法
8、安全配置。在.NET平臺,有圖形接口和命令行兩種方式來修改安全配置參數(shù)。而,JAVA平臺只提供了圖形接口的工具policytool.exe。
9、平臺構(gòu)架不同。.net的框架包括C++、VB.NET、C#等一系列語言;而java平臺包括語言、虛擬機、API庫。
10、運行環(huán)境不同。.net具有WINDOWS體系的API接口,運行環(huán)境可以是一個瀏覽器或操作系統(tǒng);而java使用了虛擬機機制,需要在java虛擬機類似的環(huán)境中運行。
【JAVA和.NET開發(fā)過程中的區(qū)別】相關(guān)文章:
Java Web開發(fā)和J2EE的區(qū)別03-29
有關(guān)ADO與ADO.NET的區(qū)別與介紹03-29
SUN的JAVA程序員和開發(fā)員認(rèn)證及考試03-16
java開發(fā)必會的Linux命令03-24