类文件格式的最终​​变量

2024-01-11

Does class文件格式提供支持final关键字与变量一起使用吗?
或者它只是从代码中推断出变量的有效最终性,然后 JIT 编译器基于它执行优化?

Here https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html,在类文件格式文档中,他们提到了final关键字,但仅在与它一起使用的情况下最后一块 and 最后一堂课.
没有什么关于最终变量.


不,类文件中没有编码此类信息。

您可以通过使用以下命令编译源文件来轻松验证这一点final局部变量并且没有final- 结果类别将是相同的。

然而,Java 8 添加了MethodParameters https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.24记录有关方法参数的名称和访问标志的信息的属性。这意味着,您可以检查方法参数是否为final or not.

即时编译器不需要了解final当地人 - 他们可以轻松确定任何表达式的实际范围。即使变量不是最终的,例如

    int x = 1;
    // ... code A ...

    x = 2;
    // ... code B ...

编译器将优化代码A as if x总是1,以及代码B as if x总是2.

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

类文件格式的最终​​变量 的相关文章

  • 将 MouseListener 添加到面板

    我正在尝试将鼠标操作添加到我的面板中 这就是程序应该做的事情 编写一个程序 允许用户通过按三下鼠标来指定一个三角形 第一次按下鼠标后 画一个小点 第二次按下鼠标后 绘制一条连接前两个点的线 第三次按下鼠标后 绘制整个三角形 第四次按下鼠标会
  • 对象数组的数组(二维数组)JNI

    我正在努力创建自定义对象类型 ShareStruct 的二维数组 jobjectArray ret jobjectArray ins jobjectArray outs jclass myClass env gt FindClass env
  • 如何作为应用程序发布到页面?

    所以 我有一个应用程序 Facebook 应用程序实体 并且我有一个页面 我想使用应用程序通过java代码 通过restfb或任何其他建议 发布到页面 看起来我错过了页面授予应用程序发布权限的阶段 不知道该怎么做 谢谢你们 乌里 您只能 作
  • 使用 Apache POI Excel 写入特定单元格位置

    如果我有一个未排序的参数 x y z 列表 是否有一种简单的方法将它们写入使用 POI 创建的 Excel 文档中的特定单元格 就好像前两个参数是 X 和Y 坐标 例如 我有如下行 10 4 100 是否可以在第 10 行第 4 列的单元格
  • 重写 getPreferredSize() 会破坏 LSP

    我总是在这个压倒一切的网站上看到建议getPreferredSize 而不是使用setPreferredSize 例如 如前面的线程所示 对于固定大小的组件 使用重写 getPreferredSize 而不是使用 setPreferredS
  • 我需要在 JFileChooser(打开模式)中显示不带扩展名的文件名。如何?

    我在打开模式下使用 JFileChooser 我需要显示不带扩展名的 文件名 字段 如何 我知道文件视图 它删除文件系统文件中的扩展名 但将所选文件中的扩展名保留在 文件名 字段中解释 http saveimg ru show image
  • 无法从资源加载图片

    So I am trying to load a image file from a resource so that when I export my application into a jar file it could be use
  • .pdbs 会减慢发布应用程序的速度吗?

    如果 dll 中包含 pdb 程序调试 文件 则行号将出现在引发的任何异常的堆栈跟踪中 这会影响应用程序的性能吗 这个问题与发布与调试 即优化 无关 这是关于拥有 pdb 文件的性能影响 每次抛出异常时都会读取 pdb 文件吗 加载程序集时
  • 具有 JPA 持久性的 Spring 状态机 - 存储库使用

    我试图弄清楚如何轻松使用 Spring 状态机 包括使用 JPA 进行持久化 这是我正在处理的问题 不兼容的数据类型 工厂和持久性 在程序的某个时刻 我想使用连接到用户的状态机 有用于此目的的存储库 项目spring statemachin
  • 纱线上的火花,连接到资源管理器 /0.0.0.0:8032

    我正在我的开发机器 Mac 上编写 Spark 程序 hadoop的版本是2 6 spark的版本是1 6 2 hadoop集群有3个节点 当然都在linux机器上 我在idea IDE中以spark独立模式运行spark程序 它运行成功
  • 在 java 中运行外部应用程序但不要等待它完成

    我正在用java编写一个应用程序 允许我运行其他应用程序 为此 我使用了 Process 类对象 但当我这样做时 应用程序会等待进程结束 然后再退出 有没有办法在 Java 中运行外部应用程序 但不等待它完成 public static v
  • 如何在不反编译的情况下更改已编译的.class文件?

    我想更改 class 文件方法 我安装 JD Eclipse Decompiler 并打开 class 文件 我添加了一些代码并保存 class 文件 但是 class 文件没有改变 我不知道如何使用反编译器 如果可能的话 如何在不使用反编
  • 当我使用可变参数而不是常量参数时,为什么我的内联表 UDF 慢得多?

    我有一个表值内联 UDF 我想过滤该 UDF 的结果以获得一个特定值 当我使用常量参数指定过滤器时 一切都很好 并且性能几乎是瞬时的 当我使用可变参数指定过滤器时 它会花费明显更大的时间块 大约是逻辑读取的 500 倍和持续时间的 20 倍
  • BadPaddingException:无效的密文

    我需要一些帮助 因为这是我第一次编写加密代码 加密代码似乎工作正常 但解密会引发错误 我得到的错误是 de flexiprovider api exceptions BadPaddingException 无效的密文 in the 解密函数
  • 如何以编程方式创建 CardView

    我正在开发一个 Android 应用程序Java Android Studio 我想在活动中创建CardView以编程方式 我想将以下属性设置为CardView layout width wrap content layout row 0
  • 当底层连接是有状态时如何使用 Apache HttpClient?

    我在谷歌上搜索了很多关于如何使用 HttpClient 进行多线程处理的信息 他们中的大多数人建议使用 ThreadSafeClientConnManager 但我的应用程序必须登录某个主机 登录表单页面 以便 HttpClient 获得底
  • 删除 JFX 中选项卡后面的灰色背景

    So is there any way to remove the gray area behind the tab s 我尝试过用 CSS 来做到这一点 但没有找到方法 要设置 tabpane 标题的背景颜色 请在 CSS 文件中写入 t
  • 使用 PC/SC 读卡器验证 Ultralight EV1

    我在尝试使用 Java 中的 PC SC 读卡器 特别是 ACR1222L 验证 Ultralight EV1 卡时遇到问题 我能够使用 ISO 14443 3 标签的相应 APDU 在不受保护的标签上进行写入和读取 但是 我找不到运行 P
  • 如何制作一个makefile只用于编译一些java文件?

    我有三个java文件 名为A java B java C java A将创建对象B B将创建对象C 但我以前从未构建过makefile 有谁可以帮我构建一个 makefile 来编译这三个 java 文件吗 我应该使用什么工具来制作 mak
  • Java/MongoDB 按日期查询

    我将一个值作为 java util Date 存储在我的集合中 但是当我查询以获取两个特定日期之间的值时 我最终得到的值超出了范围 这是我的代码 插入 BasicDBObject object new BasicDBObject objec

