对于程序员来,一般都会掌握许多编程工具来提高自己的工作效率的,但是如果有一款编程工具能够适用所有编程语言的话,我觉得应该就是GraalVM了,今天郑州北大青鸟http://www.kmbdqn.cn/就一起来了解一下GraalVM的特点。
1.高性能JavaGraalVM中的Graal得名于Graal编译器。
Graal是一种“万能”编译器,也就是,虽然它是单一的实现,却可以用于很多用途。
例如,我们可以使用Graal进行预编译(ahead-of-time)和即时编译(just-in-time),也可用于编译多种编程语言。
2.占用内存小、启动速度快的JavaJava对于长时间运行的进程来是相当强大的,但短时间运行的进程可能会因较长的启动时间和较高的内存占用而饱受其苦。
3.组合JavaScript、Java、Ruby和R语言除了Java,GraalVM还包含了JavaScript、Ruby、R语言和Python的实现。
它们都是使用一个叫作Truffle的语言实现框架开发的,Truffle让实现简单且高性能的语言解释器成为可能。
在使用Truffle开发语言解释器时,会自动使用Graal作为JIT编译器。
因此,Graal不仅是Java的JIT编译器和预编译器,也可以是JavaScript、Ruby、R语言和Python的JIT编译器。
4.在JVM上运行本地语言GraalVM也支持C语言,GraalVM可以像运行JavaScript和Ruby之类的语言一样运行C代码。
实际上,GraalVM通过运行LLVM位码的方式来支持C语言,而不是直接运行C代码。
也就是,我们可以将现有工具与C语言一起使用,还可以使用其他可输出LLVM的语言,例如C++、Fortran和未来可能出现的其他语言。
为了简化演示,我使用了由StephenMcCamant维护的gzip的单文件版本。
为简单起见,它只是将gzip源代码和autoconf配置连成一个单独的文件。
我还需要修改一些东西才能让它在macOS上运行起来,但不能在GraalVM上运行。
5.适用于所有编程语言的工具如果你使用Java编程,可能已经习惯了使用那些高质量的工具,比如IDE、调试器和分析器,但并非所有的编程语言都有这么好用的工具。
不过如果你是在GraalVM中使用某种语言,就可以获得这样的工具。
6.扩展基于JVM的应用程序除了可用作独立语言实现和用于多语言编程,这些语言和工具也可以嵌入到Java应用程序中。
新的org.graalvm.polyglotAPI可用于加载和运行其他语言的代码。
《计算的本质》([英] Tom Stuart)电子书网盘下载免费在线阅读
资源链接:
链接:https://pan.baidu.com/s/1RBMJxK6gVirffzWfVc1M8g
提取码:sdpe书名:计算的本质
作者:[英] Tom Stuart
译者:张伟
豆瓣评分:8.6
出版社:人民邮电出版社
出版年份:2014-11
页数:300
内容简介:《计算的本质:深入剖析程序和计算机》借助Ruby全面介绍计算理论和编程语言的设计。作者注重实用性,不仅尽量抛开复杂难懂的数学符号,而且特别选用简单快捷的编程语言Ruby,在读者熟知的背景知识下,以明晰的可工作代码阐明形式语义、自动机理论,以及通过lambda演算进行函数式编程等计算机科学知识,并为让其自行探索做足准备。
本书适合计算机科学系学生,以及熟知现代编程语言,想要系统地学习计算机科学知识的程序员、软件工程师阅读参考。
作者简介:Tom Stuart
Tom Stuart 伦敦数字产品咨询公司Codon的创始人、计算机科学家、程序员,擅长Ruby、Rails、Web应用、用户体验、面向对象设计和行为驱动开发。另外,作为顾问、导师和培训师,他经常通过网络帮助各家公司高质高效地创建软件产品。他还曾在剑桥大学做编译器优化方面的演讲,与人联合组织过Ruby大会(Ruby Manor),而且是伦敦Ruby用户组的成员。
也许是姐妹。监狱被国家“承包”给了私人业主,而私人业主为了盈利采取了一系列cost saving行动,包括狱警集体降薪、福利和上岗培训被取消,新狱警又因缺乏培训搞出一堆乌龙事件;狱中餐食变成了大袋子装的糊烂罐头食品;利用犯人接近免费的劳动力生产内裤以出口第三世界国家等等,这些事发生在一个口口声声强调人权的国家,莫名讽刺。
这季总体比较家常,没什么大事件,女主Piper变得莫名逗逼莫名攻,还偷偷做起了内裤生意,有点可爱。剧尾集体出“笼”也挺感人,不过本季最大的亮点来自一个很帅的女人——Ruby Rose,就算只是个打酱油的角色,也引起了痴女的尖叫。