1.char型变量中能不能存储一个中文汉字 为什么?
char类型可以存储一个中文汉字 因为Java中使用的编码是Unicode(不选择任何特定的编码 之间使用字符在字符集中的编号 这是统一的唯一方法)一个char类型占2个字节(16比特)所以放一个中文是没问题的
2.抽象类 abstract class 和接口 interface有什么异同?
抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类仍然需要被声明为抽象类。接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法 而接口中不能定义构造器而且其中的方法全部都是抽象方法 抽象类中的成员可以是 private 默认 protected public的而接口中的成员全部都是public的,抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量,有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法。
3.Java中会存在内存泄漏吗?请简单描述
理论上Java因为有垃圾回收机制GC 不会存在内存泄漏问题 这也是Java被广泛适用于服务器编程的一个重要原因;然而在实际开发中,可能会存在无用但可达的对象,这些对象不能被GC回收,因此也会导致内存泄漏的发生,例如Hibernate的Sssion(一级缓存)中的对象属于持久态,垃圾回收器是不会回收这些对象的,然而这些对象中可能存在无用的垃圾对象,如果不及时关闭close或清空flush 一级缓存就可能导致内存泄露
4.抽象的方法是否可同时是静态的 是否可同时是本地方法 是否可同时被synchronized修饰
都不能抽象方法需要子类重写 而静态的方法是无法被重写的 因此二者是矛盾的 本地