avatar
问一个SCJP 题目# Java - 爪哇娇娃
a*s
1
Test Question [1]
Given:
5. class NoGo implements Runnable {
6. private static int i;
7. public synchronized void run() {
8. if (i%10 != 0) { i++; }
9. for(int x=0; x<10; x++, i++)
10. { if (x == 4) Thread.yield(); }
11. }
12. public static void main(String [] args) {
13. NoGo n = new NoGo();
14. for(int x=0; x<101; x++) {
15. new Thread(n).start();
16. System.out.print(i + " ");
17. } } }
Which is true?
A. The output can never contain the value 10.
B. The output can never contain the value 30.
C. The output can never contain the value 297.
D. The output can never contain the value 820.
E. Making the run method un-synchronized will NOT change the possible
output.
Test Question [2]
Which two about using the java.io.Serializable class are true? (Choose two.)
A. If Dog extends Animal, then Animal must implement java.io.Serializable
in order to serialize an instance of Dog.
B. If Dog has-a Collar, then Collar must implement java.io.Serializable in
order to serialize an instance of Dog.
C. If Dog extends Animal and Animal implements java.io.Serializable but
Dog does NOT implement java.io.Serializable, you can serialize an instance
of Dog.
D. When an instance of a subclass is deserialized, none of the
constructors in it's constructor chain will ever be invoked.
E. If you mark a class's instance variable volatile, and then serialize an
instance of that class, the state of the volatile variable will be lost
during serialization.
I don't think B is right, because Collar can be transient.
avatar
z*e
2
E
CD
A-是否Serializable,只需要本类继承接口就行了,跟父类无关
B-理由同上,这个是markup interface,看到接口,就可以序列化
E-volatile和transient故意混淆
avatar
b*u
3
不理解第一题的答案 E
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。