随机推荐

  • setlocale 在 Windows 上卡住

    setlocale LC ALL uk UA 有时我会因未知原因而挂起 陷入僵局 调用堆栈是 ntdll dll ZwWaitForSingleObject 12 Unknown ntdll dll RtlpWaitOnCriticalSe
  • FlatList numColumns 似乎工作不正常?

    我正在尝试使用 FlatList 以网格格式向某人显示一堆用户头像 但它最终看起来非常奇怪 我似乎不知道如何修复它 这是它的样子 https i stack imgur com j3nAP png 我的 FlatList 代码如下所示
  • 在 Eclipse 中,我可以在垂直堆栈而不是水平堆栈中查看当前打开的文件吗?

    如果选项卡显示编辑器中的哪些文件是垂直堆叠而不是水平堆叠 我会发现更容易 水平堆叠意味着您会很快耗尽显示文件名的空间 并且导致文件之间的切换非常耗时 是否有选项或插件可以垂直显示文件 类似于导航器 但针对打开的文件而不是项目文件 我似乎找不
  • 重新加载php页面的一部分而不刷新整个页面

    我使用 Wordpress 作为内容管理系统 我的模板有一个 divbox类 并包含一个下拉列表 我的目标是获取此下拉列表的值并使用该值在ajax方法中查询帖子 然后重新加载boxdiv 使用 ajax 为了更清楚这里是标记
  • 如何在Python中执行逻辑套索?

    scikit learn 包提供了以下功能Lasso and LassoCV 但没有选择拟合逻辑函数而不是线性函数 如何在 python 中执行逻辑套索 Lasso 通过 L1 惩罚优化最小二乘问题 根据定义 您无法使用 Lasso 优化逻
  • SQL Server 中变量名区分大小写? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 当我执行这种格式的 SQL 命令时 SP HELPTEXT Sproc1 结果集将显示Could not find stored procedure
  • webpack-dev-server、historyApiFallback 不起作用(webpack-4、react-router-4)

    我正在使用 webpack 4 测试 React router 4 但无法获取 webpack dev server 的设置 historyApiFallback true 上班 这个用法在 webpack3 中工作得很好 所以我不确定出了
  • 如何从 Go 1.18 中的单个方法返回两种不同的具体类型?

    假设我有这段代码 type Type1 struct Name string json name omitempty Path string json path File string json file Tag int json tag
  • Spring Security 无效会话重定向

    我在 spring boot 1 2 3 Web 应用程序中使用 spring security 4 0 1 也使用 spring session 1 0 1 但这与案例无关 我确实有一个私人区域 以及一个所有用户都可以访问的所有访问区域
  • Android Espresso:无法解析符号 AndroidJUnit4.class

    我正在尝试在新的 Android 项目中创建 Espresso UI 测试 但遇到了以下问题 如果我尝试创建一个空的测试类 import android content Intent import android support test
  • 技术实现细节如何编写User Stories? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在尝试以更有组织的方式工作并开始采用用户故事 我认为我对如何将用户故事用于技术内容存在误解 假设我正在编写一个应用程序 它可以提供我的网站在
  • 如何使用 Open JDK 11+ 作为自定义运行时执行 AWS lambda?

    AWS 允许创建拉姆达函数 with Java 8 OpenJDK 8 作为运行时 我需要使用创建一个简单的函数Open JDK 11 像这样的东西 package example import com amazonaws services
  • jquery 中选定单选按钮的数量

    假设我有一组单选按钮 如下所示
  • 构造一个整数数组来实现特定的序列

    构造以 A 结尾的最短整数序列 使用以下规则 序列的第一个元素是 1 每个连续的元素 elements 是任意两个前面元素的总和 添加单个元素 元素本身也是允许的 每个元素都大于 所有前面的元素 也就是说 序列是递增的 例如 对于 A 42
  • Oracle 云实例连接问题

    我对云缺乏经验 我已在 Oracle Cloud 中创建了一个计算实例 但是当我尝试使用公共 i p ssh 连接到它时 它显示 无法连接到主机端口 22 操作超时 我已经为实例创建了一个公共 i p 并提供了公钥 所有其他选项均设置为默认
  • 引用 NET Standard 1.6 项目时,ASP.NET Web API 2 无法返回流

    这是我见过的奇怪问题之一 以下是重现的步骤 1 gt 使用 Target Framework 4 6 2 在 VS 2017 中创建新的 Web API 项目 Create new ASP NET Web Application gt Se
  • Android 上的虚拟蓝牙设备?

    昨晚 我不断地被说外语的错误号码所困扰 我开始寻找一个应用程序来在电话连接中播放音频文件 带有多种语言的 黄号码 并发现了很多注释 说明由于硬件的工作方式 以及相反的情况 记录电话交谈 这是不可能的 不可能 总是让我想知道如何做某事 所以我
  • 在 Xamarin Forms 中实现自定义 Webview

    我是新来的Xamarin Forms我已经实现了一个自定义网页视图渲染器Droid项目 问题是在实现渲染器时iOS项目 就像Webview在不加载 CSS 和 Javascript 的情况下进行初始化 因为它只显示HTML页面没有任何功能
  • 使用 AWK 删除字段前的空格

    几乎完全重复通过 AWK 保持原始格式 POST 传递 https stackoverflow com questions 408469 keeping original format post passing through awk由同一
  • 类文件格式的最终​​变量

    Does class文件格式提供支持final关键字与变量一起使用吗 或者它只是从代码中推断出变量的有效最终性 然后 JIT 编译器基于它执行优化 Here https docs oracle com javase specs jvms s