有人说腾讯使用c++为主要开发语言?java少?为什么?
我负责过QQ秀和Qzone的运维,也在QQ秀做过开发,当时我所在的部门,如果用Java作为开发语言的话以当时服务器的数量是不足以支撑数亿用户的服务的。
要知道,与淘宝不同,腾讯许多业务是***的,例如qzone的许多功能都可以***包括心情,日志,相册,服务器要承担这些亿级的有大量高密集的碎片化请求,如果用j***a来支撑,经济上是不划算是一方面,响应速度方面用户体验也非常不好。
再来看淘宝,与qzone发个心情,日志相比淘宝用户在淘宝上的行为最终要触发商品交易的,说通俗点就是淘宝用户的行为大都是跟钱相关,而且淘宝要不断迭代更新的同时确保程序逻辑的严谨,J***a综合来说是个非常好的选择。
对于高效处理这些高密集的用户请求,c是一个非常好方案,非常适合腾讯的用户场景;淘宝也不是不用c,像淘宝的图片服务器,也是属于海量的高密集用户请求服务,淘宝在这里使用淘宝技术团队修改过的nginx,我们都知道nginx就是c开发的,类似的场景在淘宝的服务架构里应该还有很多这样的例子,阿里也雇佣了不少c的工程师,Linux内核工程师。
我所见到的一部分原因是,腾讯内部的各类C++组件已经非常丰富并且稳定了,这种情况下若非特殊原因,实在没理由花力气和冒风险去切其他性能还不如c++的语言,我c/c++,j***a,,lua都写过,对语言并无偏执。我接触到的一个基础模块,日请求量200亿+,服务器数目却不足百台,其他语言是很难做到的。所以,新模块开发依然首选c++,但内部也一直鼓励新技术,前提是有正当理由。很多时候我们只是了解到一点皮毛,然后就根据这点皮毛去揣测不熟知的领域,这里不单指计算机语言,这种习惯是很危险的,共勉。
腾讯最开始是以做通讯软件开始发家的,也就是qq.因为qq主要涉及到的就是网络通讯这一块,再加上当时主要就是用在PC端,从程序的运行效率考虑C++无疑都是最好的选择。包括后面腾讯的一系列产品qq音乐,qq管家,qq游戏等等基本上都是基于C++开发的。据我所知他们的服务端应该也是用C++写的。
j***a开发如何入门?
其实,学习j***a开发入门的途径有很多,比如:视频、j***a培训、网课等方式都可以学习j***a开发技术,只不过是这几种方式的学习模式不同,入门学习的快慢不同,最后所学习的知识结构和学习结果也是不同的。
对于零基础学习j***a开发小伙伴来讲,参加j***a培训是比较靠谱的,也是比较节省时间的一种学习方式,当然,小伙伴也可以选择***学习或网课学习,不论小伙伴选择哪种学习方式,只要是适合自己就可以。
1.基础知识的积累
学习j***a开发避免不了的就是基础知识的积累,无论学习什么编程语言,都不能越过基础知识的学习。小伙伴在学习入门j***a开发技术的过程中,不要操之过急,要端正自己的学习态度,时刻相信量的积累可以发生质的飞跃。
实战项目练习在j***a培训过程中所占的比重是比较大的,对于深入学习j***a开发技术是比较有效的方法,也是积累实战经验的过程,小伙伴可以通过项目实战练习更深入的理解j***a开发技术知识。
小伙伴在学习j***a开发过程中,要确定自己的发展方向,也就是确定了学习的目标,将所学习的知识目标化,更容易让小伙伴学习相应的开发技术知识。小伙伴也可以通过企业对j***a开发技术的需求,针对性学习,在学习过程中提高学习效率。
小伙伴想要快速学习入门j***a开发技术,需要选择适合自己的学习方式和方法,要学会不断反思和总结。尚硅谷j***a培训班以全程面授教学的方式,传授小伙伴相关的j***a开发技术与技巧,培训班还有更多的j***a***供小伙伴[_a***_]学习!