谈谈 final, finally, finalize 的区别 final 是一个修饰符, 修饰类的时候表示类不可继承, 所以一个类不可能既是 abstract 又是 final 的; 修饰变量的时候表示这个变量不可被更改并且必须赋初始值; 修饰方法的时 候表示方式不可被重写. finally 通常和 try-catch 一起, 做一些清理工作, 在 finally 里代码无论是否发生异常都 会执行到 finalize 是一个方法名. 方式是定义在 Object 类中, 在对象从内存中释放之前会调用此 方法进行一些必要的清理
工作. 1. 2. Annoy Inner Class (匿名类) 是否可以 extends (继承)其他类, 是否可以 implements (实现) interface 接口? Annoy Inner Class 由于没有类名所以不可以 extends 其他类; 可以实现 interface Static Nested Class 和 Inner Class 的不同 &; 和 &;&; 的不同 &;表示位运算符; &;&;表示逻辑运算符 HashMap 和 Hashtable 的区别 HashMap 允许一个 null 或者多个 null 作为 key, 而 Hashtable 不行 Hashtable 是线程同步的, 而 HashMap 不是的 Colleciton 和 Collections 的区别 Collection 在 java.util 下面, 是所有集合类的父接口 Collections 也在 java.util 下面, 他封装了集合类的一些操作
3. 4.
5.
6.
什么时候用 assert? assert 是一条包含布尔表达式的语句, 程序运行到当前语句的时候假定布尔返回值是 true, 如果是 false 则会抛出异常.断言在默认情况下是禁用的, 在编译时启用断言用 -source 1.4 标记, 在运行时启用可以用 -ea 来标记, 在运行时禁用用 -dsa 来标记. 7. GC 是什么? 为什么要用 GC? GC 是垃圾回收机制, 使用 GC
程序员就不用关心程序的内存管理.使用 System.gc()和 Runtime.getRuntime().gc();能增加 GC 启动的优先级, 但是不保证一定执行. 8. 9. String s = new String("xyz"); 创建了几个 String Object. 2个
10. Math.round(11.5)等于多少? Math.round(-11.5)等于多少? 12; -11; round 表示 4 舍 5 入 11. short s1 = 1; s1 = s1 + 1; 有什么错? short s1 = 1; s1 += 1;有什么错? s1 = s1 + 1; 有错, 因为 1 是 int 型, 所以 s1 + 1 后的类型是 int, int 不可隐形转化为 short 类型
s1 += 1;没有问题 12. sleep() 和 wait() 有什么区别? sleep() 表示让当前运行的线程暂停一段时间, 在时间满了后, 这个线程被并不一定会 被立即执行, 除非这个线程的优先级比当前线程的优先级高, 或者当前线程执行完毕, 或者 当前线程阻塞住了 wait()如果线程对一个同步对象发出 wait 请求后, 该线程会暂停执行, 进入等待状态 直到被唤醒或者等待时间到. 13. Java 有没有 goto ? 有但是没有用 14. 数组有没有 length()方法? String 有没有 length()方法? 数组没有 length()方法, 但是数组有 length 属性 String 有 length() 方法 15. overload 和 override 的区别. overload 和 override 都是
Java 多态的一种表现, overload 是同一个类中的多态性的 表现,
override 是子类和父类多态的一种表现 overload 表示重载, 一个类中同样一个方法名可以有不同的参数 override 表示重写, 子类中可以重新实现父类的方法 overload 的返回值不可变 16. Set 里的元素是不能重复的, 用什么方法来区分重复与否呢? 用 = = 还是 equals()? 他 们有和区别? 用 equals 方法, = = 方法是比较对象的引用地址, equal 默认是比较引用, 但是可以被重 写使逻辑相等, 一般重写 equal 也要修改相应的 hashCode 方法 17. 给我你最常见的一个 runtime exception NullpointException, IllegalArgumentException 18. Object 对象中的方法 toString()/hashCode()/equals()/notify()/notifyAll()/getClass()/wait()
19. error 和 exception 有什么区别? error 表示一种不是不可能但是很难恢复的一种错误, 比如内存溢出; exception 表示正常 流程的情况下不会出现的错误 20. List, Set, Map 是否继承自 Collection 接口? List 和 Set 是, Map 不是 21. abstract class 和 interface 有什么区别?
abstract class 是我们对领域
问题分析得到