当前位置:网站首页 > Java基础 > 正文

JS基础语法和JAVA比较



代码都在同一个window操作系统的机器上运行,分别取Eclipse中运行的Java、谷歌浏览器中运行的JavaScript、Nodejs中运行的JavaScript的结果进行对比。
其中,Jdk版本为1.8.0_181(64位),JavaScript运行环境为Google Chrome72.0.3626.119(64位),Nodejs版本为10.4.1(64位)。

超大规模运算(万亿级)

Java代码

JS基础语法和JAVA比较

JavaScript代码

运行结果

考虑到寄存器缓存对性能的影响,每个方法都执行6次并去除第一次运行时间后取平均值。Java输出5711ms;JavaScript浏览器输出14705ms;Nodejs环境输出14492ms
第一次运行时间对比,Java输出8230ms;Js浏览器输出19110ms;Nodejs环境输出17387ms。

小规模运算(百万级以内)

Java代码

在测试中,特意做了这样一个结果记录:如果Java程序在运算时出现类型转换,运算效率将会大幅下降,如下calc3()方法和calc2()几乎相同,除了将for循环中的i和j的声明类型换成int,这将引起整数向浮点数的运行时转换:

JavaScript代码

运行结果

考虑到寄存器缓存对性能的影响,每个方法都执行6次并去除第一次运行时间后取平均值。Java中calc2()输出2.52ms,calc3()输出3.7ms;JavaScript浏览器输出2.6ms;Nodejs环境输出2.4ms。
第一次运行时间对比,Java中calc2()输出6.8ms,calc3()输出8.6ms;JavaScript浏览器输出14ms;Nodejs环境输出13ms。

结论

运算级别超大规模运算(万亿级)小规模运算(百万级以内)第一次运行时间平均运行时间第一次运行时间平均运行时间Java8230ms5711ms6.8ms2.52msJava中的calc3()--8.6ms3.7msJavaScript浏览器19110ms14705ms14ms2.6msNodejs17387ms14492ms13ms2.4ms

观察发现:
1.在超大规模计算时,Java运行时间明显低于JavaScript;
2.在小规模运算时,Java运行时间和JavaScript运行时间相差不大;
3.Nodejs的运行时间略快于浏览器环境;
4.不论Java或者Javascript,多次执行的代码优化都是非常明显的;
5.Java作为强类型语言,在编程时要确保不出现运行时类型转换,否则性能将大大降低;
6.从程序输出发现,Java每次执行时间跳动较大(有可能已经是第四次执行了,执行时间却接近第一次执行时间)。而Nodejs每次执行时间是最稳定的,除了第一次执行时间较长,之后每次执行时间几乎不变;

  • 上一篇: mac上编java基础代码
  • 下一篇: java基础大概
  • 版权声明


    相关文章:

  • mac上编java基础代码2024-10-15 09:50:01
  • 只会java基础能去面试吗2024-10-15 09:50:01
  • java的基础考题2024-10-15 09:50:01
  • java基础常用包2024-10-15 09:50:01
  • 有vc基础学java2024-10-15 09:50:01
  • java基础大概2024-10-15 09:50:01
  • python是java和c语言的基础2024-10-15 09:50:01
  • java基础要学好吗2024-10-15 09:50:01
  • java中的原子操作基础类2024-10-15 09:50:01
  • 无java基础学校若依框架2024-10-15 09:50:01