当前位置:编程学习 > JAVA >>

Java与.Net大PK

作为一个编程人员,很多人都会有一个疑惑:是学习java还是.net?
   由于本人之前学过一段时间的.net,而最近又在学习java,于是对二者进行了一下比较:
 
 
 
首先,清楚两者的本质
 
   Java是绑定于一种语言的跨系统的平台,是一个有多家供应商提供竞争性产品的规范。
 
   .net是绑定于一种系统的多语言平台,是一个规范性较弱的垄断性产品。
 
 
 
然后,看两者对XML的支持能力
 
   .net集成了XML和Web Service,使用起来非常方便;
 
   java也不甘示弱,提出了XML规范,可有多种方式来解析XML文件,使用起来比较灵活。
 
   那它们的不同体现在哪里呢?
 
   我们先看一个小Demo,分别使用.net和java来读取配置文件。
 
   1..net读取xml文件
 
   由于.net对xml文件进行了封装,所以变成了config文件,下面我们来看一个App.config文件:
 
[html]
<?xml version="1.0" encoding="utf-8" ?> 
 
<configuration> 
 
       <appSettings> 
 
            <add key="DB" value="Sqlserver"/> 
 
       </appSettings> 
 
</configuration> 
   c#文件读取:
 
  
 
[csharp]
private string db =ConfigurationManager.AppSettings["DB"]; 
   2.java读取xml文件
 
   xml文件sys-config.xml:
 
[html]
<?xml version="1.0" encoding="UTF-8"?> 
<config> 
    <db-info> 
        <driver-name>oracle.jdbc.driver.OracleDriver</driver-name> 
        <url>jdbc:oracle:thin:@192.168.24.188:1521:test</url> 
        <username>drp</username> 
        <password>drp</password> 
    </db-info> 
</config> 
   java文件读取(采用dom4j的方式读取):
 
[java]
Document doc = new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml")); 
Element driverNameElt = (Element)doc.selectObject("/config/db-info/driver-name"); 
Element urlElt = (Element)doc.selectObject("/config/db-info/url"); 
Element usernameElt = (Element)doc.selectObject("/config/db-info/username"); 
Element passwordElt = (Element)doc.selectObject("/config/db-info/password"); 
dbcInfo = new JdbcInfo(); 
   通过上面的Demo我们可以看出,.net读取配置文件以及配置文件的写法都很简单,一句话就能搞定,这就是它集成的好处;可反过来我们又会发现,它的配置文件的写法很死板,必须按照它指定的格式去写,不然它就不认识你了。
 
   而java则恰恰相反,它的配置文件的写法非常灵活,你爱怎么写就怎么写,因为它会一条一条的去读取,所以就增加了读取的代码量。
 
   其实说到底他们的区别就是集成与灵活。
 
   不过,我认为作为一个编程人员,在学习的过程中不能图方便,现在的方便就是在为以后堆大山,到时候遇到让你自己写xml文件时就向面对着一座大山了(其实没那么夸张啦)。
 
 
 
最后,还得看你的选择
 
   作为一个编程人员,面对以后的就业方向问题,我认为还是选择java好(相对来说),理由如下:
 
   1. java就业面很广,它对大中小型系统都适用,只要搭配不同的操作系统、应用服务器等等,大到银行综合信息系统、全国全省的统一应用系统,小到手机游戏,Java可以大小通吃,来者不拒。
 
   2.java比.net容易“学”
 
   为什么会这么说,因为对于java来说,入门比较难,但是只要你学到一定的程度,能够开发项目,那么你就可以在这个行业上有所发展。
 
   对于.net来说呢,它入门很容易,任何人一般都能上手,所以也就体现不出你的优势,只有学到足够的深度(比如做一些跟操作系统相关的开发),你才能在这个行业站得住脚。
 
   当然,上面的说法只是我个人意见,大家如果有什么异议,可以留言讨论

作者 赵丹丹的专栏
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,