程序错误bug (1.编译时错误 2.运行时错误 3.逻辑错误)
1.编译时错误
Java面向对象 所涉及的内容 静态方法使用了this关键字,局部没有赋值就使用,都属于编译错误,直接的结果:java不能够编译生成 .class文件
积极处理:(try catch)
消极处理:(抛出,声明出来 throws 一般用在方法上,表示这个方法可能有异常)
2.运行时错误 -------------------》Java异常 异常出现了需要处理
生成 .class文件,但是运行出现错误,不能运行。
3.逻辑错误 程序能够运行,得到的结果和实际是不符合,成为逻辑错误
例如查询某某的性别,查询出来是女的,但是这个人实际是男的
.......异常分类 : (1.非检查异常 2.检查异常)
( 1)非检查异常 (2)检查异常
......................1、非检查异常 不需要检查处理的异常
..............................1.1 空指针异常NullPointerException
..............................1.2 数组下标越界异常ArithmeticException
..............................1.3类型转换异常ClassCastException
..............................1.4格式转化异常NumberFormatException
..............................1.5算数异常ArrayIndexOutOfBoundsException
.......................2、检查异常 ...一定要检查处理的异常 怎么处理? 处理的方式有两种。
..............................2.1、 积极处理 try...catch.. 2.2、消极处理 throws throw
Java 集合
Java 多线程
Java 流
Java 反射
2.1 ClassNotFoundException
2.2 IOException
2.3 SQLException
2.4 ParseException
2.5 InterceptException
2.6 FileNotFoundException
throw用在方法上,表示这个方法可能会引发异常
在父类的构造函数中声明的是检查异常,子类构造函数一定要声明大于等于父类构造函数的异常类型。非检查异常不需要
方法重写,子类重写的方法声明了检查异常,父类重写的那个方法必须声明大于等于这个异常
非检查异常不需要
一旦声明异常,去调用的时候,必须要处理
throw是方法内部明确的抛出一个异常,这个程序将从抛出的点中断,余下的不执行。
如果抛出的异常包含检查异常,方法上一定使用throws要声明大于等于这个异常
如果抛出的异常非检查异常,方法上不需要使用throws声明异常。
异常父类:
extends Exception 检查异常
extends RuntimeException 非检查异常
或者:
finally块的出现 是:不管出现什么情况,始终会执行 ,作用:保证一些大的消耗内存的对象 及时清空
java里面总共有哪些块?
finally块:
Java的垃圾回收机制:自动回收垃圾 垃圾回收器的名字叫做:GC 负责清空对象 JVM来自动回收
强引用、软引用 、虚引用、弱引用 Java的垃圾回收机制 经验
c++程序员需要手动销毁内存地址 t.delete( )
程序运行的时候出现两种问题:
1. error 内存泄漏 程序员没有处理的机制,只能前置处理,不能发生内存泄漏。
2. 异常 处理 2.1 检查异常,一定要处理 2.2 非检查异常,根据异常情况。
数据库:
连接数据库:
异常处理 --------Java连接数据库----------数组(数据容器)
Java数据容器和算法:
1.数组 存放多个数据的容器 定长类型一致
一维数组
数组中的数组
2.javabean
3.集合 数据结构
数组:
增强语句:
静态初始化:
动态初始化:
计算一个数组的最大值和最小值:
冒泡排序:(时间复杂度O(n^2)
自己的:
老师的:
数组的动态构建 动态扩容 int[ ]