SCJP认证套题解析之四

4/7/2006来源:Java认证人气:8443

16. Which keyWord should be used to enable interaction with the lock of an
object? The flag allows exclusive access to that object.
   A. transient

   B. synchronized

   C. serialize

   D. static
   翻译
   下面的哪些关键字通常用来对对象的加锁,该标记使得对对象的访问是排他的

   答案 B

   解析 由于java是多线程的语言,多个线程可以”同时”访问同一数据区,而在处理某些数据时不希望其它的线程修改那些数据的值或者某些操作是不可打断的,要做到这个,可以使用synchronized关键字声明这一点。

   17. Which is the return type of the method main()?
   A. int

   B. void

   C. boolean

   D. static
   翻译
   main()方法的返回类型是什么?

   答案 B

   解析  在java中,程序运行的入口就是main()方法,它必须是这样的形式:public static void main(String args[])。但是严格来讲这个题目的答案还可以加上a和c,因为并

没有限定是程序入口的main()方法,而main()方法是可以重载的。一般意义上的main()当然就是指我们刚开始所说的main()方法了。

   18. Given the following code:

   if (x>0) { System.out.PRintln(\"first\"); }

   else if (x>-3) { System.out.println(\"second\"); }

   else { System.out.println(\"third\"); }

   Which range of x value would print the string \"second\"?
   A. x > 0

   B. x > -3

   C. x <= -3

   D. x <= 0 & x > -3
   翻译
   给出下面的代码:

   …

   x的取值在什么范围内时将打印字符串\"second\"。

   答案 D

   解析 x>0时打印\"first\",x>-3&&x<=0时打印\"second\",x<=-3时打印\"third\"。这个题目没有什么难的,只要理解if语句的语法就可以了。

   19. Given the following expression about TextField which use a proportional
pitch font.
   TextField t = new TextField(\"they are good\",40);

   Which statement is true?
   A. The displayed string can use multiple fonts.

   B. The maximum number of characters in a line will be 40.

   C. The displayed width is exactly 40 characters.

   D. The user can edit the characters.
   翻译
   给出以下关于一个使用适当的字符间距的字体的TextField的表达式。
   …

   哪些叙述是对的?

   A. 被显示的字符串可以使用多种字体。

   B. 一行中最大的字符数是40

   C. 显示的宽度正好是40个字符宽。

   D. 用户可以编辑字符。

   答案 D

   解析 对于TextField的该种形式的构造函数来说,前一个参数是文本域中初始的字符串的显示值,而后一个是推荐的显示宽度,以列数表示,在构造文本域的时候会将这个大小设置为最佳大小,如果容器的限制使得文本域不能显示这么多也没有办法,一般来说是比这个大小大的,而且即使宽度很小,你也可以在文本域的一行中输入很长的字符串,只有你不使用回车,在超过显示宽度后文本域会自动出现水平滚动条(没有被设置为关闭,缺省是不关闭的),而文本域的缺省编辑方式是可编辑的,一个文本域只能使用一种字体,这个字体可以在运行的过程中动态的改变,但是文本域中的所有字符串都将使用这个字体显示。

   20. Which statements about the garbage collection are true?
   A. The program developer must create a thread to be responsible for free
the memory.

   B. The garbage collection will check for and free memory no longer needed.

   C. The garbage collection allow the program developer to explicity and
immediately free the memory.

   D. The garbage collection can free the memory used java object at expect
time.
   翻译
   关于垃圾收集的哪些叙述是对的。

   A. 程序开发者必须自己创建一个线程进行内存释放的工作。

   B. 垃圾收集将检查并释放不再使用的内存。

   C. 垃圾收集允许程序开发者明确指定并立即释放该内存。

   D. 垃圾收集能够在期望的时间释放被java对象使用的内存。

   答案 B

   解析 Java语言将内存分配和释放的工组交给了自己,程序员不必做这些工作,它提供一个系统级的线程跟踪每个内存的分配,在JVM的空闲处理中,垃圾收集线程将检查和释放不再使用的内存(即可以被释放的内存)。垃圾收集的过程在java程序的生存期中是自动的,不需要分配和释放内存,也避免了内存泄漏。可以调用System.gc()方法建议(suggest)JVM执行垃圾收集以使得可被释放的内存能立即被使用,当此方法返回的时候,JVM已经做了最大的努力从被丢弃的对象上回收内存空间。程序员不能指定收集哪些内存,一般而言也不用关心这个问题,除非是程序的内存消耗很大,特别是有很多临时对象时可以“建议“进行垃圾收集以提高可用内存。需要指出的是调用System.gc()方法不能保证JVM立即进行垃圾收集,而只能是建议,因为垃圾收集线程的优先级很低(通常是最低的)。