A.线程资源必须通过线程池提供,不允许在应用中自行显式创建线程
B.同步处理时,能锁部分代码区块的情况下不要锁整个方法;高并发时,同步调用应该考虑到性能损耗
C.创建线程或线程池时,推荐给线程指定一个有意义的名称,方便出错时回溯
D.推荐使用Executors.newFixedThreadPool(intx)生成指定大小的线程池。(线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式)
第1题:
A.String类型的默认值设定为空字符串
B.Date类型的默认值设定为newDate()
C.集合类型的默认值设定为Collections.EMPTY_LIST
D.不要设定任何属性默认值
第2题:
A.对于“明确停止使用的代码和配置”,如方法、变量、类、配置文件、动态配置属性等要坚决从程序中清理出去,避免造成过多垃圾
B.永久弃用的代码段注释掉即可,即不用加任何注释
C.对于暂时被注释掉,后续可能恢复使用的代码片断,在注释代码上方,统一规定使用三个斜杠(///)来说明注释掉代码的理由
D.不要在视图模板中加入任何复杂的逻辑
第3题:
A.如果需要捕获不同类型异常,为了方便处理,可以使用catch(Exceptione){...}
B.不要捕获异常后不处理,丢弃异常信息
C.捕获异常与抛异常,必须是完全匹配,或者捕获异常是抛异常的父类
D.异常定义时区分unchecked/checked异常,避免直接使用RuntimeException抛出
第4题:
A.Longa=2L;//大写的L
B.Longa=2l;//小写的1
C.常量只定义一次,不再赋值,所以不需要命名规范
D.不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护
第5题:
A.所有的抽象方法(包括接口中的方法)必须要用javadoc注释
B.所有的方法,包括私有方法,最好都增加注释,有总比没有强
C.过多过滥的注释,代码的逻辑一旦修改,修改注释是相当大的负担
D.我的命名和代码结构非常好,可以减少注释的内容
第6题:
A.推荐if-else的方式可以改写成卫语句的形式
B.尽量减少try-catch块内的逻辑,定义对象、变量、获取数据库连接等操作可以移到try-catch块外处理
C.if(condition)statements;单行语句不需要使用大括号
D.在一个switch块内,都必须包含一个default语句并且放在最后,即使它什么代码也没有
第7题:
A.不允许出现任何魔法值(即未经预先定义的常量)直接出现在代码中
B.魔法值是指程序中随意定义并赋值的变量值,如果代码编写者明白变量值意义是可以任意使用的,例如在代码中写if(status==3)returnerror;符合规范
C.如果变量值仅在一个范围内变化推荐用Enum类
D.在程序中,一律禁止使用枚举类型
第8题:
A.防止pagesize过大导致内存溢出
B.防止正则输入源串拒绝服务ReDOS
C.防止任意重定向
D.预防SQL注入
第9题:
A.对于是与否概念的列名,必须使用can_abc来表示
B.对于是与否概念的列名,必须使用is_abc来表示
C.数据类型是varchar(1)(Y表示是,N表示否)
D.数据类型是unsignedtinyint.(1表示是,0表示否)
第10题:
A.POJO类中的任何布尔类型的变量,都不要加is,因为部分框架解析时有可能会出现序列化错误
B.包名统一使用单数形式,如:com.alibab选项格式:A.mpp.util
C.中括号是数组类型的一部分,数组定义如下:String[]args;不要误写为Stringargs[]
D.Service/DAO层方法命名可以参考规约,例如:删除的方法推荐使用remove或delete做前缀
第11题:
下列关于JDK的说法中,错误的是?()
第12题:
第13题:
A.向公司外部提供的http/api接口,推荐使用“错误码”方式返回异常或者错误信息
B.对于应用内部的方法调用,推荐使用“抛出异常”的方式处理异常或者错误信息
C.跨应用的RPC调用,推荐使用将“错误码”和“错误简短信息”封装成Result的方式进行返回
D.对外提供的接口,一定要保证逻辑健壮性:尽量避免空指针等技术类异常;对于业务类异常要做好错误码或者异常信息的封装
第14题:
A.对varchar类型的字段建立索引,必须指定索引长度
B.对varchar类型的字段建立索引,不需要指定索引长度,这样索引区分度最好
C.业务上具有唯一特性的字段(含组合字段),必须指定唯一索引
D.建复合索引时,一般选择区分度高的字段放在最左列
第15题:
A.继承java.lang.Error的类属于checkedexception
B.checked异常继承java.lang.Exception类
C.unchecked异常继承java.lang.RuntimeException类
D.NullPointerException,IllegalArgumentException属于uncheckedexception
第16题:
A.版本号命名格式:主版本号.次版本号.修订号
B.主版本号:产品方向改变,或者大规模API不兼容,或者架构不兼容升级
C.次版本号:保持相对兼容性,增加主要功能特性,影响范围极小的API不兼容修改
D.修订号:保持完全兼容性,修复BUG、新增次要功能特性等
第17题:
A.禁止将URL、文件名、系统参数、数据库连接地址、业务规则的可变参数,硬编码在工程中
B.long或者Long初始赋值时,必须是大写的L,不能小写
C.当一个类有多个构造方法,或是多个同名方法,这些方法应该按顺序放置在一起,便于阅读
D.相同参数类型,同等业务含义,才可以使用Java的可变参数,参数的类型尽量避免使用Object
第18题:
A.主键索引(primarykey),字段类型为unsignedbigint、单表时推荐自增、步长为1
B.主键索引(primarykey),字段类型为unsignedbigint、单表时推荐自增、步长为2
C.唯一索引(uniquekey),命名规则为uk_字段名(如果多个字段继续下划线)
D.普通索引(normalindex),标记成idx_字段名(如果多个继续下划线)
第19题:
A.推荐使用Timer方式处理
B.推荐使用ScheduledExecutorService方式处理
C.Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行
D.ScheduledExecutorService并发运行多个定时任务时,其中某线程抛出异常,不会影响到其它线程的继续运行
第20题:
A.在接口类中的方法和属性使用public修饰符
B.对于Service类,内部的实现类加Impl的后缀与接口区别。例如:ProductServiceImpl实现ProductService接口
C.对于Service类,基于SOA的理念,是以接口方式暴露服务
D.尽量不在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,而且是整个应用的基础常量
第21题:
A.IDE的textfileencoding设置为GBK格式
B.IDE的textfileencoding设置为UTF-8格式
C.IDE中文件的换行符使用unix格式
D.IDE中文件的换行符使用windows格式
第22题:
Java Application的开发步骤有哪些。
第23题:
JDK是Java开发工具包的简称
JDK包括Java编译器、Java文档生成工具、Java打包工具等
安装JDK后,还需要单独安装JRE
JDK是整个Java的核心