当前位置: 首页 > news >正文

白云做网站要多少钱wordpress指定分类子类

白云做网站要多少钱,wordpress指定分类子类,软件技术专升本考什么,百度投放广告收费标准介绍 在Truffle在神圣的Graal中服务#xff1a;Graal和Truffle在JVM上进行多语种语言解释的帖子中#xff0c;我们得到了简短的介绍#xff0c;并对Graal#xff0c;Truffle及其周围的一些概念进行了深入研究。 但是#xff0c;如果不深入研究实用性#xff0c;那么任何技… 介绍 在Truffle在神圣的Graal中服务Graal和Truffle在JVM上进行多语种语言解释的帖子中我们得到了简短的介绍并对GraalTruffle及其周围的一些概念进行了深入研究。 但是如果不深入研究实用性那么任何技术都不会很有趣否则它就像理论物理学或纯数学一样-对某些人来说是抽象的对其他人来说很无聊对不起最后一部分只是我的抱怨。 在这篇文章中我们将通过安装GraalVM 比较SDK的差异以及一些示例来说明如何在GraalVM上编译和运行不同的语言以及如何在GraalVM中运行它们来研究GraalVM。相同的上下文最后是本地语言性能更高。 GraalVM与我们从任何供应商处下载的任何Java SDKJDK相似除了它具有JVMCIJava级JVM编译器接口支持并且Graal是默认的JIT编译器。 它不仅可以执行Java代码还可以执行JSRubyPython和R等语言。它还可以为Java程序和其他支持的语言构建提前AOT编译的可执行文件本机映像或共享库。 尽管我们不会遍历所有语言但只会选择其中的几种。 只是让您知道所有命令和操作都是在Ubuntu 16.04操作系统环境上执行的应该在MacOSX上进行较小的改动在Windows上需要更多的更改–很高兴收到有关差异的反馈将与他们一起更新帖子。 实际动手 我们可以通过多种方式使用GraalVM 既可以自行构建它也可以从供应商网站下载预构建的版本 建立在我们自己的基础上一些克隆和其他魔术我们稍后会看到 下载现成的JVM OTN下载站点 将自定义JIT连接到具有JVMCI支持的现有JDK我们将在后面看到 由于我们使用的是Linux环境因此最好下载基于JDK8 500MB文件需要接受许可需要在OTN 上登录的GraalVM的Linux预览版版本。 https://login.oracle.com/mysso/signon.jsp 并安装。 解压缩档案后按照下载页面上的安装信息进行操作执行以下命令后您将找到一个名为graalvm-0.30的文件夹在撰写本文时。 $ tar -xvzf graalvm-0.30-linux-amd64-jdk8.tar.gz鹰眼比较SDK 我们将快速检查SDK的内容以熟悉它们因此让我们检查GraalVM SDK文件夹的内容 $ cd graalvm-0.30 $ ls 与传统的Java SDK文件夹即JDK 1.8.0_44相比它看起来很熟悉并且具有相似之处 $ cd /usr/lib/jdk1.8.0_44 $ ls 除了我们还有很多其他要学习的工件即VM上支持的语言的启动器例如FastRJSGraalJSNodeJSGraalNodeJSPythonRuby和Sulong C / C Fortran 。 比较GraalVM SDK和说JDK 1.8.0_44 SDK之间的bin文件夹我们可以看到那里有一些其他文件 使用诸如meld或diff类的工具来比较目录 同样我们可以看到jre文件夹有一些有趣的差异尽管其语义与传统的Java SDK相似。 列表中一些有趣的项目是Rscript lli和ployglot 。 现在我们还没有从字面上比较这两个SDK来标记彼此之间不同或缺失的元素但是上面的内容使我们对预先使用其提供的功能提供了一个了解-该SDK具有他们将其放入了examples文件夹。 $ tree -L 1 使用tree命令– sudo apt-get tree可以看到以上内容在MacOSX和Windows上可用 每个子文件夹都包含GraalVM支持的各种语言的示例包括我们还将介绍的embed和native-image 。 令人兴奋的部分动手使用示例 让我们开始讨论但是在执行任何代码并查看示例做什么之前我们应该将graalvm-0.30移动到其他Java SDK所在的位置在/ usr/lib/jvm/进行设置并设置环境变量调用GRAAL_HOME指向它 $ sudo mv -f graalvm-0.30 /usr/lib/jvm $ export GRAAL_HOME/usr/lib/jvm/graalvm-0.30 $ echo export GRAAL_HOME/usr/lib/jvm/graalvm-0.30 amp;amp;amp;amp;amp;amp;amp;amp;gt;amp;amp;amp;amp;amp;amp;amp;amp;gt; ~/.bashrc $ cd examplesR语言 让我们选择R并运行一些R脚本文件 $ cd R $ $GRAAL_HOME/bin/Rscript --help # to get to see the usage text 注意我们正在运行Rscript而不是R 两者都可以运行R脚本后面是R REPL。 使用Rscript运行hello_world.R $ $GRAAL_HOME/bin/Rscript hello_world.R [1] Hello world!JavaScript 接下来我们尝试一些Javascript $ cd ../js/ $ $GRAAL_HOME/bin/js --help # to get to see the usage 使用js运行hello_world.js $ $GRAAL_HOME/bin/js hello_world.js Hello world!嵌入 现在让我们尝试一些不同的方法如果您希望在JVM上运行用多种语言编写的代码这些代码都驻留在同一个源文件中这以前从未做过这就是embed的意思。 $ cd ../embed 我们可以使用org.graalvm.polyglot.context类来实现。 这是HelloPolyglotWorld.java的代码片段 import org.graalvm.polyglot.*;public class HelloPolyglotWorld {public static void main(String[] args) throws Exception {System.out.println(Hello polyglot world Java!);Context context Context.create();context.eval(js, print(Hello polyglot world JavaScript!););context.eval(ruby, puts Hello polyglot world Ruby!);context.eval(R, print(Hello polyglot world R!););context.eval(python, print(Hello polyglot world Python!););} } 使用下面的代码进行编译以创建一个.class文件 $ $GRAAL_HOME/bin/javac HelloPolyglotWorld.java 并使用以下命令运行它以查看其工作原理 $ $GRAAL_HOME/bin/java HelloPolyglotWorld Hello polyglot world Java! Hello polyglot world JavaScript! Hello polyglot world Ruby! [1] Hello polyglot world R! Hello polyglot world Python! 在语言之间进行切换并打印“ Hello多种语言世界……”时您可能已经注意到执行过程有些迟钝。 消息希望我们能够了解为什么会发生这种情况甚至可以解决它。 本机图像 GraalVM SDK的本机映像功能有助于缩短 Java应用程序的启动时间 并减小其占用空间 。 有效地将其在JVM在任何平台上上运行的字节码转换为特定OS /平台的本机代码-这就是性能的来源。 它使用积极的提前aot优化来获得良好的性能。 让我们看看它是如何工作的。 $ cd ../native-image 让我们从此文件夹中的HelloWorld.java中提取Java代码段 public class HelloWorld { public static void main(String[] args) { System.out.println(Hello, World!); } } 编译成字节码 $ $GRAAL_HOME/bin/javac HelloWorld.java 将字节码HelloWorld.class编译为本机代码 $ $GRAAL_HOME/bin/native-image HelloWorldclasslist: 740.68 ms(cap): 1,042.00 mssetup: 1,748.77 ms(typeflow): 3,350.82 ms(objects): 1,258.85 ms(features): 0.99 msanalysis: 4,702.01 msuniverse: 288.79 ms(parse): 741.91 ms(inline): 634.63 ms(compile): 6,155.80 mscompile: 7,847.51 msimage: 1,113.19 mswrite: 241.73 ms[total]: 16,746.19 ms 看一下文件夹我们可以看到Hello World源代码和已编译的工件 3.8M -rwxrwxr-x 1 xxxxx xxxxx 3.8M Dec 12 15:48 helloworld12K -rw-rw-r-- 1 xxxxx xxxxx 427 Dec 12 15:47 HelloWorld.class12K -rw-rw-r-- 1 xxxxx xxxxx 127 Dec 12 13:59 HelloWorld.java 第一个文件helloworld是本机二进制文件它使用native-image命令在我们对其进行编译的平台上运行该命令可以在JVM的帮助下直接执行 $ helloworld Hello, World! 即使我们获得了性能但我们可能会失去在JVM上以字节码形式运行的其他功能-选择哪种路由完全取决于用例和重要性为了我们。 总结一下 这需要进行总结在命令行上有很多阅读和尝试的经验但是值得花时间探索有趣的GraalVM。 总而言之我们着手从Oracle Lab网站下载GraalVM将其解压缩查看各种文件夹并将其与我们传统的Java SDK进行比较并注意到并指出了差异。 我们进一步查看了为各种Graal支持的语言提供的示例并挑选了一些功能这些功能使我们对GraalVM可以提供的功能有所了解。 尽管我们可以在其上运行传统的Java应用程序但现在我们也有机会在同一源文件或同一项目中编写以多种支持的语言表示的应用程序。 这也使我们能够在以不同语言编写的应用程序的不同方面之间进行无缝互操作 。 甚至可以针对本机环境重新编译我们现有的应用程序 native-image 以提高性能并减少占用空间。 翻译自: https://www.javacodegeeks.com/2017/12/learning-use-wholly-graalvm.html
http://www.pierceye.com/news/783545/

