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
相关文档:
JSON 即 Java
Script Object Natation,它是一种轻量级的数据交换
格式,非常适合于服务器
与 Java
Script 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器
端进行 JSON 格式数据的处理。
Json必需的包
commons-httpclient-3.1.jar
commons-lang-2.4.jar
......
在看到Thinking in java 第四章时初始化相关问题的时候,我们不由地把注意力移到构造器上。这里做个简单的总结,便于高手指正以及自己温故。
首先构造器是要构造一个东西{构造对象(实例)}并对其初始化。之所以 ......
Groovy supports a few neat ways to work with SQL more easily and to make SQL more Groovy. You can perform queries and SQL statements, passing in variables easily with proper handling of statements, connections and exception handling thanks to closures.
import groovy.sql.Sql
def foo = 'cheese ......
目前以Eclipse为主的重量级开发工具大行其道.虽然极为方便.但软件安装对于系统配置不高的电脑或者小项目开发非常不利.在移植过程中还有配置问题.比较麻烦.因此对于一些超小项目,使用轻量级的开发方法,显得由为必要.所谓超轻量级,就是用最简单的工具完成JAVA系统的开发.在开发当中也可以了解 ......