Skip to content

WEB服务端开发必懂的概念和底层原理,通过对比的方式让大家更好的理解和使用。| 创作者训练营第二期

目前主流的服务端语言有什么?各自的特点是什么

Go

高性能-协程

golang 源码级别支持协程,实现简单。协程使用,当底层遇到阻塞会自动切换,也就是逻辑层通过同步方式实现异步,充分利用了系统资源,同时避免了异步状态机的反人类异步回调,实现方式更为直观简单。 golang 协程是通过多线程维护,所以避免不了锁的使用,但也极大解决了研发效率问题。

生态

有谷歌做背书,生态丰富,可以轻松获得各种高质量轮子。这样用户可以专注于业务逻辑,避免重复造轮子。

部署

部署简单,源码编译成执行文件后,可以直接运行,减少了对其它插件依赖。不像其它语言,执行文件依赖各种插件,各种库,研发机器运行正常,放到生产环境上,死活跑不起来,需要各种安装和版本匹配。

特点

看好Go的未来,在开发速度和运行速度之间找到了平衡,运行速度堪比Java,开发简单程度堪比PHP,是21世纪非常有竞争力的开发语言。

Java

简单性

Java语言继承了C++语言的优点,去掉了C++中学习起来比较难的多继承、指针等概念,所以Java语言学习起来更简单,使用起来也更方便。

面向对象

Java是一种面向对象的编程语言。

分布性

Java设计成支持在网络上应用,它是分布式语言。所以只要用Java编写了一个程序,就可以到处应用。可以节省大量人力物力。

编译和解释性

Java编译程序生成字节码,而不是通常的机器码,这使得Java开发程序比用其他语言开发程序快很多。

稳健性

Java刚开始被设计出来就是为了写高可靠和稳健的软件的。所以用Java写可靠的软件很容易。目前许多第三方交易系统、银行平台的前台和后台电子交易系统等都会用Java语言开发。

安全性

Java的存储