当前位置: 首页 > 科技观察

什么情况下Java比C++快?

时间:2023-03-12 13:02:01 科技观察

受访者:CameronPurdy,Oracle中间件高级工程师。这是基于我使用C++和Java工作20多年所学到的知识,实际上比C++早几年使用Java:1.根据我的经验,当您将优化的C++代码转换为Java代码时,代码将大约慢三倍。2.根据我的经验,将Java代码转换为C++代码也会慢三倍。首先,这种比较是毫无意义的,除非你能意识到你是用Java的方式编写Java代码,而不是像C++开发人员那样组织C++代码。3.对于并发数据结构,使用Java通常效率更高。当不并发使用数据结构时,JVM会消除内存障碍和同步,支持基于运行时分析的并发管理。4、Java的动态内存管理往往效率更高,尤其是在过度使用动态内存管理和多线程的系统中。5.Java内联代码往往会执行得更好,除非你根据你的探查器大量优化你的C++代码(或者确切地知道如何使用内联来使C++更高效......你会喜欢这些标题!)。6.使用Java的大型项目往往更容易优化,因为JVM为开发人员做了很多“全局”优化(例如内联动态加载代码的能力)。至少我是这么觉得的……