JDK9已经出来有一段时间了,因此很多流行的Java应用纷纷增添了对JDK9乃至JDK10的支持,比如Tomcat。
我们通过这个链接下载最新的Tomcat源文件包,总共7MB:
https://tomcat.apache.org/download-90.cgi
解压之后,在文件夹apache-tomcat-9.0.10-srcjavaorgapachecatalinacore里找到文件JreMemoryLeakPreventionListener.java:
可以看到大量调用工具类JreCompat检测JRE9是否可用:
JreCompat.isJre9Available()
查看isJre9Available的具体实现:
public static boolean isJre9Available() {
return jre9Available;
}
被一个boolean控制:jre9Available。
jre9Available这个boolean被Jre9Compat.isSupported()控制:
static {
// This is Tomcat 9 with a minimum Java version of Java 8.
// Look for the highest supported JVM first
if (Jre9Compat.isSupported()) {
instance = new Jre9Compat();
jre9Available = true;
} else {
instance = new JreCompat();
jre9Available = false;
}
}
再看Jre9Compat.isSupported()的代码:
static boolean isSupported() {
return inaccessibleObjectExceptionClazz != null;
}
一旦inaccessibleObjectExceptionClazz不为null,说明JRE9可用。
inaccessibleObjectExceptionClazz来自Class.forName("java.lang.reflect.InaccessibleObjectException"),
java.lang.reflect.InaccessibleObjectException这个类正是Java 9引入的。因此如果用Class loader加载不到这个类,一定说明当前的运行环境是Java 9以下。
通过这种方式进行Java运行环境的检测比System.getProperty准确,因为后者获取的信息理论上有可能被别人用setProperty覆盖。
ABAP
通过表CVERS查看Software component的版本信息:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
BIQE代码,ILNIQE代码, A feature-enriched completely blind image quality evaluator
VS2010建模 代码生成工具 FeaturePack. VS2010有了自己的建模工具,可以进行架构设计。 而此工具,正是用于模型生成代码的。加快代码的编写。
Feature 安装Exif扩展判断 Feature 引导安装提示用语不当 Feature 引导安装程序添加PHP7支持 Feature 头像PNG支持 Feature 增加了后台文档管理功能 Feature 增加了文档导出PDF/打印功能 墨子Markdown管理...
(1)支持C++项目的dgml生成:可以查看项目和类的依赖关系 (2)UML类图的代码双向生成: 从UML类图生成代码 从代码形成UML类图 安装: 运行Visualization_and_Modeling_Feature_Pack_Runtime.vsix和 en_visual_...
计算机视觉项目实战(二)、局部特征匹配Local_Feature_Matching配套素材资源和代码,项目详解见本人博客https://blog.csdn.net/Accelerato/article/details/105577679
命名:feature-{版本号} 说明:更能分支代码提交 feature分支用于需求开发完成后,已经merge回master主干后,临时出现的需求及功能变更开发,需先从master主干新建一个feature分支,在分支上开发,开发完成后merge回...
feature-visualization, 从convnet可视化特性的tensorflow示例 Tensorflow中Convnets的#Feature 可视化这是伴随在上的代码的代码,它从一个卷积网络的角度来展示。用于运行的##Instructions:下载 cifar10二进制格式...
这个feature安装后,会在文档库文档下拉列表中显示download一项,将文档库文件以程序流形式打开。不知道怎样,我qq:183765487
ECCV 2014年论文Progressive Mode-Seeking on Graphs for Sparse Feature Matching 的代码
Feature_selection matlab
Cisco Feature Cisco Feature Cisco Feature Cisco Feature
人脸识别 特征混合 ,matlab代码及论文都有
feature转化为Json对象,有时我们需要用CallbackResult把feature对象转换成json,然后在客户端做处理
AE创建各种类型的featureclass代码
原文地址 http://www.cnblogs.com/topcss/p/3575248.html ,基于该作者的代码基础上进行简单修改,使其在openlayers3上可用,有兴趣可以去看一下
v1.4.0 2017-07-29 Feature 显示页面图片链接自动启用CDN加速 Bugfix 预览页面目录样式一处显示问题 Feature 安装Exif扩展判断 Feature 引导安装提示用语不当 Feature 引导安装程序添加PHP7支持 Feature 头像...
tf.feature_column 测试代码
Android开发feature2