说一下做过的项目。
- mysql如何分页,选举第100-200条数据
1 SELECT * FROM 表名称 LIMIT 100,100 适用于表较小的情况,速度慢
2 SELECT * FROM 表名称 WHERE id_pk > (pageNum*10) LIMIT M 建立主键或唯一索引, 利用索引 - String、StringBuilder、StringBuffer的区别
1 String是不可修改的,StringBuffer是线程安全的,但是效率低,StringBuilder线程不安全,效率高。 - final、finally、finalize有什么区别
1 final修饰符。修饰的变量不可变,修饰的类不可以被继承,修饰的方式不可以被重载。
2 finally是try-catch-finally当中用的,不论发生任何情况都会执行,finally 部分可以省略,但是如果存在,则一定会执行finally当中的代码。
3 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法 - 如果finall当中有return,但是没有异常,那么finally当中的语句还会执行吗?
同上 - 创建线程的方式
1 继承Thread类重写run方法
2 实现Runnable接口,无返回值
3 实现Callable接口,有返回值。
4 线程池的方式 - 如何保证线程的安全性
加锁(答的不完整) - Synchronized和ReentrantLock 的区别,
1 S是JVM级别的,R是API级别的。
2 S是可以自动获取锁和释放锁,R必须手动释