9. GraalVM.云原生时代的Java虚拟机

2023-10-31


本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。

课程内容:

1、Java在云原生时代的困境及解决方案

2、GraalIVM安装及入门

3、使用GraalVM实战演练AOT

4、惊现C2编译器BUG

5、GraalVM编译器性能对比实战

6、GraalVM与Spring6

1. GraalVM诞生的背景

1.1 Java在微服务/云原生时代的困境

1.1.1 事实

Java总体上是面向大规模、长时间的服务端应用而设计的。

严(luo)谨(suo)的语法利于约束所有人写出较一致的代码,利于软件规模的提升;

但是像即时编译器(JT)、性能优化、垃圾回收等有代表性的特征都是面向程序长时间运行设计的,需要一段时间来达到最佳性能,才能享受硬件规模提升带来的红利。

1.1.2 矛盾

在微服务的背景下,提倡服务围绕业务能力构建,不再追求实现上的严谨一致;

1、单个微服务就不再需要再面对数十、数百GB乃至TB的内存;

2、有了高可用的服务集群,也无须追求单个服务要7×24小时不可间断地运行,它们随时可以中断和更新。

所以微服务对应用的容器化(Docker)亲和度〈包容量、内存消耗等)、启动速度、达到最高性能的时间等方面提出了新的要求,这些恰恰是Java的弱项。

比如: 现在启动一个微服务项目(Docker运行6个子服务),动不动就1分钟,如下图:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

9. GraalVM.云原生时代的Java虚拟机 的相关文章

