当前位置: 首页 > news >正文

郑州网站推广外包地址网站建设和服务器运营

郑州网站推广外包地址,网站建设和服务器运营,东莞市专注网站建设平台,做网站赚钱好难1.正常情况 正常运行的情况下#xff0c;finally 中的代码是一定会执行的#xff0c;但是#xff0c;如果遇到以下异常情况#xff0c;那么 finally 中的代码就不会继续执行了#xff1a; 程序在 try 块中遇到 System.exit() 方法#xff0c;会立即终止程序的执行#…1.正常情况 正常运行的情况下finally 中的代码是一定会执行的但是如果遇到以下异常情况那么 finally 中的代码就不会继续执行了 程序在 try 块中遇到 System.exit() 方法会立即终止程序的执行这时 finally 块中的代码不会被执行例如以下代码 public class FinallyExample {public static void main(String[] args) {try {System.out.println(执行 try 代码.);System.exit(0);} finally {System.out.println(执行 finally 代码.);}} }以上程序的执行结果如下 在 try 快中遇到 Runtime.getRuntime().halt() 代码强制终止正在运行的 JVM。与 System.exit()方法不同此方法不会触发 JVM 关闭序列。因此当我们调用 halt 方法时都不会执行关闭钩子或终结器。实现代码如下 public class FinallyExample {public static void main(String[] args) {try {System.out.println(执行 try 代码.);Runtime.getRuntime().halt(0);} finally {System.out.println(执行 finally 代码.);}} }以上程序的执行结果如下 程序在 try 块中遇到无限循环或者发生死锁等情况时程序可能无法正常跳出 try 块此时 finally 块中的代码也不会被执行。 掉电问题程序还没有执行到 finally 就掉电了停电了那 finally 中的代码自然也不会执行。 JVM 异常崩溃问题导致程序不能继续执行那么 finally 的代码也不会执行。 2.分析 正常运行的情况下finally 中的代码是一定会执行的但是如果遇到 System.exit() 方法或 Runtime.getRuntime().halt() 方法或者是 try 中发生了死循环、死锁遇到了掉电、JVM 崩溃等问题那么 finally 中的代码也是不会执行的。 3.知识扩展 钩子方法解释 在编程中钩子方法Hook Method是一种由父类提供的空或默认实现的方法子类可以选择性地重写或扩展该方法以实现特定的行为或定制化逻辑。钩子方法可以在父类中被调用以提供一种可插拔的方式来影响父类的行为。钩子方法通常用于框架或模板方法设计模式中。框架提供一个骨架或模板其中包含一些已经实现的方法及预留的钩子方法。具体的子类可以通过重写钩子方法来插入定制逻辑从而影响父类方法的实现方式。 实现方法 System.exit() 和 Runtime.getRuntime().halt() 都可以用于终止 Java 程序的执行但它们之间有以下区别 System.exit()来自 Java.lang.System 类的一个静态方法它接受一个整数参数作为退出状态码通常非零值表示异常终止使用零值表示正常终止。其中最重要的是使用 exit() 方法会执行 JVM 关闭钩子或终结器。 Runtime.getRuntime().halt()来自 Runtime 类的一个实例方法它接受一个整数参数作为退出状态码。其中退出状态码只是表示程序终止的原因很少在程序终止时使用非零值。而使用 halt() 方法不会执行 JVM 关闭钩子或终结器。 例如以下代码使用 exit() 方法会执行 JVM 关闭钩子 class ExitDemo {// 注册退出钩子程序static {Runtime.getRuntime().addShutdownHook(new Thread(() - {System.out.println(执行 ShutdownHook 方法);}));}public static void main(String[] args) {try {System.out.println(执行 try 代码。);// 使用 System.exit() 退出程序System.exit(0);} finally {System.out.println(执行 finally 代码。);}} }以上程序的执行结果如下 而 halt() 退出的方法并不会执行 JVM 关闭钩子示例代码如下 class ExitDemo {// 注册退出钩子程序static {Runtime.getRuntime().addShutdownHook(new Thread(() - {System.out.println(执行 ShutdownHook 方法);}));}public static void main(String[] args) {try {System.out.println(执行 try 代码。);// 使用 Runtime.getRuntime().halt() 退出程序Runtime.getRuntime().halt(0);} finally {System.out.println(执行 finally 代码。);}} }以上程序的执行结果如下 小结 正常运行的情况下finally 中的代码是一定会执行的但是如果遇到 System.exit() 方法或 Runtime.getRuntime().halt() 方法或者是 try 中发生了死循环、死锁遇到了掉电、JVM 崩溃等问题finally 中的代码是不会执行的。而 exit() 方法会执行 JVM 关闭钩子方法或终结器但 halt() 方法并不会执行钩子方法或终结器。
http://www.zqtcl.cn/news/756899/

相关文章:

  • 网站开发前端后端书籍wordpress 加文章列表
  • 泰安北京网站建设商业网站的后缀一般为
  • 必须网站的访问量wordpress标题大小
  • qq怎么做放资源的网站英语seo什么意思
  • 学生心理健康网站建设论文php开源内容管理系统
  • 机关网站内容建设雄安专业网站建设
  • 有域名有空间怎么做网站怎么制作网站封面
  • 注册域名哪个网站好信息技术制作网站首页
  • 企业网站app制作价格国外外链平台
  • 泉州市网站设计企业网络有限公司经营范围
  • 电子商务网站创业计划书后台管理系统登录
  • 蚂蚁建站网页传奇游戏单职业
  • 标准通网站建设广州 flash 网站
  • 怎么做游戏自动充值的网站淘宝购物平台
  • 免费帮助建站营销策略怎么写
  • 12380 举报网站建设优秀个人网站
  • 简洁网站模板素材用wordpress上传源砖
  • 高密做网站电影html网页模板设计素材
  • 湖北网络营销网站襄阳网站建设-飞鱼网络
  • 想更新公司网站怎么做关于网站开发的自我评价
  • 找建筑工作哪个网站好新增网站 备案
  • 格力网站的建设情况wordpress mysql 密码重置
  • 网站access数据怎么做高端品牌网站建设的目的
  • 外贸买家网站凯里网站建设流程
  • 网站一年要多少钱国外的建筑设计网站
  • 手游发号网站模板ic外贸网站建设
  • 珠海网站制作案例tp5 商城网站开发
  • 母婴用品网站建设规划上海市建设工程 安全协会网站
  • 做室内设计特别好的网站网站服务器租用恒创
  • 慕课网站开发文档wordpress上传到空间