JVM 对Java异常的处理原理
最初我们用 Java 写 JSP 的时候,几乎可以不触及异常,因为 Servlet 容器会把 API 抛出的异常包装成
ServletException 丢给容器去处理。再后来应用分层,代码中要处理的异常便多了,一般会转换成自定义的业务异常类,用
try-catch-throw
customerException-finally。再到如今各种框架日臻成熟,代码中显式的异常处理又渐渐少了些,借助于 AOP
横行,异常对业务的影响描述被移入到了配置文件中了,例如,事物处理、权限的控制等。
这颇有些像手机的发展,当通信技术不甚发达的时候,手里抓的是砖头,信号是模拟的。后来慢慢瘦身成两三根手指大小,甚至是就一支笔似的,可如今信息量大了,屏幕要大,再配上 QWERT 键盘,机身自然就肥硕了。
当然与手机的个头变迁略有不同的是,任凭你怎么对待 Java 中异常,切入 AOP 也好,在 JVM 中处理异常的内在机制始终未变。
说到 Java 异常,无外乎就是 try、catch、finally、throw、throws 这么几个关键字,这些个的用法是没必要在这里讲了。我们这里主要关键一下 catch 和 finally 是如何在编译后的 class 字节码中的。
异常的抛出与捕获,Catch 子句的表现,来看看一段 Java 代码及生成的相应字节码指令。
package
com.unmi;
import
java.io.UnsupportedEncodingException;
public
class
AboutCatch {
public
static
void
main(String[] args){
try
{
transfer("JVM 对 Java 异常的处理"
,"gbk"
);
} catch
(Exception e) {
//e.printStackTrace();
}
}
//字符集转换的方法
&nb
相关文档:
关于Jaybird-2.1.6JDK_1.5的使用方法如下:
首先:安装Jaybird
第一步:将根目录下的
jaybird21.dll,
GDS32.DLL,
icudt30.dll,
icuuc30.dll,
&nbs ......
1. java 获取ip地址的代码
String loacalIp = "";
try
{
InetAddress localhost = InetAddress.getLocalHost();
loacalIp =localhost.getHostAddress();
  ......
JSON 即 Java
Script Object Natation,它是一种轻量级的数据交换
格式,非常适合于服务器
与 Java
Script 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器
端进行 JSON 格式数据的处理。
Json必需的包
commons-httpclient-3.1.jar
commons-lang-2.4.jar
......
本月3日Sun的J2SE 5.0实现已终结服务周期(End of Service Life,即EOSL),这一天也是最后的一次5.0更新发布日期(J2SE 5.0 Update 22)。寻求Sun支持的用户可以选择升级到Java 6或是订阅Sun的Java for Business程序。
Sun提供了多种多样的Java付费支持。Java经典支持(classic support)涵盖了从产品发布之日起3年 ......
在Java中,使用new关键字和Class.forName("a.class.Name").newInstance都可以创建对象,它们又有什么区别呢?
1、类的加载方式不同。
在执行Class.forName("a.class.Name")时,JVM会在classapth中去找对应的类并加载,这时JVM会执行该类的静态代码段。在使用 ......