j***a的兄弟编程语言,j***a的兄弟编程语言有哪些

kodinid 4 0

大家好,今天小编关注到一个比较意思的话题,就是关于java的兄弟编程语言问题,于是小编就整理了2个相关介绍Java的兄弟编程语言的解答,让我们一起看看吧。

  1. 有人说腾讯使用C++为主要开发语言?java少?为什么?
  2. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

有人说腾讯使用c++为主要开发语言?JAVA少?为什么

我负责过QQ秀和Qzone的运维,也在QQ秀做过开发,当时我所在的部门,如果用j***a作为开发语言的话以当时服务器的数量是不足以支撑数亿用户服务的。

要知道,与淘宝不同,腾讯许多业务是免费使用的,例如qzone的许多功能可以***包括心情,日志,相册,服务器要承担这些亿级的有大量高密集的碎片化请求,如果用j***a来支撑,经济上是不划算是一方面,响应速度方面用户体验也非常不好。

java的兄弟编程语言,java的兄弟编程语言有哪些-第1张图片-安济编程网
图片来源网络,侵删)

再来看淘宝,与qzone发个心情,日志相比淘宝用户在淘宝上的行为最终要触发商品交易的,说通俗点就是淘宝用户的行为大都是跟钱相关,而且淘宝要不断迭代更新的同时确保程序逻辑的严谨,J***a综合来说是个非常好的选择

对于高效处理这些高密集的用户请求,c是一个非常好方案,非常适合腾讯的用户场景;淘宝也不是不用c,像淘宝的图片服务器,也是属于海量的高密集用户请求服务,淘宝在这里使用淘宝技术团队修改过的nginx,我们都知道nginx就是c开发的,类似的场景在淘宝的服务架构里应该还有很多这样的例子,阿里也雇佣了不少c的工程师Linux内核工程师。


我所见到的一部分原因是,腾讯内部的各类C++组件已经非常丰富并且稳定了,这种情况下若非特殊原因,实在没理由花力气和冒风险去切其他性能还不如c++的语言,我c/c++,j***a,python,lua都写过,对语言并无偏执。我接触到的一个基础模块,日请求量200亿+,服务器数目却不足百台,其他语言是很难做到的。所以,新模块开发依然首选c++,但内部也一直鼓励新技术,前提是有正当理由。很多时候我们只是了解到一点皮毛,然后就根据这点皮毛去揣测不熟知的领域,这里不单指计算机语言,这种习惯是很危险的,共勉。

java的兄弟编程语言,java的兄弟编程语言有哪些-第2张图片-安济编程网
(图片来源网络,侵删)

关于这个问题要你要从腾讯发家开始看。

腾讯最开始是以做通讯软件开始发家的,也就是qq.因为qq主要涉及到的就是网络通讯这一块,再加上当时主要就是用在PC端,从程序的运行效率考虑C++无疑都是最好的选择。包括后面腾讯的一系列产品qq音乐,qq管家,qq游戏等等基本上都是基于C++开发的。据我所知他们的服务端应该也是用C++写的。


什么是J***a虚拟机?为什么J***a被称作是“平台无关的编程语言”?

J***A虚拟机,俗称JVM(J***A Virtual Machine)!是运行J***A代码计算机!

java的兄弟编程语言,java的兄弟编程语言有哪些-第3张图片-安济编程网
(图片来源网络,侵删)

我们知道J***A最重要的特性就是跨平台,借此能让J***A运行在智能手表,手机,游戏机,电脑等大部分的平台上,其原因就是因为J***A源码运行在JVM中,JVM提供了跨平台实现

为什么J***A能跨平台?不同的操作系统会有不同的指令集,将高级编程语言转化为汇编语言,进一步的解释为只有0和1机器码操作系统执行,而J***A官方根据不同的操作系统定制了一套不同的JVM,能把相同的源码根据不同的指令集解释为不同的机器码以执行!真正实现了与平台无关,让J***A开发者脱离底层的语言开发,而专注于业务应用开发!

JVM模拟了一套[_a***_]计算机环境,有一套自己字节码指令集,堆,栈,方法区,包括寄存器等!

在J***A类加载和运行的时候,会把对象引用实例对象,静态变量,方法,类等放入不同的区域,提供运行计算式快速的存取数据

区别于大部分其他的语言,J***A封装了对于内存管理,通过提供的垃圾算法(标记清除,标记整理,复制算法等)对内存自动进行回收!

关于JVM的垃圾收集器,内部回收算法,JVM如何运行等,市面上有大量的书籍,因为JVM与运行效率,吞吐量,高并发等息息相关,所以通常为J***A技术面试的必问知识点,值得大家用功掌握,更多的技术分享,敬请关注。。

到此,以上就是小编对于j***a的兄弟编程语言的问题就介绍到这了,希望介绍关于j***a的兄弟编程语言的2点解答对大家有用。

标签: j***a 淘宝 C++