Java 10 balabala

1、JAR文件

概述:一个用与Java归档的压缩文件(清单),可以指明应用程序的主类、可以打包静态的资源文件(图片、文本、配置文件等等)并用于在类中进行调用

2、applet:一种包含在HTML网页中的Java应用程序

 别说我偷懒,(⊙o⊙)

3、错误的处理

        返回到一种安全状态,并能够让用户执行一些其他的命令

        允许用户报错所有操作的结果,并以适当的方式终止程序

4、异常

分类:

Error:内部错误和资源耗尽错误

RuntimeException(与名称无关,这些异常都是在运行时的):错误的类型转换、数组访问越界、访问空指针

其他:试图在文件尾部读取数据、试图打开一个不存在的文件、试图根据给定的字符串查找Class对象,而这个字符串表示的类并不存在。

分类:未检查异常(Error、RuntimeException)、已检查异常(其他all)

异常的处理方法:抛出、捕获

异常的抛出方法:

        a 找到一个合适的异常类 (throws E0FException)

        b 创建这个类的一个对象 (E0FException e = new E0FException() )

        c 将对象抛出 (throw e)    ( 创建+抛出   throw new E0FException() ) 

异常类的创建

5、捕获异常

捕获与抛出的区别:异常抛出程序会立即结束,而捕获可以做更多的处理

捕获异常的方法:try/catch语句块

try
{
    code
    more code
    more code
}
catch(ExceptionType e)
{
    handler for this type
}

 捕获异常的执行方式:

        程序将跳过try语句块的其余代码

        程序将执行catch子句中的处理器代码

捕获多个异常:

异常无法捕获时,可以在最后加入finally子句,确保程序被关闭

 

 6、栈堆跟踪

栈堆跟踪:是一个方法调用过程的列表,包含了程序执行过程中方法调用的特定位置

使用:调用Throwable类的printStackTrace方法访问堆栈跟踪的文本描述信息

7、异常机制的使用技巧

a 异常处理不能代替简单的测试(因为捕获异常的时间花费大大超过测试)

b 不要过分的细化异常

c 利用异常层次结构

d 不要压制异常

e 在检测错误时,“苛刻”要比放任更好

f 不要羞于传递异常

8、断言的使用

使用:assert x >= 0; or   assert x >=0 : x;   AssertionError 抛出异常(后者会把x值也进行传出) 

断言:可以设置启用或禁用

9、Java语言的处理系统错误机制

三种:抛出异常、日志、使用断言

10、断言的使用场景

断言使用特点:

        断言失败是致命的、不可恢复的错误

        一版用于开发和测试阶段

常用于:检查方法的参数

11、日志

日志系统的使用:Logger.getGlobal().info("File->Open menu item selected")

        记录结果:May 10, 2021 10:12:15     PMLoggingImageViewer fileOpen

                          INFO:File->Open menu item selected

取消全部的日志:Logger.getGlobal().setLevel(Level.OFF)

高级日志:

        日志记录级别:SEVERE/WARNING/INFO/CONFIG/FINE/FINER/FINEST

        在默认情况下只记录前三个级别

记录方法:

        logger.warning(message);

        logger.fine(message);

        or   logger.log(Level.FINE, message)

与异常结合使用:可以在异常捕获后,抛出异常之前写日志等等。。。

日志管理器配置:可以通过修改lib/logging.properties 下的配置文件进行日志配置的修改

日志消息本地化:通过资源包实现

处理器:日志记录器将自己的记录发送到自己的处理器和父处理器,可以通过修改配置文件改变处理器的默认行为

过滤器:根据日志记录的级别进行过滤

格式化器:对日志记录中的信息进行格式化

12、调试技巧

a 打印输出任意变量的值(日志或控制台输出)

b 在类中放置main方法

c 单元测试 JUnit

d 日志代理

e 栈堆跟踪

f 错误信息报错到文件中

g 例如java虚拟机查看类的加载过程

h Xlint

i Java虚拟机对Java应用程序进行监控和管理

j jmap实现堆的转储

k 利用-Xprof标志运行Java虚拟机

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值