java同步与异常处理

2023-12-19

如果我有一个同步块,并且该块内的某处抛出了一个未在同步块内捕获的异常,那么当异常传播出同步块时,锁会被放弃吗?(同步块)

synchronized( mutex )
{
    throw new Exception( "" );
}

锁总是被释放。

来自JLS§14.19 http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.19:

“如果该块的执行正常完成,则该锁是 解锁并且同步语句正常完成。如果 由于任何原因块的执行突然完成,然后 锁被解锁,然后同步语句完成 出于同样的原因突然”。

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

java同步与异常处理 的相关文章

  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • Android蓝牙java.io.IOException:bt套接字已关闭,读取返回:-1

    我正在尝试编写一个代码 仅连接到运行 Android 5 0 KitKat 的设备上的 目前 唯一配对的设备 无论我尝试了多少方法 我仍然会收到此错误 这是我尝试过的最后一个代码 它似乎完成了我看到人们报告为成功的所有事情 有人能指出我做错
  • 从直方图计算平均值和百分位数?

    我编写了一个计时器 可以测量任何多线程应用程序中特定代码的性能 在下面的计时器中 它还会在地图中填充花费了 x 毫秒的调用次数 我将使用这张图作为我的直方图的一部分来进行进一步的分析 例如调用花费了这么多毫秒的百分比等等 public st
  • 无法解析“...”的依赖关系:无法解析项目:react-native-navigation

    问题描述 仔细按照中的说明进行操作后https wix github io react native navigation docs Installing https wix github io react native navigatio
  • 从休眠乐观锁定异常中恢复

    我有一个这样的方法 Transactional propagation Propagation REQUIRES NEW public void doSomeWork Entity entity dao loadEntity do some
  • 虽然我的类已加载,但 Class.forName 抛出 ClassNotFoundException

    代码如下 它的作用是加载我放在主目录中的 jar 文件中的所有类 import java io File import java util jar JarFile import java util jar JarEntry import j
  • 如何删除日期对象的亚秒部分

    当 SQL 数据类型为时间戳时 java util Date 存储为 2010 09 03 15 33 22 246 如何在存储记录之前将亚秒设置为零 例如 在本例中为 246 最简单的方法是这样的 long time date getTi
  • 用于缓存的 Servlet 过滤器

    我正在创建一个用于缓存的 servlet 过滤器 这个想法是将响应主体缓存到memcached 响应正文由以下方式生成 结果是一个字符串 response getWriter print result 我的问题是 由于响应正文将不加修改地放
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • 如何从 Ant 启动聚合 jetty-server JAR?

    背景 免责声明 I have veryJava 经验很少 我们之前在 Ant 构建期间使用了 Jetty 6 的包装版本来处理按需静态内容 JS CSS 图像 HTML 因此我们可以使用 PhantomJS 针对 HTTP 托管环境运行单元
  • 如何让 Emma 或 Cobertura 与 Maven 一起报告其他模块中源代码的覆盖率?

    我有一个带有 Java 代码的多模块 Maven 设置 我的单元测试在其中一个模块中测试多个模块中的代码 当然 这些模块具有相互依赖性 并且在测试执行之前根据需要编译所有相关模块中的代码 那么 如何获得整个代码库覆盖率的报告 注意 我不是问
  • 如何在Java中对对象数组进行字段级别排序以进行等级比较?

    In Java Class StudentProgress String Name String Grade CTOR goes here main class main method StudentProgress arrayofObje
  • 替换文件中的字符串

    我正在寻找一种方法来替换文件中的字符串而不将整个文件读入内存 通常我会使用 Reader 和 Writer 即如下所示 public static void replace String oldstring String newstring
  • JMS 中的 MessageListener 和 Consumer 有什么区别?

    我是新来的JMS 据我了解Consumers能够从队列 主题中挑选消息 那么为什么你需要一个MessageListener因为Consumers会知道他们什么时候收到消息吗 这样的实际用途是什么MessageListener 编辑 来自Me
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件
  • Java 的 PriorityQueue 与最小堆有何不同?

    他们为什么命名PriorityQueue如果你不能插入优先级 它看起来与堆非常相似 有什么区别吗 如果没有区别那为什么叫它PriorityQueue而不是堆 默认的PriorityQueue是用Min Heap实现的 即栈顶元素是堆中最小的
  • 记录类名、方法名和行号的性能影响

    我正在我的 java 应用程序中实现日志记录 以便我可以调试应用程序投入生产后可能出现的潜在问题 考虑到在这种情况下 人们不会奢侈地使用 IDE 开发工具 以调试模式运行事物或单步执行完整代码 因此在每条消息中记录类名 方法名和行号将非常有

