由于小弟是个node开发,偏向node, 嘻嘻嘻~
语言对比
- js事动态语言,java是静态语言(不能改变它的类型的语言,是静态语言;能够随时改变它的类型的语言,是动态语言),要到运行时才知道类型错误,测试就得些的更好更详细。
- js解释型语言, 编写的程序不需要编译。解释型语言在运行的时候才翻译, java编译型语言, 写的程序执行之前,需要一个专门的编译过程,把高级语言翻译成机器语言(解释型语言的特点是,跨平台、知识产权保护性弱、运行效率低, 编译型语言特点与解释型语言相反)
- 语法方面js比Java更简洁,干净。
- javascript支持函数作为参数,java得搞一个类。
生态
- NPM是世界上最大的包管理器 Node.js项目的NPM是世界上最大的包管理器,GitHub 收购了 npm,npm个人持有乐观态度
数据库操作
- 一些较新的数据库(例如CouchDB和MongoDB)的查询是用JavaScript编写的。将Node.js和对数据库的调用混合在一起,无需进行任何换档操作,更不用说记住语法差异的任何需要了
- 许多Web服务和数据库都以JSON(JavaScript的自然组成部分)返回数据。JSON现在非常普遍且有用,以至于许多Java开发人员都使用该格式,并且许多优秀的JSON解析器也可以作为Java库使用。但是JSON是JavaScript基础的一部分。不需要库。一切都准备就绪了(ps: JSON.parse() )。
性能
- node单线程、异步、非阻塞的特性,适用于I/O密集型,没有多线程的死锁同步问题(日志记录,数据采集,备份,事务处理和实时应用程序。)
- 独特的事件编程(订阅发布)
- 没有上下文线程开销,速度快
- 由于Node.js基于事件的架构,因此它是轻量级的。它可以作为Web服务器使用,并且可以很好地处理轻量级任务。例如,诸如计算或写入数据库之类的简单查询会很快发生
开发效率
- node相对java学习学习曲线低,前后端语言统一方便技术交流提升。
- node开发快,java开发慢,但是如果项目大、复杂的话,用java就不容易乱,管理起来比node.js简单
对比图片
图片: