Native-java(1)

简介: Native-java(1)

相关文档、仓库、官网

GraalVM

官网:https://www.graalvm.org/

下载地址:https://www.graalvm.org/downloads/#

代码仓库https://github.com/graalvm/graalvm-ce-builds/releases

GraalVM 的主存储库https://github.com/oracle/graal

win10https://medium.com/graalvm/using-graalvm-and-native-image-on-windows-10-9954dc071311

网上个人博客:

https://www.cnblogs.com/wymc/articles/16209105.html

https://ld246.com/article/1640500280400

https://github.com/ddean2009/learn-springboot3/blob/master/native-image/pom.xml

native-image

native好处https://medium.com/graalvm/a-new-graalvm-release-and-new-free-license-4aab483692f5

spring文档

oracle

spring+GraalVM

https://www.bilibili.com/video/BV1TX4y1W7p9/?spm_id_from=333.1007.tianma.1-2-2.click&vd_source=918234aac303a01ae2d14d0251c58d61

时间:27:13

GraalVM

下载

官网:https://www.graalvm.org/

下载地址:https://www.graalvm.org/downloads/#

至少jdk17

代码仓库有jdk11的

https://github.com/graalvm/graalvm-ce-builds/releases

GraalVM 的主存储库https://github.com/oracle/graal

下载后解压

配置环境变量

如果之前配置过java的环境变量

可以直接替换掉JAVA_HOME

如果没有

配置用户环境变量

然后在用户环境变量和系统环境变量的Path里

添加

%JAVA_HOME%\bin

配置系统变量,这个JAVA_HOME和PATH的配置就是java的默认调用版本

这里是17调用就是17,如果改成11就是默认11

配置环境变量成功后,包含GraalVM的版本信息,则说明安装成功。

下载native-image

GraalVM native-image将jar包编译为二进制,因此是现有jar然后

windows下

gu.cmd install native-image

下载配置windows10 sdk和msvc。

为了打包成exe可执行程序,这一步也是不可避免需要做的

自己下载(组件有点多,暂时还是从vs下载吧)

我光下载了window10的sdk,后面执行时报错

如果有就不需要下载了

windows11 sdk

https://learn.microsoft.com/zh-cn/windows/apps/windows-app-sdk/

vs下载

这个vs忘记是自带的还是之前下载过

下载地址https://visualstudio.microsoft.com/zh-hans/

我是直接默认安装了,升级win11后把windows的更新文件都删了,有一些内存

自己记住安装路径

修改默认路径

如果要更改地址发现最下面的不能修改,是需要注册表修改的

在注册表搜索

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup

修改后

修改完重新打开

直到路径修改

下载需要的开发包

默认看有sdk和msvc没


安装即可

配置系统环境变量

要根据自己的版本,vs的路径是看自己的安装路径,Windows Kits就是上面注册表那个路径

要先找到这个路径包含文件夹内容

PATH里的

这个路径圈住的是根据自己的路径和版本这个是安装时idea的路径

F:\develop\MicrosoftVisualStudio\VC\Tools\MSVC\14.37.32820\bin\Hostx64\x64

C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.37.32820\bin\Hostx64\x64

系统变量的path里

INCLUDE

前三部分在C:\Program Files (x86)\Windows Kits\10下,也是找自己的路径

这个可以通过注册表搜索

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows\v10.0

第四部分还是idea的路径

四部分

windows Kits

  • ucrt
  • um
  • shared

idea

  • include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared;
F:\develop\MicrosoftVisualStudio\VC\Tools\MSVC\14.37.32820\include;

LIB

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x64;
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\x64;
F:\develop\MicrosoftVisualStudio\VC\Tools\MSVC\14.37.32820\lib\x64;

目录
相关文章
|
消息中间件 RocketMQ
RocketMQ报错:MQClientException:no route info of this topic的解决
RocketMQ报错:MQClientException:no route info of this topic的解决
710 0
|
SQL 分布式计算 Java
GraalVM在Facebook大量使用,性能提升显著!
GraalVM在Facebook大量使用,性能提升显著!
890 0
GraalVM在Facebook大量使用,性能提升显著!
|
移动开发 Android开发 iOS开发
uniapp开发H5及app监听返回事件(以及监听不到的处理方法)
uniapp开发H5及app监听返回事件(以及监听不到的处理方法)
3926 0
|
8月前
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。
|
7月前
|
存储 弹性计算 安全
ECS与VPS技术角力:从算力成本到免备案雷区,企业服务器选型合规指南
在数字化浪潮中,服务器选择至关重要。ECS(云服务器)和VPS(虚拟专用服务器)是热门选项。ECS基于云计算,提供高可用性和弹性伸缩,适合大型项目;VPS通过分割物理服务器实现资源独立,成本较低,适合小型应用。两者在网络、存储及计算性能上各有优劣,需根据需求选择。国内并不存在合法的免备案服务器,建议严格遵守法规,确保网站合法运营。
319 3
|
11月前
|
Dubbo Java 应用服务中间件
服务架构的演进:从单体到微服务的探索之旅
随着企业业务的不断拓展和复杂度的提升,对软件系统架构的要求也日益严苛。传统的架构模式在应对现代业务场景时逐渐暴露出诸多局限性,于是服务架构开启了持续演变之路。从单体架构的简易便捷,到分布式架构的模块化解耦,再到微服务架构的精细化管理,企业对技术的选择变得至关重要,尤其是 Spring Cloud 和 Dubbo 等微服务技术的对比和应用,直接影响着项目的成败。 本篇文章会从服务架构的演进开始分析,探索从单体项目到微服务项目的演变过程。然后也会对目前常见的微服务技术进行对比,找到目前市面上所常用的技术给大家进行讲解。
387 1
服务架构的演进:从单体到微服务的探索之旅
|
网络协议 网络安全 网络虚拟化
网络技术基础(13)——NAT网络地址转换
【3月更文挑战第2天】网络基础笔记(加班了几天,中途耽搁了,预计推迟6天),这篇借鉴了之前师兄的笔记,边听边记笔记实在是太慢了。
|
人工智能 运维 监控
智能化运维:AI在IT基础架构管理中的应用
【6月更文挑战第8天】本文将探讨人工智能(AI)如何革新传统的IT运维领域,实现智能化的故障预测、自动化的修复流程以及高效的资源分配。我们将通过实例分析AI技术如何优化数据中心的能源使用,提升网络性能监控的准确性,并降低系统维护成本。
266 2
|
Java 应用服务中间件 API
SpringBoot使用Maven建立多模块工程(一)
SpringBoot使用Maven建立多模块工程(一)
289 0
|
前端开发 JavaScript
路径中“./”、“../”、“/”代表的含义
路径中“./”、“../”、“/”代表的含义
678 0