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

走进GraalVM

  • 是什么
    • GraalVM是一个高性能的JDK,旨在加速用Java和其他JVM语言编写的应用程序的执行,同时还为JavaScript,Python,Ruby和许多其他流行语言提供运行
  • 特点
    • GraalVM可以代替JDK、JVM之前的工作。
    • GraalVM除了支持Java,也支持多种语言。
    • GraalVM可以对应用AOT(提前编译-静态编译),也就是把程序直接编译成二进制,从而提升启动速度、改进内存使用。
    • 为JVM提供了高性能的JIT-动态编译:也就是程序在运行时才会去编译
  • 提供运行Java的方法
    • 在 Hotspot JVM 上使用实时JIT 编译器
    • 使用 AOT 将 Java 应用程序编译的本地可执行文件
  • 和JVM的关系
    • GraalVM和JVM的关系可以理解为GraalVM是一种新型的Java虚拟机,它提供了一种更高效、更快速的Java应用程序运行环境,可以帮助开发者提高应用程序的性能和启动速度
  • 缺点
    • 舍弃了 Java 的跨平台性,编译为本地执行文件,不同操作系统的服务器,编译出来的文件不一样,比如 windows 编译出来的文件,并不能在 Linux 系统运行,也就让 JAVA 丢失了平台无关性。
    • JAVA 设计之初,一次编译、到处运行是其最重要的特性,但是现在容器技术的出现,该特性显得很牵强。
    • 反射机制、CGLIB 动态代理这些和字节码打交道的机制,是在程序运行时动态调用,无法经过 AOT(提前编译-静态编译) 编译成原生代码,构建时还需要提供各种配置文件去适配
    • 目前该技术并未大面积使用,并不成熟
http://www.lryc.cn/news/191597.html

相关文章:

  • spark读取hive表字段,区分大小写问题
  • UE4和C++ 开发-头文件(.h) 和实现文件(.cpp)区别
  • git介绍和安装、(git,github,gitlab,gitee介绍)、git工作流程、git常用命令、git忽略文件
  • go cpu、内存监控、性能分析:PProf
  • 计算机网络传输层知识总结·
  • vue使用ant design Vue中的a-select组件实现下拉分页加载数据
  • 精准突击!GitHub星标103k,2023年整理1658页JAVA秋招面试题
  • GEE:基于GLDAS数据集分析土壤湿度的时间序列变化
  • Nacos安装
  • UE4和C++ 开发-C++与UMG的交互2(C++获取UMG的属性)
  • Ubuntu 22.04.3 LTS单机私有化部署sealos
  • #力扣:2236. 判断根结点是否等于子结点之和@FDDLC
  • 暴力递归转动态规划(九)
  • Linux知识点 -- 高级IO(一)
  • Android AMS——内存回收机制(十二)
  • 1600*C. Add One(数位DP找规律)
  • 干货丨送你几个实用PR编辑技巧(二) 优漫动游
  • [每周一更]-(第67期):docker-compose 部署php的laravel项目
  • vsCode 忽略 文件上传
  • 197、管理 RabbitMQ 的虚拟主机
  • [NCTF2019]SQLi regexp 盲注
  • 通过webpack创建并打包js库到npm仓库
  • 【Java 进阶篇】深入了解JavaScript中的函数
  • 谷歌 Chrome 浏览器正推进“追踪保护”功能
  • Excel 自动提取某一列不重复值
  • 【TensorFlow2 之011】TF 如何使用数据增强提高模型性能?
  • Hadoop 安装教程 (Mac m1/m2版)
  • Docker - 网络模式与容器网络互连
  • 【基础篇】三、Flink集群角色、系统架构以及作业提交流程
  • 第一个2DGodot游戏-从零开始-逐步解析