1.方法重载overload是实现编译时的多态性。方法重写override是实现运行时的多态性。
2.char型占两个字节,并且Java中使用的Unicode编码,所以char型可以存放一个汉字。
3.抽象方法不可以是静态的,因为抽象方法要被重写实现,而静态方法不允许被重写。
4.抽象方法不可以是native本地方法,因为本地方法是由C语言写好的方法,而抽象方法是未实现的方法。
5.抽象方法不可以被synchronized修饰的,因为锁涉及方法的内部实现细节,而抽象方法没有方法体。
6.内存泄漏:一般来说,一些已经用不到的对象会被JVM的GC回收掉,但是有时候会出现一些无用但可达的对象,他们不会被GC回收掉,就会导致内存泄漏。比如hibernate一级缓存中的对象。
7.lock和synchronized的区别:lock可以完成synchronized的所有功能,但是lock必须要手动释放锁,并且最好再finally语句块中释放。
8.PreparedStatement的好处:①防止sql语句注入攻击,比如select count(*) from usertable where name='用 户 名 ' and pswd='密码 ',如果在用户名字段中输入 ' or '1'='1' or '1'='1或是在密码字段中输 入 1' or '1'='1将绕过验证 ,但这种手段只对Statement有效,对PreparedStatement 无效。②③当批量处理SQL或频繁执行相同的查询时,PreparedStatement有明显的性能上的优势,由于数据库可以将编译优化后的