java - 使用 Java 12 SDK 编译 Java 11 应用程序 - 我的应用程序是哪个版本的 java?
问题描述
正如标题所说。我正在使用 Java 12 SDK 编译为 Java 11 应用程序。当我这样编译下来时,它是否仍在使用 Java 12 的新垃圾收集器,还是降级为 Java 11 正在使用的任何垃圾收集器?
编辑:更新了我的问题以避免“JRE”
解决方案
垃圾收集器是 JRE/JVM 的一个实现细节。如果您运行 Java 11 JRE,您的程序将使用该 JRE 的垃圾收集器运行。就那么简单。
请注意,您永远无法在编译时知道运行时将使用哪个垃圾收集器,因为即使在 Java 12 中,也有多个 JVM 实现(Oracle Hotspot、IBM),每个都有多个垃圾收集算法,它们的行为可以在启动时配置。因此,您不应该依赖垃圾收集器的任何行为,除了它收集垃圾的事实。
推荐阅读
- reactjs - 使用 useCallback 记住一个闭包和渲染回调
- javascript - KrakenD 的跨域读取阻塞 (CORB) 问题 - 来自 POST 的“应用程序/json”响应被 Chrome 拒绝
- python - 我想弄清楚为什么我的字符串不会连接
- php - 包含 @ 的字符串会导致不良行为
- python - 为什么在我尝试读取 netCDF 文件时会弹出此错误?
- python - 如何使用 numpy 使用索引向量设置 0-1 矩阵?
- python - 用python反转字典
- nginx - 反向代理锁定功能
- nativescript-vue - 带有 SideDrawer 和 No Sidedrawer 的应用程序
- android - Ionic 4 在打开应用程序时不检测方向