Java学习笔记

Java常见的异常类的继承关系

Java异常继承体系

Java中常见的异常

runtimeException子类ArrayIndexOutOfBoundsException数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
ArithmeticException算术条件异常。譬如:整数除零等。
NullPointerException空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等
ClassNotFoundException找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。
NegativeArraySizeException数组长度为负异常
ArrayStoreException数组中包含不兼容的值抛出的异常
SecurityException安全性异常
IllegalArgumentException非法参数异常
IOExceptionIOException操作输入流和输出流时可能出现的异常。
EOFException文件已结束异常
FileNotFoundException文件未找到异常
其他ClassCastException类型转换异常类
ArrayStoreException数组中包含不兼容的值抛出的异常
SQLException操作数据库异常类
NoSuchFieldException字段未找到异常
NoSuchMethodException 方法未找到抛出的异常
NumberFormatException 字符串转换为数字抛出的异常
StringIndexOutOfBoundsException字符串索引超出范围抛出的异常
IllegalAccessException不允许访问某类异常
InstantiationException当应用程序试图使用Class类中的newInstance()方法创建一个类的实例,而指定的类对象无法被实例化时,抛出该异常

数据库三大范式

  1. 第一范式 1NF:
    数据表中的每一列(字段) 必须是不可拆分的最小单元,也就是确保每一列的原子性。
    每个属性是不可分的。
  2. 第二范式 2NF:
    满足第一范式后要求表中的所有列都必须要依赖主键,而不能有任何一列与主键没有关系(一个表只描述意见事情)。
    s
  3. 第三范式 3NF:
    满足第二范式后要求每一列都要和主键直接相关,而不是间接相关(表中的每一列只能依赖于主键)

线程的五大生命周期

当线程被创建并启动后,它既不是已启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(new)、就绪(runnable)、运行(running)、阻塞(blocked)和死亡(dead)5种状态。尤其是线程启动后,它不可能一直霸占着CPU独自运行,所以CPU需要在多条线程中切换,于是线程状态也会多次在运行、就绪之间切换。

Kafka基本概念

  • Producer:消息和数据的生产者,向Kafka的一个topic发布消息的进程/代码/服务
  • Consunmer:消息和数据的消费者,订阅数据(Topic)并且处理其发布的消息的进程/代码/服务
  • Consumer Group:逻辑概念,对于同一个topic,会广播给不同的Group,一个group中,只有一个consumer可以消费该消息
  • Broker:物理概念,Kafka集群中的每个Kafka节点
  • Topic:逻辑概念,Kafka消息的类别,对数据进行区分和隔离
  • Partition:物理概念,Kafka下数据存储的基本单元。一个Topic数据会被分散存储到多个Partition,每个Partition是有序的
  • Replication:同一个Partition可能会有多个Replica,多个Replica之间的数据是一样的
  • Replication Leader:一个Partition的多个Replica上,需要一个Leader负责该Partition上与Producer和Consumer交互
  • ReplicaManager:负责管理当前broker所有分区和副本的消息,处理KafkaController发起的一些请求,副本状态的切换、添加和读取消息等

拦截器、过滤器和切片

  • 拦截器: 可以得到原始的Http请求和响应的信息,但是不能拿到真正处理请求的方法的信息
  • 过滤器:可以得到原始的Http请求和响应信息,也能得到真正处理该请求的方法的信息,但是不能得到处理该请求的方法调用的参数的值。、
  • 切片:可以得到处理该请求的方法调用时候的参数的值,但是不能得到原始的Http请求和响应信息

过滤拦截链

Created with Raphaël 2.2.0 Filter(过滤器) Interceptor(拦截器) Aspect(切片)

Java基本数据类型和其对应的包装类

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter

int和Integer的区别

int 是我们常说的整形数字,是 Java 的 8 个原始数据类型(byte、short、int 、long、float、double、char、boolean)中的一个。此处为Java面向对象的例外,为了使用者能更轻松地使用进行编程,从JDK5开始还引入了自动装/拆箱机制,大大简化编程。
Integer 是int数据类型对应的包装类,相应的其他基本数据类型也有响应的包装类型。包装类和基本数据类型的对应关系。它有一个 int 类型的字段存储数据,并且提供了基本操作,例如数学运算、int和字符串之间的转换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值