一、异常(Exception)
异常不是错误,什么是异常:是在运行过程中代码序列中产生的一种例外情况。
Java异常处理的五个关键字:try、catch、throw、throws、finally。
try...catch...finally...:
讲个故事:从前有一个人举报张三要去偷银行,于是呢,警察就出警了,就蹲在银行等着张三出现,蹲了一晚上张三没有出现,警察草草收场,收场之后呢,需要写出警报告。第二天呢,警察又接到电话,说张三今天肯定去,那警察呢,肯定出警啊,于是又出警了,蹲在银行门口,过了一会张三去了,带着面罩进了银行,警察一看,这不能看着他抢吧,就进去抓捕。然后,张三就被抓捕了,回去后警察还要写出警报告。
这里的try{语句块}就相当于警察蹲的点,那张三就相当异常,张三出现没出现都要写出警报告,就相当于finally{语句块}不管异常有没有被捕获都会执行finally语句块,第二天张三出现了,警察抓捕了张三,就相当于catch{语句块}。
try...catch...和if...else...相似可以嵌套
throw关键字一般都是程序员自己定义的异常,创建异常对象抛出,必须搭配try...catch...finally...使用,而throws是自动抛出异常,就比如张三警察管不了,不想管了,上级去管吧,那上级就派出武警部队。如果一直抛出,那肯定要有一个部队来解决张三吧,所以最终派出了特种部队(Exception,是所有异常的老大)。
一个故事讲清楚异常操作。
二、MySQL面试五道题
1、数据库MySQL分页时用的语句:
使用limit关键字。Select * from 表名 where 条件 limit 开始位置,结束位置。通过动态的改变开始和结束位置的值来实现分页。
2、根据你以往的经验简单叙述一下MYSQL的优化
1、尽可能使用更小的整数类型.(mediumint就比int更合适)。
2、尽可能的定义字段为not null,除非这个字段需要null。
3、如果想要清空表的所有记录,建议用truncate table tablename而不是delete from tablename。
4、避免出现SELECT * FROM table 语句,要明确查出的字段。
5、小心使用 IN 和 OR,需要注意In集合中的数据量。建议集合中的数据不超过200个。
3、有两张表;请用SQL查询,所有的客户订单日期最新的前五条订单记录。
客户信息表(c CUSTOM)有以下字段:id、name、mobile
客户订单表(C_ORDER)有以下字段:id、custom_id、commodity、count、order _date
Select * from c_order order by order_date desc limit 0,5;
4、数据库设计中,一对多如何处理?
数据库外键关系表示的其实是一种一对多关系,所以处理一对多时可以使用外键。
5、数据库设计中,多对多一般如何处理?
引入中间表,把一个多对多表示为两个一对多。