Java与Node.js性能PK
原文链接: www.tandemseven.com/b ... 如果你打开浏览器,搜索“Java与Node.js哪个更快”,你会发现大部分答案声称Node.js更快,也有一些人持相反意见。Java使用JIT编译器,其性能甚至可以超过C++。在这种情况下,为什么这么多人还是声称Node.js要比Java快呢?小编现在就跟大家一起往下看。 实际检验结果 实际上,在处理原始计算任务方面,Node.js并不比Java快;一旦涉及到IO型任务,Java就没有竞争力了。也就是说,在典型的Web应用程序执行的任务类型场景中,Node.js运行速度确实比Java更快,在接下来模拟的4种场景测试的结果充分验证了这一点。 性能因素 为了更好的理解Node.js如何完胜Java,需要考虑到3个性能因素:IO,并发和计算。这三大因素对于提高应用程序的整体运行速度和吞吐量都是有影响的。 1、IO 根据servlet规范,Java在早几年前引入的NIO实际上是Java编写后端服务器代码的标准。在整个规范中,servlet API都假定代码可以并且将在每个级别阻塞。虽然过去几年规范有所改进,能够允许非阻塞请求处理,但servlet规范的基本范例仍然完全包含IO阻塞。这意味着以非阻塞方式写入磁盘或使用JDBC写入数据库的操作会阻止处理线程执行任何其他操作。虽然Java能够以非阻塞的方式工作