1:关于变量
答案:ABCD
2:关于枚举
答案:BC
3:关于使用 ibatis
答案:C D
4:表的必备字段
答案:A B D
5:防止 NPE
答案:ACD
5:Hashtable hashmap
答案:ABD
6:关于数据库是与否
答案:BD
7:关于 count 相关
答案:A C D
8:关于二方库依赖
答案:A B C
9:根据数据库表设计冗余
答案: A
C
D
多选 1.关于多线程并行处理定时任务的情况,下列哪些说法符合《阿里巴巴 Java 开发手
册》:BCD
A .推荐使用 Timer 方式处理。
B .推荐使用 ScheduledExecutorService 方式处理。
C .Timer 运行多个 TimeTask 时,只要其中之一没有捕获抛出的异常,其它任务便会自动
终止运行。
D .ScheduledExecutorService 并发运行多个定时任务时,其中某线程抛出异常,不会影
响到其它线程的继续运行。
————————————————
多选 2.在多线程并发读写的情况下,下列哪些处理方式能保证对象的线程安
全:BCD
A .使用 volatile 关键字。
B .使用 synchronized 关键字给对象的读写操作加锁。
C .如果是基本类型,推荐使用 java.util.concurrent.atomic 包下面提供的线程安全的基
本类型包装类,例如 AtomicInteger。
D .如果是集合,推荐使用 java.util.concurrent 提供的并发集合类,例如:
ConcurrentHashMap。
备注:
(volatile 解决多线程内存不可见问题。对于一写多读,是可以解决变量同步问题,
但是如果多写,同样无法解决线程安全问题。)
————————————————
多选 6.关于线程池管理线程的好处,下列哪些说法是正确的:AC
A .能够减少在创建和销毁线程上所花的时间以及系统资源的开销。
B .使用线程池一定能避免 OOM 问题。
C .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。
D .线程池能够根据资源等待情况,自动调整线程优先级并解决死锁问题。
————————————————
多选 20.关于加锁,下列哪些说法符合《阿里巴巴 JAVA 开发手册》:ABCD
A .可以只锁代码区块的情况下,就不要锁整个方法体。
B .高并发的业务场景下,要考虑加锁及同步处理带来的性能损耗,能用无锁数据结构,就
不要用锁。
C .能用对象锁的情况下,就不要用类锁。
D .加锁时需要保持一致的加锁顺序,否则可能会造成死锁。
多选 2.关于数据库中表相关的命名,下列哪些说法符合《阿里巴巴 JAVA 开发
手册》:ABD
A .表名、字段名禁止出现数字开头,禁止两个下划线中间只出现数字。
B .表名不使用复数名词。
C .表必备三字段命名:id, gmt_create, gmt_modify。
D .表必备三字段命名:id, gmt_create, gmt_modified。
————————————————
1.4 版本
1.5 版本
单选 4.关于使用 EXPLAIN 对数据库性能进行优化分析,下列哪些说法符合《阿
里巴巴 JAVA 开发手册》:A
A .SQL 性能优化的目标:至少要达到 range 级别,要求是 ref 级别,如果可以是 consts
最好。
B .index 级别走的是扫描索引,所以速度会比 ref 快。
C .range 级别是指对表进行范围索引。
D .ref 级别是指使用主键或者唯一索引。
————————————————