及时编译 - 存储与始终执行[重复]

2024-03-27

可能的重复:
为什么 JVM 不缓存 JIT 编译的代码? https://stackoverflow.com/questions/1992486/why-doesnt-the-jvm-cache-jit-compiled-code

我理解 JIT 编译是使用热点机制编译为本机代码,它可以非常非常快,因为它是对操作系统、硬件等的优化。

我的问题是,为什么 Java 不将 JIT 编译的代码存储在文件中的某个位置并将其用于将来的目的?这也可以减少“初始预热”时间。

请让我知道我在这里缺少什么。

添加到我的问题: 为什么 Java 不将完整的代码编译为本机并始终使用它(对于特定的 JVM、IS、平台)?为什么是即时生产?


虽然可以保证您始终使用 JVM,但不能保证您始终使用相同的 JVM。热点优化代码仅对您的机器有效。

对于 Java,无法保证代码是 JVM 本地的。 Applet 就是一个完美的例子,Webstart 也说明了这一点。通用的“保持优化”只会使很少运行的代码中的缓存变得混乱,并在保留优化扩展的位置上产生问题。

它还会在知道磁盘缓存保留多长时间方面造成相当大的难题,并且您是否必须重新编译“类”文件来验证缓存是否用于正确“释放”类文件? Java 没有相同类文件指示符的“此版本”,除了可选的串行版本 uid 之外。

也许有一个解决方法,通过检查总结类文件并将其放置在已编译类的字段中,但我不想考虑 JVM 的启动时间,该 JVM 的任务是扫描所有缓存的机器特定代码、构建表、干预类加载器,并使用优化后的代码检查加载的类的校验和。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