相关文章:

  • 商务类网站设计成都网站设计建设推荐
  • 网站建设浏览器不兼容阳信做网站
  • 站酷设计网站官网网址网站多国语言
  • 网站建设经费保障中国域名网官网
  • 网站备案如何查询在wordpress教程
  • 新准则中公司网站建设费用计入什么科目360网页入口
  • 公司要网站建设thinkphp商城源码
  • 网站的定义tomcat做公司网站
  • 小程序开发公司网站源码下载阿里云搭建公司网站
  • 网站营销方案设计公司凡科可以做视频网站吗
  • 网站seo优化费用wordpress 做商城
  • 宁波网站设计哪家公司好电子商务电商网站设计
  • 网站添加提醒租网站需要多少钱
  • 网站关键字优化地点如何用手机做网站吗
  • 中国建设银行网站签名通下载站长工具seo词语排名
  • 七牛云官网登录郑州优化网站收费标准
  • 三亚专业网站建设电商网站开发思路
  • app手机端电子商务网站功能提供网站建设课程
  • 福田皇岗社区做网站公司办公室布局效果图
  • 音乐播放网站怎么做北京终端区优化
  • 广州市建设工程交易中心网站上海畔游网络科技有限公司
  • wordpress网站好慢页面模板怎么用
  • 网站建设维护是啥意思wordpress 路径
  • 汕头网站建设报价个体工商户注册公司流程和费用
  • 网站开发学的啥36kr源码WordPress
  • 最好的免费网站空间沈阳营销型网站
  • 如何制作一个好网站网络设计报告范例
  • 邯郸做网站最好的公司彩票网站制作
  • 酒店团购的网站建设网站建设的一些原理
  • 做淘宝网站需要什么网站设置快捷键