background image

  List,Set

 

是 Map 不是

  8、ArrayList 和 Vector 的区别。

  1>同步性:Vector 是线程安全的,也就是说是同步的,而 ArrayList 是线程序不安

 

全的,不是同步的 2>数据增长:当需要增长时,Vector 默认增长为原来一培,而
ArrayList 却是原来的一半

  9、什么时候用 assert。

  assertion(断言)

软件开发

§中是一种常用的调试方式,很多开发语言中都支持这

种机制。在实现中,assertion 就是在程序中的一条语句,它对一个 boolean 表达式进行
检查,一个正确程序必须保证这个 boolean 表达式的值为 true;如果该值为 false,说
明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion 用于保
证程序最基本、关键的正确性。assertion 检查通常在开发

测试

§时开启。为了提高性能,

在软件发布后,assertion 检查通常是关闭的。

  10、GC

 

是什么? 为什么要有 GC?

  GC 是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。
要请求垃圾收集,可以调用下面的方法之一:

1. System.gc()   

2.

3. Runtime.getRuntime().gc()

 11、String s = new String("xyz");创建了几个 String Object?

  两个对象,一个是 xyx”

,一个是指向 xyx”的引用对象 s

  12、.Math.round(11.5)

 

等於多少? Math.round(-11.5)等於多少?

  Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;因为

 

返回最接近参数的 long

 

。通过加上 1/2 将该结果舍入为整数,取结果的基数并将其强制

 

转换为 long 

 

类型。换句话说,结果等于以下表达式的值: (long)Math.floor(a + 0.5d)

  13、short s1 = 1  

; s1 = s1 + 1

 

;有什么错? short s1 = 1  

; s1 += 1;有什么

错?

  short s1 = 1  

; s1 = s1 + 1

 

;错, short s1 = 1  

; s1 += 1;对。对于 short s1 

= 1  

; s1 = s1 + 1;由于 s1+1 运算时会自动提升表达式的类型,所以结果是 int 型,

再赋值给 short 类型 s1 时,编译器将报告需要强制转换类型的错误。对于 short s1 = 
1  

; s1 += 1

 

;由于 += 是 java 语言规定的运算符,java 编译器会对它进行特殊处理,

因此可以正确编译。

  14、sleep()   

和 wait() 有什么区别?

  sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给
其他线程,但是监控状态依然保持,到时后会自动恢复。调用 sleep 不会释放对象锁 。
wait 是 Object 类的方法,对此对象调用 wait 方法导致本线程放弃对象锁,进入等待此