随机推荐

  • Camunda 使用 REST 获取 XOR 网关的机会

    I have the following situation 我想要做的是在我的 Angular 应用程序中获得一个下拉菜单 其中列出了书籍的所有机会 所以我可以在 哈利 波特 白鲸记 和 鲁宾逊漂流记 之间进行选择 当我选择一本书并按提交
  • 沙盒 AppDomain 中的线程安全

    我有一个应用程序域来托管不受信任的代码 程序集 我用安全属性解决了所有安全问题 效果很好 不受信任的代码在专用线程上运行 CLR 是 2 0 这就是我所拥有的应用程序域Shell http code google com p robocod
  • 在实践中(而非理论上),小批量与实时流有什么区别?

    在实践中 而非理论上 小批量与实时流有什么区别 从理论上讲 我理解迷你批次是在给定时间范围内进行批处理的东西 而实时流更像是在数据到达时执行某些操作 但我最大的问题是为什么不使用带有 epsilon 时间范围 例如一毫秒 的迷你批次或者我想
  • 为什么 Firefox 即使输入不同的名称也会自动完成?

    或者 Firefox 如何确定密码 用户名的去向 如果我更改输入元素的名称 id 标题 类 Firefox 会继续用密码或电子邮件填充它 如果我正确理解 Firefox 的源代码 浏览器首先会在表单中查找密码字段 如果表单包含超过 3 个密
  • 使用 Dropout 时的验证损失

    我试图了解辍学对验证平均绝对误差 非线性回归问题 的影响 无辍学 辍学率为 0 05 With dropout of 0 075 在没有任何 dropout 的情况下 验证损失大于训练损失 如下所示1 https i stack imgur
  • 如何解压缩特定文件夹?

    如何使用 Ant 解压缩特定文件夹 具体来说 我下载了 apache tomcat 6 0 29 zip 其中包含文件夹 apache tomcat 6 0 29 我希望 Ant 解压 apache tomcat 6 0 29 下的所有内容
  • Gitlab CI部署AWS EC2

    我们有一个 lumen 应用程序 我们将项目移动到 GitLab 如果一切正常 我们想拉取该项目 我们添加两个脚本 gitlab ci yml variables All or variables stages test productio
  • airflow postgresql 后端:(psycopg2.OperationalError)致命:用户“airflow”的身份验证失败

    尝试在centos7机器上使用postgresql作为airflow v1 10 5 的后端 在本文之后 https www ryanmerlin com 2019 07 apache airflow installation on ubu
  • 带有 persistence.xml 的 Intellij JPA 控制台

    我正在使用 Intellij 13 设置无 xml 持久性 JPA Hibernate 4 Spring 3 当我尝试在 jpa 控制台中执行查询时 出现以下错误 javax persistence PersistenceException
  • 如何查找是否存在从顶点 x 到顶点 y 且包含边 e 的简单路径

    所以我面临这个问题 我希望有人可以帮助我 给定一个无向的图 G V E 2 个顶点 x y 和一条边 e v u 建议一种算法来查找是否存在简单的路径从 x 到 y 包括边 e 所以这里的重点是简单路径而不是常规路径 对于常规路径来说 使用
  • 在word中设置单个字母的样式

    我目前正在尝试设计 Siteripe 一词的样式 我希望每个字母都有不同的颜色 如本图所示page http www mobile siteripe com我可以使用下面的 CSS 代码行仅设置第一个字母的样式 namer first le
  • 防止 SQL Server 中的缓存

    使用Uncle Google浏览网络后 我找不到这个问题的答案 监视运行 IIS 和 MS SQL Server 2005 的生产服务器的性能和响应能力的最佳方法是什么 我目前正在使用 Pingdom 并希望它指向一个基本上模仿 现实世界查
  • Android Picasso 自动旋转图像

    我正在使用 Picasso 在我的应用程序中加载来自网络的图像 我注意到有些图像显示旋转了 90 度 尽管当我在浏览器中打开图像时 我看到它的位置正确 我假设这些图像有 EXIF 数据 有什么方法可以让Picasso忽略EXIF吗 众所周知
  • 自动从实体类@Size值复制inputText maxlength

    是否可以设置maxlength的属性
  • Web Api oData v4 $ref 404 或服务器错误

    Problem 我可以使用以下命令成功地从该关系的任一端获取相关项目 http localhost api 练习 1 http localhost api Exercises 1 expand 测量值 http localhost 4954
  • Git 命令自动子树合并项目与子模块?

    I found 使用 Git 子树合并具有子模块的外部项目的最佳方法是什么 https stackoverflow com questions 645019 using git whats the best way to subtree m
  • TeamCity 工件路径组合文件夹

    我需要创建包含两个文件夹的 zip 存档工件 我知道如何创建一个文件夹存档 Folder1 gt myartifact zip 但是我如何告诉 TeamCity 将Folder2 添加到同一个存档中 相同的 target archive 名
  • Google Colab 中的编号标题和目录

    有没有办法在 Google Colab 中启用编号标题和目录 类似问题 markdown jupyter笔记本中的编号标题 VoidCC https stackoverflow com questions 49189154 numbered
  • 如何在 phpMyAdmin (MySQL) 中编写 SP?

    如何在 phpMyAdmin 中编写存储过程 在 phpMyAdmin 中 您可以在 SQL 窗口中创建存储过程 您可能必须将分隔符设置为 之类的内容 而不是默认的 您可以从 SQL 窗口底部更改此设置
  • java同步与异常处理

    如果我有一个同步块 并且该块内的某处抛出了一个未在同步块内捕获的异常 那么当异常传播出同步块时 锁会被放弃吗 同步块 synchronized mutex throw new Exception 锁总是被释放 来自JLS 14 19 htt