- 浏览: 565369 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (478)
- lucene (45)
- oracle (19)
- nutch (2)
- blog (2)
- 垂直搜索 (19)
- java综合 (89)
- spring (15)
- Hibernate (9)
- Struts (9)
- Hadoop (16)
- Mysql (12)
- nosql (10)
- Linux (3)
- MyEclipse (4)
- Ant (1)
- 设计模式 (19)
- JBPM (1)
- JSP (1)
- HtmlParser (5)
- SVN (2)
- 插件 (2)
- 收藏 (7)
- Others (1)
- Heritrix (18)
- Solr (4)
- 主题爬虫 (31)
- 内存数据库 (24)
- 分布式与海量数据 (32)
- httpclient (14)
- Tomcat (1)
- 面试宝典 (6)
- Python (14)
- 数据挖掘 (1)
- 算法 (6)
- 其他 (4)
- JVM (12)
- Redis (18)
最新评论
-
hanjiyun:
本人水平还有待提高,进步空间很大,看这些文章给我有很大的指导作 ...
JVM的内存管理 Ⅲ -
liuxinglanyue:
四年后的自己:这种方法 不靠谱。 使用javaagent的方式 ...
计算Java对象占用内存空间的大小(对于32位虚拟机而言) -
jaysoncn:
附件在哪里啊test.NoCertificationHttps ...
使用HttpClient过程中常见的一些问题 -
231fuchenxi:
你好,有redis,memlink,mysql的测试代码吗?可 ...
MemLink 性能测试 -
guyue1015:
[color=orange][/color][size=lar ...
JAVA同步机制
在Sun Tutorial中有这样一句话:The finally block always executes when the try block exits. This ensures that the finally block is executed even if an unexpected exception occurs. 看来finally块中的语句应该是总会执行的。 先来写一个最常见的写法: view plaincopy to clipboardprint? public class Test { public static void main(String[] args) { try { System.out.println(args[0]); System.out.println("I'm nomal"); } catch (Exception ex) { System.out.println("I'm exception"); } finally { System.out.println("I'm finally."); } } } 运行这段代码,很明显,不论是否有参考输入,"I'm finally."这句话都会打印出来。这是最常用的写法,很显然与Tutorial中的说明是相符的。 下面我们再进一步想一下,假如在try或是catch块中使用了return语句,那么会怎么样呢? 我们将代码稍做修改: view plaincopy to clipboardprint? public class Test { public static void main(String[] args) { try { System.out.println(args[0]); System.out.println("I'm nomal"); return; } catch (Exception ex) { System.out.println("I'm exception"); return; } finally { System.out.println("I'm finally."); } } } 代码的修改很简单,只是在try和catch块的结束位置分别加了一个return语句。 这样运行结果是什么呢?可能会有两种猜想了,或是直接退出,或是仍会打印"I'm finally."。验证真理的方法是实践,我们运行这段代码,看一下结果: view plaincopy to clipboardprint? >java Test I'm exception I'm finally. >java Test hello hello I'm nomal I'm finally. 上面分别是输入和不输入参数时运行的结果,很明显,finally中的代码还是执行了。那是不是说try和catch块中的return语句并不起作用吗?我们再次简单修改代码: view plaincopy to clipboardprint? public class Test { public static void main(String[] args) { try { System.out.println(args[0]); System.out.println("I'm nomal"); return; } catch (Exception ex) { System.out.println("I'm exception"); return; } finally { System.out.println("I'm finally."); } System.out.println("Out of try."); } } 在try语句外面再加入一名打印代码,再次编译。 编译错误,结果如下: view plaincopy to clipboardprint? Exception in thread "main" java.lang.Error: Unresolved compilation problem: Unreachable code 提示代码不可达,看来return还是有用的,只是在退出方法呼叫之前,会先去执行finally中的代码。 现在似乎说明了另外一个问题,是不是return语句还不够厉害,“让暴风雨来的更猛烈些吧”,我们再次修改代码,将return语句修改成System.exit(),看一下执行结果。 view plaincopy to clipboardprint? public class Test { public static void main(String[] args) { try { System.out.println(args[0]); System.out.println("I'm nomal"); System.exit(0); } catch (Exception ex) { System.out.println("I'm exception"); System.exit(0); } finally { System.out.println("I'm finally."); } } } 运行代码,终于,"I'm finally."不见了。 为什么System.exit()有这么强大的力量呢,让我们看一下API中的说明:exit(int status): Terminates the currently running Java Virtual Machine。原来是这样,JVM都被终止掉了,当然不会再执行finally中的语句了。 下面是我们的结论: 在不终止VM的情况下,finally中的代码一定会执行。
发表评论
-
熔岩的相关文章收藏
2011-02-20 21:57 1377HttpClient4 Post XML到一个服务器上 纯J ... -
我新弄的博客和论坛+新浪微博
2011-02-01 00:05 1728主博客是:http://www.liuxinglany ... -
Java编程思想 (收藏)
2011-01-07 15:34 9671、面向对象的特性 2、内存分配 3、 ... -
Java解惑系列(收藏)
2011-01-07 15:30 11551.1 java解惑你知多少(一) 1.2 jav ... -
2010 iData Forum 演讲幻灯片
2010-12-25 21:44 10102010年iData Forum数据库大会顺利结束,在 ... -
2010年6月的好文推荐
2010-12-20 20:39 871转自:人云亦云 最近发现一个非常不错的博客,叫dbthi ... -
JAVA通过JNI调用本地C语言方法
2010-12-19 20:49 767Java特性深受人们喜爱, ... -
java集合类比较
2010-12-19 20:49 1249Vector(转者注:现在Ve ... -
java对各种文件的操作详解(转)
2010-12-19 20:31 799http://blog.csdn.net/Java2King/ ... -
从一个http请求的详细过程---理解计算机网络
2010-12-18 13:58 1467http://duanple.blog.163.com/b ... -
(转)学习:一个并发的Cache
2010-12-17 17:11 995public class Memoizer implem ... -
Groovy是怎么实现createArray的
2010-12-16 19:57 726Groovy是一个基于 Java虚拟机的敏捷 动态语言。构 ... -
24款较经典的Page翻页分页css代码
2010-12-12 17:52 753<!DOCTYPE html PUBLIC &qu ... -
比较优秀的值得学习的J2EE开源项目
2010-12-12 12:53 989这篇文章写在我研究J2 ... -
J2EE的部分jar的作用
2010-12-05 10:44 1072来自:深沉的船 activation.jar:与javaMa ... -
Java的多线程Socket通信
2010-12-04 21:21 863转:http://wangtong40.iteye.com/b ... -
Java的单线程Socket通信
2010-12-04 21:21 882package com.wangtong.networ ... -
Servlet 3.0 实战:异步 Servlet 与 Comet 风格应用程序
2010-12-04 21:19 913转自http://www.ibm.com/develope ... -
高效编程之欲擒故纵
2010-12-04 13:36 805转:http://www.aqee.net/2010/11/3 ... -
架构师给程序员的一封信
2010-12-04 13:35 819转:http://www.aqee.net/2010/ ...
相关推荐
在本设计装置中,我们探讨了一种创新的工艺方法,用于将笔尖打磨成仿牛角尖的外形。这种设计不仅在视觉上提供了独特的审美体验,还可能改善书写时的手感和性能。以下是对这个技术的详细阐述: 1. 设计理念:仿牛角...
3. **函数**:C++中的函数是代码块,可以封装一组任务。牛角棋游戏可能包含了多个函数,如初始化棋盘、移动棋子、检查胜利条件、用户输入处理等。每个函数都有特定的职责,通过参数传递信息,并可能返回结果。 4. *...
牛角包 :croissant: 轻巧却有用的Bukkit / Spigot / Paper插件库。介绍Croissant是一个轻量级的Java库,它为Bukkit / Spigot / Paper插件提供了命令框架和GUI框架。 以下是其功能的简短摘要: 命令框架无需在插件的...
牛角包,一款专为Lua语言设计的交互式REPL(Read-Eval-Print Loop)和调试器,为程序员提供了强大的开发工具,使得在Lua编程过程中能够更加高效、便捷地进行代码测试、调试和学习。本文将深入探讨牛角包的功能特性、...
在深入解读《电子:中国半导体:牛角峥嵘》这篇报告之前,首先要明确几个核心的概念。首先,半导体是指那些在特定温度下导电性能介于导体和绝缘体之间的材料,常被应用于制造各种电子设备的微小组件中,如晶体管、...
下载Release代码 设置运行目录为public 关闭防跨站(open_basedir) 设置伪静态 去除静态文件代理 打开nginx配置 删除图中选中的内容 牛角工具箱源码 轻松打造个性化在线工具箱 安装依赖 full包,已安装依赖,无需...
在IT行业中,转换文档格式是一项常见的任务,尤其在办公自动化和网页预览场景下。本文将详细介绍如何使用OpenOffice在Java环境下实现JPG图片和DOC文档转换为PDF,并进一步将PDF转换为SWF,以便进行在线预览。我们将...
在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中插入信息的方式,这些信息可以被编译器或运行时环境用来执行特定的动作。在这个场景中,"java注解方式实现拦截接口重复提交"是为了解决一个常见的...
在开发过程中,为了提高效率和代码质量,开发者经常使用代码辅助插件。本文将详细介绍一款名为ReSharper的C#代码辅助插件,它具有诸多强大的功能,被众多开发团队所采用。 ReSharper是JetBrains公司推出的一款高...
描述中的“牛角峥嵘”是中国成语,用来形容事物发展势头强劲,暗示中国的半导体产业正展现出强大的竞争力和潜力。尽管没有具体的标签提供额外信息,但我们可以从文件名“电子:中国半导体:牛角峥嵘.pdf”推断,内容...
原牛角源码(修罗bbs)全站程序打包带数据库备份,牛角源码全站数据+全站文件、插件打包分享给大家,有兴趣的可以搭建玩玩! conf文件夹中自己配置数据库链接文件,默认管理账号:admin,密码123456 首页登录后就可以...
之前一直在找牛角座等各种插座的规格封装,很难找到,最后找到了
在Java开发中,Elasticsearch是一个非常重要的搜索引擎和分析引擎,它基于Lucene构建,提供了分布式、全文检索、实时分析的高性能数据存储解决方案。在Elasticsearch 5.3版本中,为了使其能够正常运行,我们需要集成...
### 牛角座接口接线方式及管脚对应 #### 标准的牛角座接口接线方式及管脚对应 牛角座接口作为一种广泛应用于电子设备中的连接器,其标准化的设计确保了不同设备间的兼容性和可靠性。本文将详细介绍牛角座接口(以...
- `robots.txt`:这是一个告诉搜索引擎爬虫哪些页面可以抓取,哪些不应抓取的文件,对于SEO(搜索引擎优化)有一定的影响。 - `sitemap.xml`:网站地图文件,列出网站的主要页面,有助于搜索引擎更好地理解和索引...
简易牛角座.IntLib
《饥荒控制台代码大全》是一份详细的文档,旨在帮助新手玩家在《饥荒》这款生存游戏中快速获取必要的资源和物品。控制台代码是游戏中的一个实用功能,通过输入特定的代码,玩家可以瞬间获得想要的道具,从而提高游戏...
在钣金加工领域中,牛角弯头是一种特殊的弯管部件,主要用于输送管道系统中,以便连接不同直径的管道或调整管道方向。牛角弯头通常由多个圆锥形的管节组成,每个管节都有一定的弯曲角度和长度。由于其结构的复杂性,...
在游戏中,玩家可以使用控制台输入代码来快速获取游戏中的物品和模式,本文档总结了各种物品和模式的代码,帮助玩家快速获取游戏中的资源。 DebugSpawn 代码 ---------------- DebugSpawn 是一个非常有用的代码,...