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