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

如何做京东商城一样的网站快速注销网站备案

如何做京东商城一样的网站,快速注销网站备案,校园网站的建设与管理,重庆市建设工程信息网怎么查询不到安全管理证书曾今Go语言里让我最艳羡的两个特性#xff0c;一个是Goroutine#xff0c;一个是native编译。 Java 21的虚线程实现了类似Goroutine的能力。Spring Boot 3.x开始提供了GraalVM的支持#xff0c;现在Spring Boot也能打包成native文件了。 这一篇文章的目标是用一个案例讲解如…曾今Go语言里让我最艳羡的两个特性一个是Goroutine一个是native编译。 Java 21的虚线程实现了类似Goroutine的能力。Spring Boot 3.x开始提供了GraalVM的支持现在Spring Boot也能打包成native文件了。 这一篇文章的目标是用一个案例讲解如何将Spring Boot应用打包成native文件。整个过程主要是4步: 环境准备讲解怎么安装GraalVM安装本地编译器(gcccl)测试工程创建一个极简的Spring Boot应用只有个Controller编译打包使用GraalVM、Maven将Spring Boot应用构建成可执行文件测试运行执行生成的可执行文件访问Controller看是否正常 1. 环境准备 1. 前置条件 GraalVM依赖一些本地工具才能完成工作这些工具包括: C的头文件glibc-develzlibgcclibstdc-static 不同的操作系统采用的安装方式不同在Linux下可以使用包管理工具安装比如yum、apt等 Linux yum install gcc glibc-devel zlib-devel apt-get install build-essential libz-dev zlib1g-dev Windows Windows可以通过安装Visual Studio完成依赖包安装 安装Visual Studio Build Tools安装Visual Studio 2. 安装GraalVM 从官网选择Java版本、平台来下载下载的zip包解压即安装接下来只要设置环境变量JAVA_HOME、PATH即可 设置GRAALVM_HOME为解压文件夹的根目录设置PATH为解压文件夹下的bin 3. 验证安装 通过执行native-image --help确认我们安装成功 4. 参考资料 关于GraalVM的安装过程可以参考官方的Get Started文档: Getting Started with GraalVM 2. 测试工程 1. 创建工程 使用mvn archetype:generate根据archetype maven-archetype-quickstart生成一个最简单的Java项目。 mvn archetype:generate -DarchetypeGroupIdorg.apache.maven.archetypes -DarchetypeArtifactIdmaven-archetype-quickstart -DarchetypeVersion1.4 -DgroupIdcom.keyniu.dis -DartifactIdDiveInSpring -Dversion0.1 -Dpackagecom.keyniu.dis -DinteractiveModefalse 2. 添加Spring Boot支持 修改pom.xml选择spring-boot-starter-parent作为parent添加native-maven-plugin插件 ?xml version1.0 encodingUTF-8?project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.keyniu.dis/groupIdartifactIdDiveInSpring/artifactIdversion0.1/versionnameDiveInSpring/nameparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.3.0/version/parentpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.target/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.graalvm.buildtools/groupIdartifactIdnative-maven-plugin/artifactId/plugin/plugins/build/project3. 添加测试类 写一个最简单启动引导类提供一个最简单的接口/hello用于后续测试。 package com.keyniu.dis;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController;SpringBootApplication RestController public class DiveInMain {GetMapping(/hello)public String hello(RequestParam(name) String name) {return hello, name;}public static void main(String[] args) {SpringApplication.run(DiveInMain.class);} }3. 编译打包 1. 命令行窗口 为了让GraalVM能引用到VisualStudio的编译工具我选择在x64 Native Tools窗口中运行接下来的命令。 在执行命令之前确保你的环境变量设置正确有添加GraalVM相关的配置 set GRAALVM_HOMED:\Programs\GraalVM set PATHD:\Programs\GraalVM\bin;%PATH% 2. 进行native编译 在工程的根目录下执行mvn -Pnative native:compile进行编译最后会生成一个exe到工程的target目录下输入如下 D:\Workspace\DiveInSpringmvn -Pnative native:compile ... Produced artifacts:D:\Workspace\DiveInSpring\target\DiveInSpring.exe (executable) 4. 测试运行 只需要在命令行里输入DiveInSpring.exe执行可以看到只需要0.063s就能完成启动这个项目如果通过java -jar启动的话大概耗时0.97s还是快了很多的。打包后的exe文件大小是80M。 通过curl命令验证接口正常提供服务 5. 使用建议 可以看到整个构建过程已经相当的顺畅从可执行文件的大小启动时间内存占用都于明显的提升应该说Spring GraalVM离成熟应用已经不远了。由于GraalVM使用了Closed World Optimization实际上这个可执行程序还是有一些限制的主要是: Class初始化有些初始化会在build期间完成可以参考GraalVM文档: Class Initialization in Native Image反射和动态代理需要的编译期间完成不支持JNI如果有本地方法调用需要根据GraalVM提供的接口定制实现执行时无法访问字节码正常的debug、监控等用JVM TI实现的功能都不再可用 在SpringBoot中 像profiles、 条件配置、 Enable*等功能会受到影响而其实这些特性正在被广泛使用这些限制在完全解决之前实际使用还是有障碍的。关于可以执行文件的DEBUG、监控在GraalVM官网都已经有对应的文档但是将它和公司内部的监控报警做集成还有一段路要走已经看到黎明的曙光了。 A. 参考资料 GraalVM构建Swing应用使用GDB Debug由GraalVM构建的程序Debug Native Executables with GDB让可执行文件支持JFRBuild and Run Native Executables with JFR手动创建Spring Boot工程
http://www.eeditor.cn/news/125907/

相关文章:

  • 如何做免费的网站推广人力管理系统
  • 建设网站实训推进网站建设工作计划
  • 密云成都网站建设设计接单渠道
  • 海西网站建设上海网站建设治汇网络
  • 做最简单的网站网站模板建设报价单
  • 网站建设入账网页设计与网站开发试题答案
  • 做seo时网站发文目的专题网站建设工作
  • 淘宝是行业门户网站的盈利模式是什么库尔勒网站建设哪家专业
  • 漫画驿站网页设计图纸尺寸图html个人网站
  • 物流公司网站模板150m网站空间
  • 下载网站app电脑网页视频怎么下载
  • 小而美企业网站建设国外做建材的网站有哪些
  • 岳阳网站定制开发设计北京手机版网站制作
  • 南京网站建设服务怎样通过网络销售自己的产品
  • 专注电子商务网站建设网站平台建设设备清单
  • 网站放视频代码邢台信息港官网
  • 网站英文版建设直接下载app
  • 网站建设策划书目录旅游分析 网站
  • 广东软文网站推广文案建筑八大员
  • 龙宜推广公司是正规吗天津网站优化软件
  • 增城新塘镇 企业网站建设电商美工培训哪个学校好
  • 中国城乡建设部网站首页网站开发人才需求
  • 大学城网站开发公司电话成都优化网站推广
  • 基本建筑网站做网站和优化共多少钱?
  • 网站建设客户分析调查问卷湖南正规seo公司
  • h5免费网站设计gta5网站建设中
  • 旅游社网站建设规划书宁波小程序网络开发公司
  • 如何设置个人网站本地服务器公网ip wordpress
  • 网站开发和网页上传沈阳关键词seo排名
  • 株洲网站的建设微信公众平台怎样开发