相关疑难解决方法(0)

Java运行时性能与本机C/C++代码?

我使用Java编程比使用C++或C变得越来越自在.我希望能够了解使用JVM解释器所产生的性能损失,而不是本机执行相同的"项目".我意识到这里有一定程度的主观性; 该计划的质量将在很大程度上取决于良好的实施.我对一般意义上的以下几个方面感兴趣:

  • 使用解释器时必须有一些开销基线.是否有一些一般的经验法则要记住?10%15%?(我凭空掏出这些数字)我偶尔读过一篇博客,说Java代码几乎和本机代码一样快,但我认为这可能有偏见.

  • JVM垃圾收集器是否会为运行时性能增加大量开销?我知道Cocoa应用程序已经开始使用垃圾收集模型,我同意它使编程变得更简单,但代价是什么?

  • 从Java进行系统调用的开销是多少?例如,创建Socket对象而不是C套接字API.

  • 最后,我回想一下JVM实现是单线程的.如果这是真的(我对此持怀疑态度),这是否意味着Java线程真的不是真正的线程?通常,java线程是否对应于底层内核提供的线程?Java应用程序是否与本机应用程序来自多个核心/多个CPU的方式相同?

任何了解JVM和Java程序性能错综复杂的开发人员的建议都将非常感激.谢谢.

c c++ java jvm

38
推荐指数
3
解决办法
3万
查看次数

标签 统计

c ×1

c++ ×1

java ×1

jvm ×1