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... args) {
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 有相关监控方面的支持,毕竟优化以及异常排错在日常开发
中还是很重要的
参考资料
https://www.graalvm.org/latest/reference-manual/native-image/guides/build-and-run-native-executable-with-jfr/
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
高可用指标与问题 高可用,英文单词High Availability,缩写HA,它是分布式系统架构设计中一个重要的度量。业界通常用多个9来衡量系统的可用性,如下表: 既然有可用率,有一定会存在不可用的情况。系统宕机一般分为有计划的和无计划的,有计划的如日常维护…