大家好,今天小编关注到一个比较有意思的话题,就是关于erlang语言和java的问题,于是小编就整理了4个相关介绍erlang语言和Java的解答,让我们一起看看吧。
- 用java写,游戏脚本,需要学习哪方面?
- rocketmq和rabbitmq的区别rocketmq使用?
- 用thrift或gRPC之类的框架做app和服务器的通信合适吗?
- 在java中,GraalVM是jvm的未来吗?
用j***a写,游戏脚本,需要学习哪方面?
这需要根据自己游戏的类型和要求加以选择。比如c++,J***a ,Erlang,go等等
J***a目前作为游戏服务器开发语言已经很是普遍。但是大多数是作为页游或手游的服务器,而端游戏一般选择C++,因为端游对服务器的性能要求相对比较高一些。两种语言各有利弊。
需要学习的技术:
(1)J***a基础知识
(2)J***aNIO编程
(4)一种缓存框架:Redis;memcache熟悉使用一个。
rocketmq和rabbitmq的区别rocketmq使用?
1. RabbitMQ
是基于AMQP 协议的 具有跨语言的特性,支持多种开发语言,基于erlang语言编写,天生具有高并发.
2. rocketMQ
是基于JMS的 是阿里巴巴旗下开发的mq,只能用j***a语言,声称可用性极高,消息从来不会丢失.
两者的区别和联系:
JMS是定义了统一的接口,来对消息操作进行统一;AMQP是通过规定协议来统一数据交互的格式
JMS限定了必须使用J***a语言;AMQP只是协议,不规定实现方式,因此是跨语言的。
JMS规定了两种消息模型;而AMQP的消息模型更加丰富
用thrift或gRPC之类的框架做app和服务器的通信合适吗?
完全可以的。 thrift是Facebook开源出来的项目,现在交给了Apache来管理。thrift是用来针对不同语言系统之间数据调用的。thrift支持c,c++,Erlang,j***a,python,ruby,php等语言。thrift允许定义一个简单的定义文件中的数据类型和服务接口,这个文件就是IDL(Interface Definition Language),以作为输入文件,生成代码。简单的说就是thrift定义了统一的文件(对象或者结构体,服务接口),使用thrift的编译器能够生成对应语言的代码文件。thrft之所以是跨语言的原意就是他通过语言无关的自定义语言来生成语言相关的代码。
在j***a中,GraalVM是jvm的未来吗?
理想很丰满,现实很骨感
Graa|VM刚出来是很多热度,可惜鉴于O厂的名生在外,社区反应冷漠
这玩意就像J院老板和大家说,我家姑娘年青飘亮N子大,大家不要娶媳妇了,努力挣钱都给我家姑娘吧!
现在大家也都偿偿鲜搞一下,很少社区主力推
强答一下。结论是GraalVM想成为一统天下的“最终”虚拟机。
大部分脚本语言或者有动态特效的语言都需要一个语言虚拟机运行,比如CPython,Lua,Erlang,J***a,Ruby,R,JS,PHP,Perl,APL等等,但是这些语言的虚拟机水平,对,就是具体的实现,差距很大,比如CPython的VM就不忍直视,JVM的HotSpotVM,C#的CLR和JS的v8却是state of the art级别,那么能不能付出较小努力,用一个state of the art的虚拟机,来运行这些语言,让它们享受该虚拟机的一些工匠特性,比如gc,锁,jit等?
答案基本上是肯定的。首先,对于J***a,Scala,Groovy这些本来就是JVM-based的语言,那没有什么压力,直接上JVM即可。对于CPython,R,Ruby,PHP乃至自己写的一门新的语言,回顾一下我们的一般做法:首先解析源代码到AST,[_a***_]写一个AST解释器->当有些人用这个语言的时候,语言设计者可能继续迭代,实现一个虚拟机,包括GC,运行时等,代码执行仍然是AST解释器->用的人多了,继续迭代,将AST转换为字节码,使用字节码解释器->用的人特别多,性能也很关键,如果这个语言社区有足够资金和人力,那么可以写JIT编译器,提升GC性能等,大部分语言都到不了这一步。我们希望一门语言在AST解释器节点性能就足够好了,不用花那么多精力和财力做性能优化等,这就是Truffle语言框架的动机,Truffle是一个J***a框架,自然跑在JVM上,在这个框架下,用户只需要实现具体语言的AST解释器,付出的努力比较小,性能也足够好。
到此,以上就是小编对于erlang语言和j***a的问题就介绍到这了,希望介绍关于erlang语言和j***a的4点解答对大家有用。