JAVA基础必备(十)——异常

1.java垃圾回收机制  GC(了解)
  a.什么是垃圾?  没有任何引用的实体对象就是垃圾
  b.什么时候回收  jvm来决定
        程序可以建议立即回收,
        如何建议:System.gc()   Runtime.getRuntime.gc();
        但是是否立即回收都由 jvm决定
    jvm回收垃圾之前会调用对象finalize方法
         这个方法只会被调用一次,显示的去调用无效
         不建议去重写finalize方法,也不建议去干扰jvm处理垃圾回收
         让jvm自己管理即可
         
2.java异常处理机制
  java中已经多所有的错误进行了分门归类
    两大类
 
  java.lang.Error 系统级错误,程序无法处理
  java中对其它的所有错误做了更细致的分类,都是Error的子类
  java.lang.Exception  异常  通过程序可以进行处理
  java中对Exception也做了更细致的分类,都是Exception的子类
    这两个类都继承了java.lang.Throwable类
    
 java中的异常有可以分为两类
   一类是jvm能自动帮我们处理的,当然自己也可以处理RumtimeException类及其子类
  还有一类是jvm不不能帮我们处理,必须我们自己处理,否则程序编译都不通过
 补充:命令行参数 主函数需要的参数
     在eclipse中如何输入命令行参数,右击代码 Run as--->Run Configurations--->Arguments
       --->填写命令行参数,中间空格隔开
 每种类型的异常产生都是一个具体的异常类的对象产生了
 
异常中的五个关键字  try catch finally throw throws
如果自己处理异常一般来说会把可能会产生异常的代码片段放入
到try块中 catch 中处理异常,处理的时候类型一定要能匹配上
try后可以跟多个catch注意的子类一定要放在父类的前面
Exception可以处理所有异常 但是可能会倒置提示异常信息并不精确和友好(平时写程序可以这样,做项目的时候要细致处理)
finally 关键字

throw关键字 在某种情况下,人为制造出异常
throws关键子,回避异常,使自己的程序能够通过编译
子类重写父类方法时,不能回避比父类方法中回避的更多的异常,只能
少,或者多出jvm能自动捕捉的异常是可以的

异常中常用的方法  
getMessage() 打印信息
toString()异常的类信息和异常信息  
printStackTrace()  包含上面的内容,还告诉你异常是在哪产生,在哪引起的


自定义异常  需要继承异常类

函数如果有返回值的情况 又有异常处理要保证函数有返回值
finally一定在return之前执行   

有try一定要有catch吗  可以没有catch finally有一个即可


对于异常处理暂时使用是比较简单的只要用
try{
}catch(Exception e){}即可 项目中在详细讲解如何回避,如何处理



3.java.lang包中的常用类的使用(学会查帮助)
 a.java.lang.Math类 final修饰不能继承
 b.java.lang.String类  不可变的字符串-->一旦认为改变改变的不是字符串本身,而是有了新的指向
 c.java.lang.StringBuilder一个线程不安全 速度更快
   java.lang.StringBuffer只是一个线程安全
   可变字符串  功能类似
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值