安卓自测试题——第三期

第二期自测试题答案:
1.D  2.B 3.B  4.BD  5.B 6.B  7.ABCD  8.A 9.AD
10.①不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次;②设置Activity的android:configChanges=“orientation”时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次;③设置Activity的
android:configChanges=“orientation|keyboardHidden”时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。

本期试题:
1. 下面代码视图实现单例模式,但是犯了2处明显的错误,请找出这2个错误。
[mw_shl_code=java,true] public class Singleton {

     public Singleton() {

            System.out.println("Singleton is create");           

     }



     private Singleton instance = new Singleton();

     public static Singleton getInstance() {

            return instance;

     }



    public static void createString(){                        

           System.out.println("createString in Singleton");

    }

}
[/mw_shl_code]


2. 
对代理模式的作用,描述最不恰当的一项是(单选题)
A.控制对象访问和通信 
B.延迟加载,提升系统性能 
C.
处于安全目的,保护被访问者
D.动态扩充对象功能

3.Android UI体系中,事件通知实现的基本思想来源于(单选题):
A.观察者模式
B.代理模式
C.策略模式
D.装饰者模式

4. VectorArrayList的主要区别是(单选题):
A. ArrayList内部基于链表,而Vector是基于数组的
B. Vector的大部分方法做了同步,而ArrayList没有同步
C. Vector是可串行化的,而ArrayList不是
D. Vector实现了RandomAccess,而ArrayList没有

5. 如果HashMap发生大量Hash冲突,则会导致(单选题):
A. HashMap崩溃,导致不可用
B. HashMap没有影响,依然可以高效的工作
C. HashMap的性能会有一点影响,但总体依然是高效的
D. HashMap依然可用,但是性能受到重创。

6. 下面哪些关键字是和多线程并发有关的(多选)
A. volatile
B. synchronized
C. public
D. final

7. ReadWriteLock能够提高并发性能的原因是(单选):
A. 它是无锁的操作
B. 它为每个线程都提供了一份数据的复本
C. 它可以使得读读操作真正的并发,无需等待
D. 它自动进行了锁的粗化

8. 对象池和享元模式的根本不同在于(单选):
A. 对象池中的对象可以复用,享元模式中的对象不能复用
B. 对象池可以提升系统性能,享元模式不能
C. 对象池中的每个对象都是等价的,享元模式中的每个对象是不等价的
D. 对象池中的每个对象是不等价的,享元模式中的每个对象是等价的

9.下面哪些是String对象的特性(多选)
A. 不变性
B. 针对常量池的优化
C. 类是final
D. 用户可自定义的多态

10.简要分析StringsubString()方法造成内存泄漏的原因
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值