既然在语言层面上 Java 要落后于 C#,那为何国内 Java 架构到处都...

发布网友 发布时间:2022-04-27 03:24

我来回答

2个回答

热心网友 时间:2022-04-09 12:13

因为语言层面的差距从来都不是最重要的差距呀。
简单点说,Java是最早实现跨平台的高级开发语言,C#虽然这两年开始在Xamarin上发力,但已经在市场占有率上大大落后Java了,难以追赶。

同时,Java的分布式框架较多,且早已成型,这让企业在招聘和产品扩容方面都比较放心。

还有最重要的一点,Java+Linux+MySql完全免费,但Windows Server+SqlServer却贵的不行,微软时不时抽查大企业盗版软件,企业管理者从成本考虑,一定偏向于Java系。

热心网友 时间:2022-04-09 13:31

1,java是在C++上的蓝本上实现上,去除了C++的指针都内容,将很多的东西搬到了类库中,首次实现了虚拟机概念——因此跨平台特性十分强。而C#则借鉴了java的优点,也实现了虚拟机与类库。同样没了指针——官方虽然也说在C++基础之上,但借鉴不少java的东西。
2,java实现了开源,有诸多开源项目可以使用,而C#近年来虽有不少优秀的开源项目,但相比java还是差的太多。
3,在api方面,C#对windows有原生的支持,相对来说较为好一些。注释方面也强,同时在IDE的智能感知方面也较java强,也正是这种特点导致C#的元数据非常大,打包后文件过大,性能上也因为元数据大量存在而导致有所下降。同时对于编译器来说,java有林林总总的不同厂家编译器,而,.net却只是windows一家独大。所以从编角度上来看,.net更易于统一,而java则有更多的选择。
4,在组件方面,目前来说.net稍优,它是基于COM+形成,三者之间是相互供鉴,目前来说.net还是稍占优劣。
5,难度方面,.net主要是力求程序员的简单,类库较为完整,主要是程序员对.net类库的熟悉。而java类库并不十分完整,但是开源极多,构件极多,比如ejb,j2ee等等,主要集中在构件的学习与开源项目的寻找上。
最主要的还是微软查盗版还是很严格的,C#只能在Windows下编程,Java可以在任意一个系统下编程(包括DOS、Android还有Linux)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com