为什么 C 语言仍然占据统治地位?( 六 )
Java输给C的地方是一个Java从未打算竞争的领域:靠近底层结构运行 , 或直接与硬件打交道 。 C代码被编译成机器代码 , 由进程直接执行 。 Java被编译成字节码 , 这是一种随后会被JVM解释器转换为机器代码的中间代码 。 此外 , 尽管Java的自动内存管理在大多数情况下都是个优点 , 但C更适合于必须充分利用有限内存资源的情况 。
也就是说 , 在某些方面 , Java在速度方面可以接近于C 。 JVM的JIT引擎在运行时根据程序行为优化例程 , 允许进行许多类型的优化 , 而这些优化是在未提前编译的C中无法实现的 。 虽然Java运行时自动执行内存管理 , 但一些较新的应用程序可以解决这个问题 。 例如 , Apache Spark部分地通过使用绕过JVM的自定义内存管理代码来优化内存中处理 。
C vs. C#和.Net
在推出近二十年后 , C#和.Net 框架仍然是企业软件世界的主要组成部分 。 有人说C#和.Net是微软对Java的回应——一个托管代码编译器系统和通用运行库——C和Java之间的许多种对比也适用于C和C#或.Net之间 。
推荐阅读
- 魔兽世界|魔兽TBC:为什么玩家期待跨区组队?降低组队难度,无需频繁换区
- 李儒|三国杀:为什么叫李儒时代的骄傲,他到底有什么好骄傲的?厉害吗
- 池子|“为什么优菈总是在让人始料未及的版本到来?我还没准备好呀!”
- fpx战队|为什么同样是S赛夺冠,FPX的热度,完全没法跟IG与EDG相比?
- 王者荣耀|王者荣耀为什么要出限定皮肤?看完你就明白了
- 手机游戏|CFHD:神秘组织为什么开发生化手雷呢?关键是为了赚更多钱
- 打野|王者荣耀:不管什么打野都出一件肉装,李白都出暴裂,为什么?
- 抖音|正在火热追我的富二代,在得知我生日后突然消失不见,到底为什么
- |为什么很多人都说剑圣JUGG是伪核,后期能力不行!
- steam|原神:常驻五星废弃率排名,为什么大家越来越在乎“强度”了