欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java基础面试相关

程序员文章站 2024-03-21 21:38:52
...

java中多态的理解:
当满足这三个条件 1.有继承 2. 有重写 3. 要有父类引用指向子类对象
多态性使得能够利用同一类(父类)引用不同类的对象,
以及根据所引用对象的不同,以不同的方式执行相同的操作。
多态实现包括两种方式:重载和重写
异常类:
Error异常和Exception异常都继承于throwable异常类
Error异常是系统异常(也叫做非检查异常,源码注释:That is, {@code Error} and its subclasses are regarded as unchecked exceptions for the purposes of compile-time checking of exceptions.),主要包括虚拟机错误(virtualmachineError)、线程死锁(threaddeth)。一旦出现Error异常就代表着程序崩溃了,可将其看作程序的终结者。
Exception异常包括两个大类:运行时检查异常(RuntimeException)和编译时异常;RuntimeException异常包含以下四种常见异常:空指针异常,数组下标越界异常、类型转换异常、算术异常,由java虚拟机自动抛出和自动捕获;
检查异常:主要是一些文件异常,日志异常,sql异常,和一些需要我们人为干预的异常。检查异常,需要手动添加异常的捕获和处理。

Mysql相关
1、引擎
1、引擎主要有以下三种:InnoDB、Memory、MyISAM
InnoDB的适用情况:支持事务处理功能。对于大量处理事务的数据库语,InnoDB比较适合
MyISAM的适用情况:速度快,不支持事务。对于数据量大且无需大量事务处理的数据库
Memory的适用情况:极快。将数据直接加载到内存中,处理数度很快,但是当服务器重启或宕机之后数据会消失。适用于临时数据

	2、mysql中:
		InnoDB
			默认引擎,支持事务,支持外键,聚簇索引,最小的锁粒度是行锁
		MyISAM
			不支持事务,不支持外键,非聚簇索引,最小的锁粒度是表锁
			
			
		原理:
			mysql的行锁通过索引加载,即使行锁是加在索引响应行上,若是对应的sql语句未走索引,则会全表扫描,行锁无法实现,退而使用表锁。
		InnoDB和MyISAM的区别:
			InnoDB的最小的锁粒度是行锁,MyISAM的最小的锁粒度是表锁。因此InnoDB在高并发访问的时候表现更好。
			InnoDB不保存表的具体行数,MyISAM使用一个变量保存了整个表的数量。