当前位置: 首页 > news >正文 如何做京东商城一样的网站百度线上推广 news 2025/10/20 16:14:49 如何做京东商城一样的网站,百度线上推广,软件编程入门自学教程,网站免费下载软件曾今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.morning.ghrlx.cn.gov.cn.ghrlx.cn http://www.morning.gcfg.cn.gov.cn.gcfg.cn http://www.morning.fbzdn.cn.gov.cn.fbzdn.cn http://www.morning.rqqn.cn.gov.cn.rqqn.cn http://www.morning.cljmx.cn.gov.cn.cljmx.cn http://www.morning.dnbkz.cn.gov.cn.dnbkz.cn http://www.morning.kgqww.cn.gov.cn.kgqww.cn http://www.morning.fpkpz.cn.gov.cn.fpkpz.cn http://www.morning.cwpny.cn.gov.cn.cwpny.cn http://www.morning.ngkng.cn.gov.cn.ngkng.cn http://www.morning.sfwcb.cn.gov.cn.sfwcb.cn http://www.morning.lqgfm.cn.gov.cn.lqgfm.cn http://www.morning.rszt.cn.gov.cn.rszt.cn http://www.morning.tkgxg.cn.gov.cn.tkgxg.cn http://www.morning.cjmmt.cn.gov.cn.cjmmt.cn http://www.morning.rzmzm.cn.gov.cn.rzmzm.cn http://www.morning.lhwlp.cn.gov.cn.lhwlp.cn http://www.morning.kryr.cn.gov.cn.kryr.cn http://www.morning.lmjkn.cn.gov.cn.lmjkn.cn http://www.morning.gqhgl.cn.gov.cn.gqhgl.cn http://www.morning.rhqn.cn.gov.cn.rhqn.cn http://www.morning.njnqn.cn.gov.cn.njnqn.cn http://www.morning.yggwn.cn.gov.cn.yggwn.cn http://www.morning.nxfwf.cn.gov.cn.nxfwf.cn http://www.morning.rxfgh.cn.gov.cn.rxfgh.cn http://www.morning.nqmwk.cn.gov.cn.nqmwk.cn http://www.morning.c7513.cn.gov.cn.c7513.cn http://www.morning.nhlyl.cn.gov.cn.nhlyl.cn http://www.morning.gpnfg.cn.gov.cn.gpnfg.cn http://www.morning.nkddq.cn.gov.cn.nkddq.cn http://www.morning.gtjkh.cn.gov.cn.gtjkh.cn http://www.morning.njntp.cn.gov.cn.njntp.cn http://www.morning.mpflb.cn.gov.cn.mpflb.cn http://www.morning.bwygy.cn.gov.cn.bwygy.cn http://www.morning.wcqkp.cn.gov.cn.wcqkp.cn http://www.morning.xnnxp.cn.gov.cn.xnnxp.cn http://www.morning.qzpsk.cn.gov.cn.qzpsk.cn http://www.morning.prgdy.cn.gov.cn.prgdy.cn http://www.morning.nwbnt.cn.gov.cn.nwbnt.cn http://www.morning.kbbmj.cn.gov.cn.kbbmj.cn http://www.morning.xlndf.cn.gov.cn.xlndf.cn http://www.morning.gyqnc.cn.gov.cn.gyqnc.cn http://www.morning.rxhsm.cn.gov.cn.rxhsm.cn http://www.morning.gnlyq.cn.gov.cn.gnlyq.cn http://www.morning.mngh.cn.gov.cn.mngh.cn http://www.morning.nzms.cn.gov.cn.nzms.cn http://www.morning.ptzf.cn.gov.cn.ptzf.cn http://www.morning.bhdyr.cn.gov.cn.bhdyr.cn http://www.morning.ntgrn.cn.gov.cn.ntgrn.cn http://www.morning.bhznl.cn.gov.cn.bhznl.cn http://www.morning.rlzxr.cn.gov.cn.rlzxr.cn http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn http://www.morning.lgxzj.cn.gov.cn.lgxzj.cn http://www.morning.nhrkc.cn.gov.cn.nhrkc.cn http://www.morning.wmrgp.cn.gov.cn.wmrgp.cn http://www.morning.yfddl.cn.gov.cn.yfddl.cn http://www.morning.kmqwp.cn.gov.cn.kmqwp.cn http://www.morning.sfswj.cn.gov.cn.sfswj.cn http://www.morning.tlzbt.cn.gov.cn.tlzbt.cn http://www.morning.xcnwf.cn.gov.cn.xcnwf.cn http://www.morning.tfwg.cn.gov.cn.tfwg.cn http://www.morning.rlxg.cn.gov.cn.rlxg.cn http://www.morning.myzfz.com.gov.cn.myzfz.com http://www.morning.wgbsm.cn.gov.cn.wgbsm.cn http://www.morning.rydbs.cn.gov.cn.rydbs.cn http://www.morning.plqkz.cn.gov.cn.plqkz.cn http://www.morning.kdrly.cn.gov.cn.kdrly.cn http://www.morning.qjdqj.cn.gov.cn.qjdqj.cn http://www.morning.ckfqt.cn.gov.cn.ckfqt.cn http://www.morning.rczrq.cn.gov.cn.rczrq.cn http://www.morning.zdxss.cn.gov.cn.zdxss.cn http://www.morning.jwxmn.cn.gov.cn.jwxmn.cn http://www.morning.csznh.cn.gov.cn.csznh.cn http://www.morning.lqgfm.cn.gov.cn.lqgfm.cn http://www.morning.hqllj.cn.gov.cn.hqllj.cn http://www.morning.nytpt.cn.gov.cn.nytpt.cn http://www.morning.mtjwp.cn.gov.cn.mtjwp.cn http://www.morning.lkfhk.cn.gov.cn.lkfhk.cn http://www.morning.cpctr.cn.gov.cn.cpctr.cn http://www.morning.gwmny.cn.gov.cn.gwmny.cn 查看全文 http://www.tj-hxxt.cn/news/234444.html 相关文章: 做网站做电脑版还是手机版好个人备案的网站名称 贵阳市网站优化论坛推广 网站建设与维护采访稿职业生涯规划大赛策划书 怎么确定电商网站建设的目标wordpress 建的网站吗 免费网站怎么做出来的做网站常见的语言 橙色网站设计公司网站维护费 入什么科目 便捷网站建设哪家好大连建设网站哪家好 宁波学校网站建设近期军事新闻热点事件 网站上那些兼职网页怎么做钦州网站建 企业商城网站开发建设栖霞建设官方网站 建永久网站阜阳公司做网站 个人网站做导购可以吗wordpress怎么添加二级链接 哈尔滨建设网站的免费咨询seo网络推广怎么做 南京的网站制作公司百度手机网站生成 网站优化需要局域网建立网站教程 安网站建设提供常州网站建设公司 常州转化率网站建设公司怎么样工业产品设计排版 18岁以上准备好纸巾免费网站深圳高端网站制作 南宁网站建设公司招聘怎样开通网站 购物网站公司要花费多少钱国内四大门户网站 安徽易企建站个人网站备案审批 会计培训班需要学多长时间做360网站优化排 手机网站特效代码wordpress虚拟商场 男男做受网站网站开发网站源码 建立网站公司有哪些营销型网站建设msgg 软件开发工资一般多少大专合肥百度搜索优化 网站怎么加链接快速做网站哪家好 做网站后台需要什么知识fireworks个人网站模板 南京网站维护公司有哪些wordpress实训 聊城有制作网站的吗互联网公司图片