随机推荐

  • 不要在问了!工作六年总结的Java面试题与经验

    前言 最近看到很多小伙伴都在因为面试烦恼 所以小编总结了一些面试经验 希望能帮助到大家 一 面试到底在问些什么东西 首先你要知道 面试官的提问和你简历上写的内容是紧密联系的 所以你简历上写的技能一定要会 一般面试包括下面几方面知识类型 Ja
  • 解决[Vue warn]: Error in v-on handler: “TypeError: Cannot read property ‘validate‘ of undefined“

    在做前后端登录时出现下列错误 解决如下 this refs loginForm validate 中的与ref loginForm 名字要相同 或者要定义这个ref 没有定义或者名称不一致都会出现上述错误
  • 你的数字藏品可能真的只是一张图片

    国外 NFT 市场的火爆也同样引燃了国内的市场 像腾讯 阿里等诸多大厂纷纷入局 同时 大量中小企业也在这些头部企业的带领下聚集而来 出于政策风险隐患的防范要求 国内的区块链并不是国外的公链 而是由一个或多个机构独立部署的联盟链 同时也将 N
  • CMD查看当前文件路径下的所有文件名

    介绍 我们知道Linux系统下查看当前文件路径下的所有文件名 可以用ls或ll来查看 那么CMD中怎么查看当前路径下的所有文件呢 方案 使用 dir 命令即可 效果如下
  • Go语言编程思想3——错误处理和资源管理

    Go语言编程思想3 错误处理和资源管理 资源管理 及时关闭文件 及时释放资源 如果打开的文件还未关闭就因为出错而在中间跳出 就无法保证有效的资源管理 因此在这里两者一起进行考虑 一 defer调用 调用在函数结束时发生 在return pa
  • echarts 调整x类目轴axisLabel间距

    场景 产品认为x轴的刻度太密集 需要稀一点 调研 关于这个需求 想到的有 xAxis interval 指定的是所有横坐标的间隔 需要自行计算间隔多少 xAxis splitNumber 对类目轴不生效 xAxis axisLabel fo
  • 【java 程序设计实训】学生请假管理系统

    学生请假管理系统 运行结果 学生请假管理系统需求分析 GUI 编程 事件处理 数据库编程 部分代码 项目结构 实体类 Admin java LeaveData java UserLogin java MainWindow java leav
  • 嵌入式linux 第二章:软件下载

    嵌入式linux 目录 第一章 vi 使用 第二章 软件下载 第三章 软件下载 嵌入式linux 一 软件下载模式 1 deb 1 1 下载 1 2 删除 2 apt get 2 1 下载 2 2 删除 2 3 清除缓存 查询软件包信息 一
  • 每日一题:订单编号

    订单编号 题目 Daimayuan Online Judge 一开始想用二分答案的 但是后来发现不行 二分答案每找到一个值 就要去掉它的左半边或右半边 但是这里不能去 错误代码 include
  • C++(CMake)视觉OpenCV-Raspberry Pi图像处理-3D图像重建-面部界标检测-卷积神经网络车牌自动识别-深度神经网络面部检测和识别

    演示如何为桌面和小型嵌入式系统 如 Raspberry Pi 编写一些图像处理过滤器 使用 SfM 模块将场景重建为稀疏点云 包括相机位姿 以及如何使用多视图立体获取密集点云 使用人脸模块进行人脸界标 也称为人脸标记 检测的过程 图像分割和
  • SpringBoot系统整理

    写在前面 很早之前看了狂神的springboot快速入门 后来发现还是有很多开发知识点需要补充学习 乘着假期 将基础篇 运维实用篇 开发实用篇 原理篇一口气学习巩固 再次记录下学习笔记 系列笔记在springboot中哦 目录 1 快速上手
  • 【基于协同过滤算法的电影推荐】

    目录 1 协同过滤算法 1 1 CF与 User Item 推荐算法区别 1 2 UserCF 1 3 ItemCF 2 评价指标 3 基于userCF与itemCF电影推荐 3 1 MovieLens数据集 3 2 userCF代码实现
  • Qt 5.15 安装步骤

    Qt 5 15 安装步骤 简单介绍 1 利用 MaintenanceTool exe 卸载Qt 2 卸载完成后重新安装 配置Visual Studio 2019 简单介绍 之前一直使用Qt 5 14 0版本 但是由于打包问题以及工作需要 要
  • python下timer定时器常用的两种实现方法

    前言 大家早好 午好 晚好吖 欢迎光临本文章 话不多说 直接开搞 如果有什么疑惑 资料需要的可以点击文章末尾名片领取源码 方法一 使用线程中现成的 这种一般比较常用 特别是在线程中的使用方法 下面是一个例子能够很清楚的说明它的具体使用方法
  • 解决ROS系统 rosdep update超时问题的新方法

    由于近期国内Github Raw的可用IP越来越少 通过修改hosts文件解决rosdep update超时问题的方法已经不太好用 本文通过修改rosdep源码中下载资源的函数来解决这一问题 网站https ghproxy com 支持gi
  • 从键盘输入一个字符串与一个指定字符,将字符串中出现的指定字符全部删除...

    include stdio h include conio h include string h void prochar char str char c char p for p str p 0 p if p c str p str 0
  • 基于深度学习的图像超分辨率重建技术的研究

    基于深度学习的图像超分辨率重建技术的研究 图像的超分辨率重建技术指的是将给定的低分辨率图像通过特定的算法恢复成相应的高分辨率图像 随着人工智能的不断发展 超分辨率重建技术在视频图像压缩传输 医学成像 遥感成像 视频感知与监控等领域得到了广泛
  • c++顺序表类模板及其可视化界面

    文章目录 概要 整体架构流程 技术名词解释 实现代码 小结 概要 本文包括利用c 编写的顺序表的类模板以及其可视化界面 整体架构流程 在sqList h头文件中定义一个SqList类模板 并在类模板中声明构造函数 析构函数和要实现的成员函数
  • PHP网站使用JavaScript和Iframe简单实现部分刷新效果

    本文主要是记录自己寒假作业PHP网站实现加载界面的文章 运行效果如下图所示 主要记录php html Apache开发网站的3个功能 方便以后阅读和其他人学习 1 如何实现简单页面布局 2 使用jsp如何实现隐藏与显示效果 3 通过ifra
  • 9. GraalVM.云原生时代的Java虚拟机

    JVM性能调优 1 GraalVM诞生的背景 1 1 Java在微服务 云原生时代的困境 1 1 1 事实 1 1 2 矛盾 本文是按照自己的理解进行笔记总结 如有不正确的地方 还望大佬多多指点纠正 勿喷 课程内容 1 Java在云原生时代