及时编译 - 存储与始终执行[重复] 的相关文章

  • Ant 复制文件而不覆盖

    Is there any command in ant to copy files from one folder structure to another without checking the last modified date t
  • 在进行字符识别之前使用 OpenCV 进行图像预处理(超正方体)

    我正在尝试开发简单的 PC 应用程序用于车牌识别 Java OpenCV Tess4j 图像不是很好 进一步它们会很好 我想对超立方体图像进行预处理 但我被困在车牌检测 矩形检测 上 我的步骤 1 源图像 Mat img new Mat i
  • 如何在 El Capitan (OS X 10.11) 中设置 Android Studio?

    全新安装 El Capitan 10 11 尝试安装 Android Studio 版本 1 21 Error Android Studio was unable to find a valid JVM Please download it
  • 我的 Java Web 应用程序中的 ClassNotFoundException/NoClassDefFoundError

    我使用 Java 开发了一个 Web 应用程序 当我将其部署到我的应用程序服务器 Jetty Tomcat JBoss GlassFish 等 时 会抛出错误 我可以在堆栈跟踪中看到此错误消息 java lang ClassNotFound
  • 如何在 Apache POI 中获取 Excel 空白单元格值?

    我有一个巨大的 Excel 文件 其中包含大量列 如下所示 Column1 Column2 Column3 Column4 Column5 abc def ghi mno pqr 这是我编写的用于打印这些值的代码 try FileInput
  • java中使用[:punct:]函数的正则表达式

    我在用 punct 替换 a 中特殊字符的函数 字符串例如 REPLACE REGEXP REPLACE 第 1 列 punct 作为输出 作为java中SQL字符串的一部分 但我想要特定的特殊字符 不被替换 你能建议最好的方法吗 Acc
  • Spring - 使用 new 是一种不好的做法吗?

    正在创建对象by hand 即使用new操作员而不是注册Springbean 和使用依赖注入被认为是不好的做法吗 我的意思是 确实Spring IoC容器必须了解应用程序中的所有对象吗 如果是这样 为什么 你希望 Spring 创建 bea
  • Spring数据异常处理

    我正在使用 Spring Data JPA 开发一个项目 我需要处理 JpaRepository 方法调用中的一些异常 在下面的代码中 我需要拦截主键违规错误 但无法直接捕获异常 就我而言 当发生此类异常时 存储库层 JpaReposito
  • java SWT透明复合背景

    我有复合对象 Composite composite new Composite shell SWT NONE composite setBounds new Rectangle 10 10 100 100 我如何使这个组合具有透明背景 我
  • HTML 解析和删除锚标记,同时使用 Jsoup 保留内部 html

    我必须解析一些html并删除锚标记 但我需要保留锚标记的innerHTML 例如 如果我的 html 文本是 String html div p some text a href some link text a p div 现在我可以解析
  • 通常可重用的注释或公共注释?

    有没有常用的注释 类似于 commons lang 如果没有 您是否见过在任何开源应用程序开发中有效使用注释 不是内置注释 的情况 我记得 Mifos 用它来进行交易 Mohan i think 休眠验证器 http www hiberna
  • 正确使用Optional.ifPresent()

    我正在尝试理解ifPresent 的方法OptionalJava 8 中的 API 我有一个简单的逻辑 Optional
  • 滚动文件实现

    我一直很好奇滚动文件是如何在日志中实现的 如何开始用任何语言创建一个文件写入类 以确保不超过文件大小 我能想到的唯一可能的解决方案是 write method size file size size of string to write i
  • 使用 getPathMatcher 的全局模式

    从 OCP 考试的 Kathy Sierra Bert Bates 书中我找到了以下代码 public class FileTest public static void matches Path path String glob Path
  • Android 中的 RoboSpice 库是什么

    我正在尝试了解 android 中的 RoboSpice 库 我在这里看到了在线文档 https github com stephanenicolas robospice wiki Starter Guide 我尝试过什么 我之前研究过使用
  • 在 Maven Shade 插件中包含依赖项

    我正在尝试使用 Apache 的 commons lang3 创建一个可部署的 jar 但是 我的 Hadoop 所在的 AWS 集群不包含此库 因此我收到了 classNotFoundException 我想我需要手动添加该依赖项 但我在
  • 如何在jsf页面中嵌入java代码?

    我有 一个名为 LoginBean 的托管 bean 名为 login xhtml 的 JSF 页面 在这个 jsf 页面中 我有一个登录表单 在managebean 内部我有一个loginCheck 函数 public void logi
  • Java 8 中接口和抽象类之间的根本区别[重复]

    这个问题在这里已经有答案了 考虑到接口现在可以为其提供的方法提供实现 我无法正确合理地解释接口和抽象类之间的差异 有谁知道如何正确解释其中的差异 我还被告知 从性能角度来看 接口比抽象类更轻量 有人可以证实这一点吗 接口仍然不能有任何状态
  • Java 压缩字符串

    我需要创建一个接收字符串并返回字符串的方法 防爆输入 AAABBBCCC 防爆输出 3A4B2C 好吧 这很尴尬 我在今天的面试中无法做到这一点 我正在申请初级职位 现在 我在家尝试制作一些静态工作的东西 我的意思是 不使用循环有点无用 但
  • 你在实际项目中使用过Quickcheck吗[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 快速检查 http www cs chalmers se rjmh QuickCheck 及其变体 即使有一个Java https bitbuc

随机推荐

  • notepad++ 用户定义的折叠区域

    我不知道如何配置记事本 来显示用户定义的关键字的区域 我有一个很大的跟踪文件 它显示了过程的开始和结束 跟踪文件如下所示 Beginn abc def Beginn ghi jkl Ende ghi jkl Ende abc def 我想像
  • 任何阻止 WebView 内置滚动的方法

    我正在开发一个必须使用网络视图的应用程序 我的问题是我们可以停止 WEBVIEW 内置的滚动功能吗 我已经尝试过这样做 在 onScrollChanged super scroll 0 0 但这对我没有帮助 我正在寻找类似我们可以使用网络视
  • 如何停止 Azure CDN 缓存 index.html

    我正在使用 Azure CDN 托管我正在构建的静态网站 这很棒 除了当我更新网络应用程序时旧页面被缓存并仍然显示这一事实之外 我在规则引擎中添加了以下缓存规则 使其每 60 秒刷新一次 但这没有任何作用 我仍然得到旧内容 获取新内容的唯一
  • 帮助集中动态创建的输入

    我的代码是这样的 在jsfiddle http jsfiddle net KH7pZ 1 var inp
  • 删除一列的重复单元格:html

    我要按照这个做同样的事情 table border 1 tr td test1 td td test2 td td test3 td tr tr td test4 td td test2 td td test5 td tr tr td te
  • 无法在 mac os yosemite 中通过 brew 链接 PCRE

    当我使用安装守望者时brew install watchman 它得到了这个Error You must brew link pcre before watchman can be installed 所以我尝试brew link pcre
  • 一种阻止移动浏览器下载和显示图像的方法

    有没有一种简单的方法来阻止浏览器下载和显示图像 最好是通过一些魔法样式标签或javascript 问题是 我想稍微调整一下公司的网站 以便通过移动设备更方便使用 该公司是一家游戏公司 其主页上有大约 5MB 的图像 而且这些图像是不能动的
  • Google Apps 脚本中的 MailApp.sendEmail() 不发送电子邮件

    我们为客户建立了 Google G Suite 在过去的几周里 我们发现 Google Apps 脚本没有按预期处理 MailApp sendEmail 它只发生在新的 G Suite 帐户中 并且现有帐户中的代码与预期的功能完全相同 fu
  • 将数据导出到 Excel 在数据表中不起作用

    在 head 之间添加此行后 导出数据和 TableTools 不适用于我
  • 检查对象的类型是否继承自特定类

    在C 中 如何检查对象的类型是否继承自特定类 class Form class Moveable public Form class Animatable public Form class Character public Moveabl
  • 从活动中调用 JavaScript 函数?

    如何使用 Activity 中的按钮调用加载到 webView 中的 HTML 文档中的函数 即 一个 ImageButton 称为 bookBtn 位于 Activity 的标题栏中 当按下 点击它时 我需要它在 webView DOM
  • 从 Set 中检索“规范值”,其中 T 具有自定义 equals()

    我有一个class Foo这会覆盖equals and hashCode 适当地 我想也想使用HashSet
  • 为什么当我追加子项时我的输入值会被清除?

    当我在 a 中附加元素时遇到问题div我输入的所有值 包括选定的选项 都被清除 如下所示 正如您所看到的 当我单击按钮 A adir tecla 时 文本框中的文本和所选选项 Shift 将返回到默认选项 Flechas de movimi
  • Outlook 中的文本不使用行高

    我正在使用 Html 创建电子邮件 并且偶然发现 Outlook 2010 存在问题 这是我的代码 td width 514 height 460 valign top td
  • Facebook Connect iPhone 自定义发布流

    我刚刚下载了 iOS 版 Facebook SDK 因为我需要能够将自定义流发布到用户的 Facebook feed 示例应用程序有一个名为publishStream id sender的方法 该方法似乎为 发布流 对话框设置自定义描述 但
  • counter_cache 列返回 0 的 Rspec 测试

    几天来 我一直在努力弄清楚什么是应该很容易做的事情 然而 我对 Rails 和 ruby 的世界仍然很陌生 我只是无法解决这个问题 p 无论如何 我遇到的问题是我的模型中有许多 counter cache 列 这些列在手动测试时都工作得很好
  • 防止使用 PHP CURL 的远程脚本登录网站

    有哪些方法可用于保护登录页面不被远程 PHP 脚本使用 CURL 登录 检查引荐来源网址和用户代理将不起作用 因为它们可以使用 CURL 设置 理想的解决方案是在不使用验证码的情况下解决这个问题 这就是这个问题的重点 试图弄清楚这是否可能
  • 导入的样式不会应用于组件

    我想创建单独的文件来存储 IE 9 11 的样式 为此 我创建并导入了文件InternetExplorer scss进入 主文件styles scss import scss InternetExplorer scss The Intern
  • 错误:存在部署错误

    当我尝试运行任何示例应用程序或新应用程序时 它显示此错误 有人可以帮忙吗 该错误告诉您尚未选择设备 运行应用程序之前请选择有效的设备 您需要选择一个物理手机 或 Android 模拟器 来部署应用程序 Ref 在设备上调试 https de
  • 及时编译 - 存储与始终执行[重复]

    这个问题在这里已经有答案了 可能的重复 为什么 JVM 不缓存 JIT 编译的代码 https stackoverflow com questions 1992486 why doesnt the jvm cache jit compile