JAVA编码规范考试
您的姓名: [填空题] *
_________________________________
关于 hashCode 和 equals 的处理,说法正确的是 [单选题] *
只要重写 equals,就必须重写 hashCode。 |
因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的对象必须重写这两个方法。 |
如果自定义对象作为 Map 的键,那么必须重写 hashCode 和 equals。 |
所有选项都是(正确答案) |
在JDK7版本及以上,Comparator实现类要满足( )条件 [单选题] *
x,y的比较结果和y,x的比较结果相反 |
x>y,y>z,则x>z |
x=y,则x,z比较结果和y,z比较结果相同 |
所有选项都是(正确答案) |
下列关于Object的clone方法说法正确的是 [单选题] *
默认只拷贝基础数据类型(正确答案) |
默认只拷贝引用数据类型 |
默认拷贝基本数据类型和引用数据类型 |
下列哪种场景应该使用final关键字 [单选题] *
不允许被继承的类,如:String类 |
不允许修改引用的域对象 |
不允许被重写的方法 |
所有选项都是(正确答案) |
下列关于Service/DAO层的方法命名规约,说法错误的是 [单选题] *
获取单个对象的方法用get做前缀 |
获取多个对象的方法用list做前缀,复数结尾 |
修改方法用change做后缀(正确答案) |
插入的方法用save\insert |
下列关于控制语句的说法错误的是 [单选题] *
为保持代码简洁性,if语句在只有一次判断时使用单行编码方式,如:if (condition) statements;(正确答案) |
在高并发场景中,避免使用”等于”判断作为中断或退出条件 |
不要在条件判断中执行其它复杂的语句,将复杂逻辑判断的结果赋值给一个有意义的布尔变量名,以提高可读性 |
避免采用取反逻辑符 |
下列关于并发的说法错误的是 [单选题] *
创建线程或线程池时必须指定有意义的线程名称,方便出错时回溯 |
获取单例对象需要保证线程安全,因此必须要使用synchronized关键字实现(正确答案) |
对多个资源同时加锁时,必须保持一致的加锁顺序,否则可能会造成死锁 |
使用CountDownLatch进行异步转同步操作,每个线程退出前必须调用且仅调用一次countDown方法 |
下列关于集合的说法正确的是 [单选题] *
只要重写equals,就必须重写hashCode |
因为Set存储的是不重复的对象,依据hashCode和equals进行判断,所以Set存储的对象必须重写这两个方法 |
如果自定义对象作为Map的键,那么必须重写hashCode和equals |
所有选项都是(正确答案) |
下列哪个保留字与括号之间必须加空格 [单选题] *
if |
for |
while |
所有选项都是(正确答案) |
下列关于访问控制符的说法,错误的是 [单选题] *
如果不允许外部直接通过new开创建对象,那么构造方法必须是private |
类 static 成员变量必须为public(正确答案) |
类成员方法只对继承类公开,那么限制为 protected |
工具类中不允许有public或default 的构造方法 |
关于基本数据类型与包装类型的使用标准,说法错误的是 [单选题] *
所有的POJO类属性必须使用包装数据类型 |
RPC方法的返回值和参数必须使用包装数据类型 |
RPC方法的返回值使用包装数据类型,参数使用基本数据类型(正确答案) |
所有的局部变量使用基本数据类型 |
下列关于OOP规约,说法错误的是 [单选题] *
应通过引用该类的对象来访问此类的静态变量或静态方法, 避免使用类名直接访问(正确答案) |
覆写父类方法,必须加@Override注解 |
外部正在调用或者二方依赖的接口,不允许修改方法签名。接口过时必须使用Deprecad注解,并说明新接口是什么 |
Object的equals方法容易抛空指针,应使用常量或者确定的有值对象来调用而equals |
下列关于常量的说法正确的是 [单选题] *
不要使用一个常量类维护所有的常量、要按常量的功能进行归类 |
子工程内部共享常量,应放在当前子工程的constant目录下 |
包内共享常量,应放在当前包的constant目录下 |
所有选项都是(正确答案) |
下列哪个运算符左右两边必须加空格 [单选题] *
赋值运算符= |
逻辑运算符&&、|| |
算术运算符+、-、*、\、% |
所有选项都是(正确答案) |
非空代码块中,大括号使用错误的是 [单选题] *
左大括号前不换行 |
左大括号后换行 |
右大括号前不换行(正确答案) |
右大括号前换行 |
下列哪项赋值操作符合规范的 [单选题] *
Long a = 2l |
Long A = 2L |
Long a = 2L(正确答案) |
Long A = 2l java变量的数据类型分为两种 |
下列哪项领域模型命名规约符合不规范 [单选题] *
持久对象:UserPOJO(正确答案) |
数据传输对象: UserDTO |
展示对象: UserVO |
数据对象: UserDO |
如果模块、接口、类、方法使用了设计模式,在命名时需要体现出具体的设计模式,下列哪项类名未体现出来 [单选题] *
OrderFactory |
LoginProxy |
ResourceObserver |
MessageConsumer(正确答案) |
下列类名中命名错误的是 [单选题] *
抽象类:AbstractUser |
测试类:UserTest |
异常类:BusinessException |
抽象类:UserBase(正确答案) |
下列关于异常的说法,错误的是 [单选题] *
尽量巧妙的利用异常进行流程控制或条件控制, 能减少代码复杂度(正确答案) |
有 try 块放到了事务代码中, catch 异常后,如果需要回滚事务,一定要注意手动回滚事务 |
finally 块必须对资源对象、流对象进行关闭,有异常也要做 try-catch。如果 JDK7 及以上,使用 try-with-resources 方式 |
捕获异常与抛异常,必须是完全匹配,或者捕获异常是抛异常的父类。 |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论