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