1. java是编程语言;node.js是js在服务端的运行环境
2. java的jvm使java可以在任何平台上运行;node.js在不同平台需要不同模块,以至于在不同平台上运行需要重新build
3. java web服务器是多线程的,每个请求由一个单独的线程来处理,多线程允许在不排队的情况下同时执行多个任务,适合CPU密集型应用;
node.js是单线程的,所有请求都在一个线程中处理,事件被放置在队列中,排队处理。node.js为CPU密集型应用提供了"工作线程"的解决方案
4. java使用阻塞和非阻塞IO, 阻塞IO意味着第一个IO请求阻塞所有其他请求, java非阻塞IO比node.js复杂;node.js以非阻塞方式处理IO, 适合大量读写的应用