graalvm native-image jfr 试用
graalvm 最近license 许可模型的修改,对于我们使用graalvm 增加了不少信心,尤其是以前需要企业订阅的一些特性
以下是一个简单的jfr 试用
代码&构建
代码来自官方文档,主要是试用下,对于graalvm直接可以免费下载企业版了, 同时需要安装visualvm
- 代码
JFRDemo.java
import jdk.jfr.Event;
import jdk.jfr.Description;
import jdk.jfr.Label;
public class JFRDemo {
@Label("Hello World")
@Description("Build and run a native executable with JFR.")
static class HelloWorldEvent extends Event {
@Label("Message")
String message;
}
public static void main(String
HelloWorldEvent event = new HelloWorldEvent();
event.message = "Hello, World!";
event.commit();
}
}
- 构建
javac JFRDemo.java
native-image --enable-monitoring=jfr,jmxserver,jvmstat JFRDemo
运行&查看效果
- 运行
运行的时候添加jfr配置运行构建的二进制应用就可以了,应用启动之后就会退出
./jfrdemo -XX:StartFlightRecording="filename=recording.jfr"
- 查看
说明
graalvm 的native-image 是一个很不错的java 应用运行模式,但是对于性能调优还是比较重要的,jfr 是一个特别好的选择,而且对于系统资源占用比较底
传统java 应用,我比较喜欢使用jprofiler,也比较期待jprofiler后续对于graalvm 的native-image 有相关监控方面的支持,毕竟优化以及异常排错在日常开发
中还是很重要的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2021-06-24 delta lake minio+dremio 集成试用
2021-06-24 dremio 多集群共享zk 配置
2020-06-24 几个不错的geodns server
2020-06-24 spring boot rest api 最好添加servlet.context-path
2018-06-24 nsq 安装试用