java编码规范方案考试题答案解析

合集下载

XXX编码规范 基础技能认证 考题分析(考题+答案)

XXX编码规范 基础技能认证 考题分析(考题+答案)

XXX编码规范基础技能认证考题分析(考题+答案)XXX编码规范基础技能认证考试题分析本次考试共98道题,建议考生认真阅读官方提供的规范,仔细研究即可通过。

1.关于索引的设计和使用在数据库中,索引是提高查询效率的重要手段。

在设计索引时,需要考虑查询频率、数据分布、数据量等因素。

同时,在使用索引时,也需要注意避免过度使用和滥用索引。

2.关于explain执行计划在进行SQL优化时,可以通过explain命令查看SQL的执行计划,从而分析查询语句的性能瓶颈。

需要注意的是,explain结果并不是绝对的,需要结合实际情况进行分析。

3.关于数据库模糊检索的描述在进行模糊检索时,需要注意使用合适的通配符,避免使用%开头的模糊检索,以免导致全表扫描。

4.数据使用Arrays.asList转化为集合在使用Arrays.asList方法将数据转化为集合时,需要注意该方法返回的是一个固定长度的List,不能进行add、remove等操作,否则会抛出XXX异常。

5.关于捕获异常和抛异常在进行异常处理时,需要注意避免捕获过于宽泛的异常,应该捕获具体的异常类型,并及时处理异常。

同时,在抛出异常时,需要注意异常信息的清晰明了,避免给调用者带来困扰。

6.关于Java的接口描述在定义接口时,需要注意接口的命名规范、方法的参数、返回值等细节。

同时,在实现接口时,也需要严格遵守接口的定义。

7.关于代码注释在编写代码时,需要添加必要的注释,以便于其他开发人员理解代码的含义。

同时,注释也可以帮助我们更好地维护代码。

8.关于文件编码和格式在进行文件操作时,需要注意文件的编码和格式。

应该使用UTF-8编码,避免出现乱码问题。

同时,在选择文件格式时,也需要根据实际情况进行选择。

9.单元测试在进行单元测试时,需要注意测试用例的编写、覆盖率等问题。

同时,也需要注意测试环境的准备和测试结果的分析。

10.对于索引在使用索引时,需要注意索引的选择和设计。

阿里巴巴编码规范考题分析超全

阿里巴巴编码规范考题分析超全

1:关于变量答案:ABCD2:关于枚举答案:BC3:关于使用ibatis答案:C D4:表的必备字段答案:A B D5:防止NPE答案:ACD5:Hashtable hashmap答案:ABD6:关于数据库是与否答案:BD7:关于count相关答案:A C D8:关于二方库依赖答案:A B C9:根据数据库表设计冗余答案: A C D多选1.关于多线程并行处理定时任务的情况,下列哪些说法符合《阿里巴巴Java开发手册》:BCDA .推荐使用Timer方式处理。

B .推荐使用ScheduledExecutorService方式处理。

C .Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行。

D .ScheduledExecutorService并发运行多个定时任务时,其中某线程抛出异常,不会影响到其它线程的继续运行。

————————————————多选2.在多线程并发读写的情况下,下列哪些处理方式能保证对象的线程安全:BCDA .使用volatile关键字。

B .使用synchronized关键字给对象的读写操作加锁。

C .如果是基本类型,推荐使用java.util.concurrent.atomic包下面提供的线程安全的基本类型包装类,例如AtomicInteger。

D .如果是集合,推荐使用java.util.concurrent提供的并发集合类,例如:ConcurrentHashMap。

备注:(volatile 解决多线程内存不可见问题。

对于一写多读,是可以解决变量同步问题,但是如果多写,同样无法解决线程安全问题。

) ————————————————多选6.关于线程池管理线程的好处,下列哪些说法是正确的:ACA .能够减少在创建和销毁线程上所花的时间以及系统资源的开销。

B .使用线程池一定能避免OOM问题。

C .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。

java编码规范考试题答案

java编码规范考试题答案

一、单选题1. 如下关于集合类的描述错误的是BA. 含有集合意义的属性命名,尽量包含其复数的意义B. 集合中的数据不需要释放,垃圾回收器会自动回收C. 集合必须指定模板类型D. 使用集合类时要设置初始化容量2. 关于线程以下说法错误的有BA. 新起一个线程,都要使用Thread.setName(“…”)设置线程名B. 在JDK1.5或更新的版本中,若字符串拼接发生在单线程环境,使用StringBufferC. 对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题D. 线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起JVM资源耗尽3. 下面哪个是推荐使用的对称密码算法BA. DESB. AESC. SHAD. RSA4. 以下说法正确的有CA. 程序中的一些状态多直接用数字表示,如函数执行成功return 1B. 对于表示函数执行错误,多用约定的错误码来标识C. 用有意义的静态变量或者枚举来代替数字型的程序状态,如函数执行成功return SUCCESSD. 程序中的魔鬼数字并不可怕,需要所有开发人员努力理解这些数字的含义5. 下列错误使用异常的做法是DA. 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常B. 一个方法不应抛出太多类型的异常。

throws/exception子句标明的异常最好不要超过三个C. 异常捕获尽量不要直接catch (Exception ex),应该把异常细分处理D. 程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。

捕获异常后用exception.toString()取到详细信息后保存6. 关于命名规范,以下说法错误的有DA. 属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。

java编码规范测验题答案

java编码规范测验题答案

java编码规范测验题答案————————————————————————————————作者:————————————————————————————————日期:一、单选题1. 如下关于集合类的描述错误的是BA. 含有集合意义的属性命名,尽量包含其复数的意义B. 集合中的数据不需要释放,垃圾回收器会自动回收C. 集合必须指定模板类型D. 使用集合类时要设置初始化容量2. 关于线程以下说法错误的有BA. 新起一个线程,都要使用Thread.setName(“…”)设置线程名B. 在JDK1.5或更新的版本中,若字符串拼接发生在单线程环境,使用StringBufferC. 对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题D. 线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起JVM资源耗尽3. 下面哪个是推荐使用的对称密码算法BA. DESB. AESC. SHAD. RSA4. 以下说法正确的有CA. 程序中的一些状态多直接用数字表示,如函数执行成功return 1B. 对于表示函数执行错误,多用约定的错误码来标识C. 用有意义的静态变量或者枚举来代替数字型的程序状态,如函数执行成功return SUCCESSD. 程序中的魔鬼数字并不可怕,需要所有开发人员努力理解这些数字的含义5. 下列错误使用异常的做法是DA. 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常B. 一个方法不应抛出太多类型的异常。

throws/exception子句标明的异常最好不要超过三个C. 异常捕获尽量不要直接catch (Exception ex),应该把异常细分处理D. 程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。

捕获异常后用exception.toString()取到详细信息后保存6. 关于命名规范,以下说法错误的有DA. 属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。

编码期末考试试题及答案

编码期末考试试题及答案

编码期末考试试题及答案一、选择题(每题2分,共20分)1. 在编程中,以下哪个是合法的变量名?A) 2variableB) variable-nameC) variable-name2D) variable_name2. 下列哪个选项不是Python语言的内置数据类型?A) intB) floatC) stringD) list3. 在Java中,哪个关键字用于定义一个类?A) classB) interfaceC) structD) enum4. 以下哪个语句是正确的C++数组初始化?A) int arr[] = {1, 2, 3};B) int arr[3] = {1, 2, 3};C) int arr = {1, 2, 3};D) int arr[3] = 1, 2, 3;5. 在JavaScript中,以下哪个是正确的函数定义?A) function myFunction() {}B) myFunction() {}C) define myFunction() {}D) myFunction() = function {}6. 下列哪个是Python中的列表推导式?A) [x for x in range(10) if x % 2 == 0]B) for x in range(10) if x % 2 == 0C) x for x in range(10) if x % 2 == 0D) x if x % 2 == 0 for x in range(10)7. 在HTML中,以下哪个标签用于定义文档的头部?A) <head>B) <header>C) <h1>D) <title>8. 在SQL中,以下哪个命令用于创建数据库表?A) CREATE TABLEB) DEFINE TABLEC) MAKE TABLED) START TABLE9. 在编程中,以下哪个是面向对象编程的三大特性之一?A) 继承B) 封装C) 多态D) 所有选项都是10. 在CSS中,以下哪个属性用于设置元素的宽度?A) widthB) heightC) sizeD) dimension二、简答题(每题10分,共20分)1. 解释什么是递归,并给出一个简单的递归函数例子。

java编码规范考试题答案

java编码规范考试题答案

一、单选题1. 如下关于集合类的描述错误的是BA. 含有集合意义的属性命名,尽量包含其复数的意义B. 集合中的数据不需要释放,垃圾回收器会自动回收C. 集合必须指定模板类型D. 使用集合类时要设置初始化容量2. 关于线程以下说法错误的有BA. 新起一个线程,都要使用Thread.setName(“…”)设置线程名B. 在JDK1.5或更新的版本中,若字符串拼接发生在单线程环境,使用StringBufferC. 对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题D. 线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起JVM资源耗尽3. 下面哪个是推荐使用的对称密码算法BA. DESB. AESC. SHAD. RSA4. 以下说法正确的有CA. 程序中的一些状态多直接用数字表示,如函数执行成功return 1B. 对于表示函数执行错误,多用约定的错误码来标识C. 用有意义的静态变量或者枚举来代替数字型的程序状态,如函数执行成功return SUCCESSD. 程序中的魔鬼数字并不可怕,需要所有开发人员努力理解这些数字的含义5. 下列错误使用异常的做法是DA. 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常B. 一个方法不应抛出太多类型的异常。

throws/exception子句标明的异常最好不要超过三个C. 异常捕获尽量不要直接catch (Exception ex),应该把异常细分处理D. 程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。

捕获异常后用exception.toString()取到详细信息后保存6. 关于命名规范,以下说法错误的有DA. 属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。

78页超全阿里巴巴编码规范考题分析(78页试题)

78页超全阿里巴巴编码规范考题分析(78页试题)

1:关于变量答案:ABCD2:关于枚举答案:BC3:关于使用ibatis 答案:C D4:表的必备字段答案:A B D5:防止NPE答案:ACD答案:ABD6:关于数据库是与否答案:BD7:关于count相关答案:A C D8:关于二方库依赖答案:A B C9:根据数据库表设计冗余答案: A C D多选1.关于多线程并行处理定时任务的情况,下列哪些说法符合《阿里巴巴Java开发手册》:BCDA .推荐使用Timer方式处理。

B .推荐使用ScheduledExecutorService方式处理。

C .Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行。

D .ScheduledExecutorService并发运行多个定时任务时,其中某线程抛出异常,不会影响到其它线程的继续运行。

————————————————多选2.在多线程并发读写的情况下,下列哪些处理方式能保证对象的线程安全:BCDA .使用volatile关键字。

B .使用synchronized关键字给对象的读写操作加锁。

C .如果是基本类型,推荐使用java.util.concurrent.atomic包下面提供的线程安全的基本类型包装类,例如AtomicInteger。

D .如果是集合,推荐使用java.util.concurrent提供的并发集合类,例如:ConcurrentHashMap。

备注:(volatile 解决多线程内存不可见问题。

对于一写多读,是可以解决变量同步问题,但是如果多写,同样无法解决线程安全问题。

) ————————————————多选6.关于线程池管理线程的好处,下列哪些说法是正确的:ACA .能够减少在创建和销毁线程上所花的时间以及系统资源的开销。

B .使用线程池一定能避免OOM问题。

C .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。

D .线程池能够根据资源等待情况,自动调整线程优先级并解决死锁问题。

编码规范试题

编码规范试题

JA V A 编码规范测试题一、填空题(30分)1、建立开发过程中的JAVA开发规范的目的是:统一JAVA代码的编码风格,增加清晰性和可阅读性,为代码走查和 QA审核建立可参照的标准,确保产品生命周期中后期工作的顺利进行。

23、当文件数量比较多时,应该分目录存放。

请写出每个软件产品(或部件)主要包含的目录 projects , src , META-INF ,conf , test , web , WEB-INF ,lib 。

4、每行应避免超过80 个字符,当一个表达式在一行中容不下时,可以按照以下原则进行折行:1)、在一个逗号之前折行2)、在一个操作符之前折行3)、在前一层折行比在后下一层折行好4)、折行之后的一行应该与第一行对齐5)、为了避免折行导致代码太乱或靠右,就只缩进8个空格5、变量声明原则是在哪里使用在哪里声明。

6、所有实例,包括类和常量,均采用一个或多个单词组合的方式,第一个单词的首字母小写,其余单词的首字母大写。

7、变量名不应以下划线或 $ 开头,尽管这在语法上是允许的。

二、判断题(20分)1、下面这样的代码折行是提倡的:longName1 = longName2 * (longName3 + longName4-longName5) + 4 * longname6; 错2、允许这样的变量声明方法:int level, size; 错3、在编写类和接口的时候,应该遵循如下规则:方法名和后面包含参数列表的左括号“(”之间没有空格;左大括号“{”与声明的语句可以选择放在同一行上,也可以单独成行;右大括号“}”一律单独成行。

对4、如果某个数据库持久化类被定义为hibernateDataSourceTemp,这样的定义是没有问题的。

错5、顶层(top-level)的类和接口及其其成员缩进都应该缩进。

错三、简答题(50分)1、请说明编码规范对项目开发具有的意义答:在一个软件生命过程中,接近80%的都是维护的工作,代码规范的编制给后期的维护工作提供了良好的条件。

java编码规范考试题答案

java编码规范考试题答案

一、单选题1、如下关于集合类的描述错误的就是BA、含有集合意义的属性命名,尽量包含其复数的意义B、集合中的数据不需要释放,垃圾回收器会自动回收C、集合必须指定模板类型D、使用集合类时要设置初始化容量2、关于线程以下说法错误的有BA、新起一个线程,都要使用Thread、setName(“…”)设置线程名B、在JDK1、5或更新的版本中,若字符串拼接发生在单线程环境,使用StringBufferC、对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题D、线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起JVM资源耗尽3、下面哪个就是推荐使用的对称密码算法BA、DESB、AESC、SHAD、RSA4、以下说法正确的有CA、程序中的一些状态多直接用数字表示,如函数执行成功return 1B、对于表示函数执行错误,多用约定的错误码来标识C、用有意义的静态变量或者枚举来代替数字型的程序状态,如函数执行成功return SUCCESSD、程序中的魔鬼数字并不可怕,需要所有开发人员努力理解这些数字的含义5、下列错误使用异常的做法就是DA、在程序中使用异常处理还就是使用错误返回码处理,根据就是否有利于程序结构来确定,并且异常与错误码不应该混合使用,推荐使用异常B、一个方法不应抛出太多类型的异常。

throws/exception子句标明的异常最好不要超过三个C、异常捕获尽量不要直接catch (Exception ex),应该把异常细分处理D、程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。

捕获异常后用exception、toString()取到详细信息后保存6、关于命名规范,以下说法错误的有DA、属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。

属性名不能与方法名相同B、方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法C、方法中,存取属性的方法采用setter 与getter方法,动作方法采用动词与动宾结构D、常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用static 修饰[y1]7、下列哪个场景可以使用java、util、Random类产生的随机数CA、挑战算法中的随机数生成B、验证码的随机数生成C、随机选取路由D、Web应用会话标识符8、一段使用ZipInputStream对压缩文件进行解压的代码,在[1]处填入适合的关键字就是Apublic RandomAccess(java、io、File f) {[1] java、io、= new java、io、());askUserPermission(copy、getPath());// 、、、return (RandomAccess(new PrivilegedAction () {public Object run() {return new RandomAccess, copy、getPath());}});}A、finalB、staticC、volatileD、private9、安全编程规范中,下面说法错误的就是DA、对外部输入进行校验B、禁止不受信任的代码直接终止JVMC、创建文件时指定合理的访问权限D、记录日志时可以抛异常10、若程序中需要获取操作系统登录用户名,应采取下列哪种方法来获取CA、提示用户输入B、由环境变量获取:System、getenv("USER")C、由JVM属性获取:System、getProperty("user、name")D、启动程序的时候由程序参数传入11、以下说法正确的就是AA、尽量使用Java 5、0新循环写法B、判断一个变量就是否等于null、或者一个常量,应把变量放在操作符的左边C、方法参数不能超过7个D、用“==”比较两个字符串内容相等12、在下列哪个场景中,不需要加密与数字签名机制保证数据安全DA、序列化传输敏感数据B、无SSL传输通道或者代价太高C、敏感数据需要持久化长久保存D、同一信任域内组件间传递13、下列JDK中的API调用中若使用不当易遭致OS命令注入的就是BA、java、lang、System、load()B、java、lang、Runtime、exec()C、java、lang、Thread、start()D、java、lang、Process、waitFor()14、如下描述不正确的就是DA、除了构建器外,不要使用与类名相同的方法名B、使用equals() 比较两个类的值就是否相同C、不要使用嵌套赋值,即在一个表达式中使用多个=D、重载equals() 方法时,不必要重载hashCode() 方法15、下列不符合编码规范的就是CA、数据库、IO操作等需要使用结束close()的对象必须在try-catch-finally 的finally中close()B、数组声明的时候使用int[] index ,而不要使用int index[]C、所有的类必须重载toString()方法,返回该类有意义的内容D、自己抛出的异常必须要填写详细的描述信息16、对于下面的代码片段,假设PasswordManager的实例可以被非信任代码所访问,且changePassword()方法调用属于敏感操作,则下列说法中不正确就是的Cpublic class PasswordManager{public final Object lock = new Object();public void changePassword() throws{synchronized (lock){// 、、、}}}A、changePassword()方法中应该包含安全管理器检查,以确认调用代码就是否具有该操作权限B、应该将lock成员变量的可见性声明为privateC、可以省去changePassword()方法中的同步块,直接将changePassword()方法声明为synchronized修饰的同步方法D、changePassword()方法不应该抛出异常17、推荐的防御SQL注入的最佳方式就是CA、限制外部输入的长度B、使用存储过程C、使用预编译语句--java、sql、PreparedStatementD、对外部输入进行转义18、JAAS授权类中,不包含以下哪一类DA、PolicyB、AuthPermissionC、PrivateCredentialPermissionD、LoginContext19、下面说法或者语句不符合公司编程规范的排版要求的就是DA、逗号、分号只在后面加空格; 比较操作符, 赋值操作符"="、"+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格; "!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格B、如果语句已足够清晰则括号内侧(即左括号后面与右括号前面)不需要加空格,多重括号间不必加空格,因为在Java语言中括号已就是最清晰的标志了C、较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读D、if, for, do, while等语句的执行语句如果只有一行的话,不需要要加括号{}20、对于注释的描述错误的就是CA、公有与保护方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、异常等B、对重载父类的方法必须进行@Override声明C、对关键变量的定义必须编写注释,分支语句(条件分支、循环语句等),可以根据实际情况,可以增加注释,也可以不加,根据注释量确定D、对于方法内部用throw语句抛出的异常,必须在方法的注释中标明,对于所调用的其她方法所抛出的异常,选择主要的在注释中说明。

编码规范考试

编码规范考试

JAVA编码规范试题一.判断题(共20题 ,每题1分)1.()equals操作时常量放在equals操作符的左边和右边都可以。

false2.()函数的逻辑层次不能超过4层。

false3. ()对于switch语句下的case语句,必须在每个case分支结束前加上break 语句。

true4. ()修改代码同时修改相应的注释,以保证注释与代码的一致性。

不再有用的注释不要删除。

false5. ()方法内的单行注释使用//。

true6. ()类名和接口使用类意义完整的英文描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。

true7. ()方法名使用类意义完整的英文描述:第一个单词的字母使用大写、剩余单词首字母小写其余字母小写的大小写混合法。

false8. ()属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母小写其余字母大写的大小写混合法。

属性名不能与方法名相同。

false9.()常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用static final修饰。

true10. ()准确地确定成员函数的存取控制符号:只是该类内部调用的函数使用private 属性,继承类可以使用的使用protected属性,同包类可以调用的使用默认属性(不加属性控制符号),对外公开的函数使用public属性。

true11. ( )系统非正常运行产生的异常捕获后,如果不对该异常进行处理,则应该记录日志。

True12. ( )记录异常不要保存exception. toString (),而要记录exception. getMessage (),一般可通过日志工具记录完整的异常堆栈信息。

false13.( ) interface 中定义的常量不要写public、static、final的修饰词,方法不要写public修饰词。

True14.( )对Debug,Info级别日志输出前不需要对当前的调试等级先进行判断。

78页超全阿里巴巴编码规范考题分析(78页试题)

78页超全阿里巴巴编码规范考题分析(78页试题)

1:关于变量答案:ABCD2:关于枚举答案:BC3:关于使用ibatis 答案:C D4:表的必备字段答案:A B D5:防止NPE答案:ACD答案:ABD6:关于数据库是与否答案:BD7:关于count相关答案:A C D8:关于二方库依赖答案:A B C9:根据数据库表设计冗余答案: A C D多选1.关于多线程并行处理定时任务的情况,下列哪些说法符合《阿里巴巴Java开发手册》:BCDA .推荐使用Timer方式处理。

B .推荐使用ScheduledExecutorService方式处理。

C .Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行。

D .ScheduledExecutorService并发运行多个定时任务时,其中某线程抛出异常,不会影响到其它线程的继续运行。

————————————————多选2.在多线程并发读写的情况下,下列哪些处理方式能保证对象的线程安全:BCDA .使用volatile关键字。

B .使用synchronized关键字给对象的读写操作加锁。

C .如果是基本类型,推荐使用java.util.concurrent.atomic包下面提供的线程安全的基本类型包装类,例如AtomicInteger。

D .如果是集合,推荐使用java.util.concurrent提供的并发集合类,例如:ConcurrentHashMap。

备注:(volatile 解决多线程内存不可见问题。

对于一写多读,是可以解决变量同步问题,但是如果多写,同样无法解决线程安全问题。

) ————————————————多选6.关于线程池管理线程的好处,下列哪些说法是正确的:ACA .能够减少在创建和销毁线程上所花的时间以及系统资源的开销。

B .使用线程池一定能避免OOM问题。

C .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。

D .线程池能够根据资源等待情况,自动调整线程优先级并解决死锁问题。

阿里巴巴编码规范考题分析超全

阿里巴巴编码规范考题分析超全

1:关于变量答案:ABCD2:关于枚举答案:BC3:关于使用ibatis答案:C D4:表的必备字段答案:A B D5:防止NPE答案:ACD5:Hashtable hashmap答案:ABD6:关于数据库是与否答案:BD7:关于count相关答案:A C D8:关于二方库依赖答案:A B C9:根据数据库表设计冗余答案: A C D多选1.关于多线程并行处理定时任务的情况,下列哪些说法符合《阿里巴巴Java开发手册》:BCDA .推荐使用Timer方式处理。

B .推荐使用ScheduledExecutorService方式处理。

C .Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行。

D .ScheduledExecutorService并发运行多个定时任务时,其中某线程抛出异常,不会影响到其它线程的继续运行。

————————————————多选2.在多线程并发读写的情况下,下列哪些处理方式能保证对象的线程安全:BCDA .使用volatile关键字。

B .使用synchronized关键字给对象的读写操作加锁。

C .如果是基本类型,推荐使用java.util.concurrent.atomic包下面提供的线程安全的基本类型包装类,例如AtomicInteger。

D .如果是集合,推荐使用java.util.concurrent提供的并发集合类,例如:ConcurrentHashMap。

备注:(volatile 解决多线程内存不可见问题。

对于一写多读,是可以解决变量同步问题,但是如果多写,同样无法解决线程安全问题。

) ————————————————多选6.关于线程池管理线程的好处,下列哪些说法是正确的:ACA .能够减少在创建和销毁线程上所花的时间以及系统资源的开销。

B .使用线程池一定能避免OOM问题。

C .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。

编码规范考试

编码规范考试

JAVA编码规范试题一.判断题(共20题 ,每题1分)1.()equals操作时常量放在equals操作符的左边和右边都可以。

false2.()函数的逻辑层次不能超过4层。

false3. ()对于switch语句下的case语句,必须在每个case分支结束前加上break 语句。

true4. ()修改代码同时修改相应的注释,以保证注释与代码的一致性。

不再有用的注释不要删除。

false5. ()方法内的单行注释使用//。

true6. ()类名和接口使用类意义完整的英文描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。

true7. ()方法名使用类意义完整的英文描述:第一个单词的字母使用大写、剩余单词首字母小写其余字母小写的大小写混合法。

false8. ()属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母小写其余字母大写的大小写混合法。

属性名不能与方法名相同。

false9.()常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用static final修饰。

true10. ()准确地确定成员函数的存取控制符号:只是该类内部调用的函数使用private 属性,继承类可以使用的使用protected属性,同包类可以调用的使用默认属性(不加属性控制符号),对外公开的函数使用public属性。

true11. ( )系统非正常运行产生的异常捕获后,如果不对该异常进行处理,则应该记录日志。

True12. ( )记录异常不要保存exception. toString (),而要记录exception. getMessage (),一般可通过日志工具记录完整的异常堆栈信息。

false13.( ) interface 中定义的常量不要写public、static、final的修饰词,方法不要写public修饰词。

True14.( )对Debug,Info级别日志输出前不需要对当前的调试等级先进行判断。

Apsara Clouder基础技能认证:阿里巴巴Java编码规范-试题及答案

Apsara Clouder基础技能认证:阿里巴巴Java编码规范-试题及答案

一、编程规约(一)命名风格多选关于Java的接口描述,下列哪些说法符合《阿里巴巴Java开发手册》:BCDA.在接口类中的方法和属性使用public修饰符B.对于Service类,内部的实现类加Impl的后缀与接口区别。

例如:ProductServiceImpl实现ProductService接口。

C.对于Service类,基于SOA的理念,是以接口方式暴露服务。

D.尽量不在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,而且是整个应用的基础常量。

多选关于变量、方法名、包的命名,下列哪些说法符合《阿里巴巴Java开发手册》:ABCD A.POJO类中的任何布尔类型的变量,都不要加is,因为部分框架解析时有可能会出现序列化错误。

B.包名统一使用单数形式,如:com.alibaba.mpp.util。

C.中括号是数组类型的一部分,数组定义如下:String[]args;不要误写为String args[];D.Service/DAO层方法命名可以参考规约,例如:删除的方法推荐使用remove或delete做前缀。

多选关于类命名,下列哪些说法符合《阿里巴巴Java开发手册》:ABCDA.抽象类命名使用Abstract或Base开头。

B.异常类命名使用Exception结尾。

C.测试类命名以它要测试的类的名称开始,以Test结尾。

D.如果使用到了设计模式,建议在类名中体现具体模式。

多选以下关于命名规约内容说明,正确的是:BCDEA.强制包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词,并且使用复数形式,例如:应用工具类包名为com.alibaba.mpp.utilsB.强制类名使用UpperCamelCase,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO/DTO/VO/DAO等。

C.强制抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。

编程规范试题及答案

编程规范试题及答案

编程规范试题及答案1. 以下哪项是命名变量时应该遵循的规范?A. 使用数字开头B. 使用下划线开头C. 使用驼峰命名法D. 使用中文字符答案:C2. 在编写函数时,以下哪项不是一个好的实践?A. 函数应该有明确的输入和输出B. 函数应该避免副作用C. 函数应该尽可能长D. 函数应该只做一件事情答案:C3. 以下关于代码注释的描述中,哪项是不正确的?A. 注释应该简洁明了B. 注释应该解释代码的目的和功能C. 注释应该用来代替代码D. 注释应该避免使用行尾注释答案:C4. 在团队协作中,以下哪项不是代码审查的目的?A. 确保代码符合项目规范B. 识别潜在的错误C. 提高代码的可读性D. 减少团队成员之间的沟通答案:D5. 在版本控制系统中,以下哪项不是提交代码时应该遵循的准则?A. 提交信息应该清晰描述变更内容B. 应该避免提交未完成的代码C. 应该频繁提交以保持代码的更新D. 提交前应该进行代码审查答案:C6. 以下关于代码格式化的描述中,哪项是错误的?A. 代码应该遵循一致的缩进规则B. 代码应该避免使用过多的空格C. 代码应该遵循项目约定的样式指南D. 代码格式化是个人偏好,不需要统一答案:D7. 在编写条件语句时,以下哪项不是一个好的实践?A. 使用清晰的条件表达式B. 避免使用嵌套的条件语句C. 条件语句应该尽可能短D. 条件语句应该包含多个条件答案:D8. 在编写循环语句时,以下哪项不是一个好的实践?A. 循环应该有一个明确的终止条件B. 循环体中应该避免修改循环变量C. 循环应该尽可能长D. 循环应该避免不必要的计算答案:C9. 在处理异常时,以下哪项不是一个好的实践?A. 捕获预期的异常B. 记录异常信息C. 忽略异常D. 处理异常后恢复程序的正常流程答案:C10. 在使用日志记录时,以下哪项不是一个好的实践?A. 使用日志级别来区分信息的重要性B. 记录关键操作的执行结果C. 在日志中记录敏感信息D. 定期清理旧的日志文件答案:C。

java编码规范方案考试题答案解析1.doc

java编码规范方案考试题答案解析1.doc

java编码规范方案考试题答案解析1.docjava编码规范方案考试题答案解析1一、单选题1. 如下关于集合类的描述错误的是BA. 含有集合意义的属性命名,尽量包含其复数的意义B. 集合中的数据不需要释放,垃圾回收器会自动回收C. 集合必须指定模板类型D. 使用集合类时要设置初始化容量2. 关于线程以下说法错误的有BA. 新起一个线程,都要使用Thread.setName(“…”)设置线程名B. 在JDK1.5或更新的版本中,若字符串拼接发生在单线程环境,使用StringBufferC. 对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题D. 线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起JVM资源耗尽3. 下面哪个是推荐使用的对称密码算法BA. DESB. AESC. SHAD. RSA4. 以下说法正确的有CA. 程序中的一些状态多直接用数字表示,如函数执行成功return 1B. 对于表示函数执行错误,多用约定的错误码来标识C. 用有意义的静态变量或者枚举来代替数字型的程序状态,如函数执行成功return SUCCESSD. 程序中的魔鬼数字并不可怕,需要所有开发人员努力理解这些数字的含义5. 下列错误使用异常的做法是DA. 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常B. 一个方法不应抛出太多类型的异常。

throws/exception子句标明的异常最好不要超过三个C. 异常捕获尽量不要直接catch (Exception ex),应该把异常细分处理D. 程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。

捕获异常后用exception.toString()取到详细信息后保存6. 关于命名规范,以下说法错误的有DA. 属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。

Java常见编码问题面试题解析与

Java常见编码问题面试题解析与

Java常见编码问题面试题解析与应对策略Java作为一种面向对象的编程语言,在实际开发中经常会遇到一些编码问题。

这些问题可能会对程序的性能、安全性以及可维护性产生重大影响。

本文将对一些常见的Java编码问题进行解析,并提供相应的解决方案。

1. 字符串编码问题:在Java中,字符串是以UTF-16编码进行存储的。

然而,当涉及到与外部系统交互时,可能会涉及不同的字符编码(如UTF-8、GBK 等)。

这可能会导致字符编码的混乱和乱码问题。

解决方案:- 在进行字符编码转换时,始终明确指定源编码和目标编码。

- 利用Java提供的字符编码工具类,如Charset,进行字符编码的转换。

- 在处理外部数据时,始终使用指定的字符编码进行转换,避免出现不可预知的错误。

2. 文件编码问题:Java在处理文件时,会使用平台默认的字符编码进行读写操作。

然而,这可能会导致在不同平台之间的文件编码不一致的问题,从而导致乱码或无法正常读写文件。

解决方案:- 明确指定文件的字符编码,避免使用默认字符编码。

- 在读取文件时,使用指定的字符编码进行解码;在写入文件时,使用指定的字符编码进行编码。

- 避免在不同平台之间直接复制或移动文件,以减少文件编码不一致的可能性。

3. URL编码问题:在网络传输中,URL中可能包含特殊字符或非ASCII字符。

为了确保URL的正确传输和解析,需要对URL进行编码和解码。

解决方案:- 在构建URL时,将URL中的特殊字符进行URL编码,以确保传输的正确性。

- 在接收URL时,需要进行URL解码,将URL中的编码字符还原为原始字符。

4. 数据库编码问题:在Java应用程序与数据库进行交互时,可能会涉及到数据库编码的问题。

如果Java应用程序与数据库使用了不同的字符编码,可能会导致乱码等问题。

解决方案:- 确保Java应用程序和数据库使用相同的字符编码。

- 在连接数据库时,设置连接的字符编码,以确保字符的正确传输。

JAVA编码规范考试

JAVA编码规范考试

JAVA编码规范考试您的姓名: [填空题] *_________________________________关于 hashCode 和 equals 的处理,说法正确的是 [单选题] *只要重写 equals,就必须重写 hashCode。

因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的对象必须重写这两个方法。

如果自定义对象作为 Map 的键,那么必须重写 hashCode 和 equals。

所有选项都是(正确答案)在JDK7版本及以上,Comparator实现类要满足()条件 [单选题] *x,y的比较结果和y,x的比较结果相反x>y,y>z,则x>zx=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所有选项都是(正确答案)下列哪个保留字与括号之间必须加空格 [单选题] *ifforwhile所有选项都是(正确答案)下列关于访问控制符的说法,错误的是 [单选题] *如果不允许外部直接通过new开创建对象,那么构造方法必须是private类 static 成员变量必须为public(正确答案)类成员方法只对继承类公开,那么限制为 protected工具类中不允许有public或default 的构造方法关于基本数据类型与包装类型的使用标准,说法错误的是 [单选题] *所有的POJO类属性必须使用包装数据类型RPC方法的返回值和参数必须使用包装数据类型RPC方法的返回值使用包装数据类型,参数使用基本数据类型(正确答案)所有的局部变量使用基本数据类型下列关于OOP规约,说法错误的是 [单选题] *应通过引用该类的对象来访问此类的静态变量或静态方法,避免使用类名直接访问(正确答案)覆写父类方法,必须加@Override注解外部正在调用或者二方依赖的接口,不允许修改方法签名。

78页超全阿里巴巴编码规范考题分析(78页试题)

78页超全阿里巴巴编码规范考题分析(78页试题)

1:关于变量答案:ABCD2:关于枚举答案:BC3:关于使用ibatis 答案:C D4:表的必备字段答案:A B D5:防止NPE答案:ACD答案:ABD6:关于数据库是与否答案:BD7:关于count相关答案:A C D8:关于二方库依赖答案:A B C9:根据数据库表设计冗余答案: A C D多选1.关于多线程并行处理定时任务的情况,下列哪些说法符合《阿里巴巴Java开发手册》:BCDA .推荐使用Timer方式处理。

B .推荐使用ScheduledExecutorService方式处理。

C .Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行。

D .ScheduledExecutorService并发运行多个定时任务时,其中某线程抛出异常,不会影响到其它线程的继续运行。

————————————————多选2.在多线程并发读写的情况下,下列哪些处理方式能保证对象的线程安全:BCDA .使用volatile关键字。

B .使用synchronized关键字给对象的读写操作加锁。

C .如果是基本类型,推荐使用java.util.concurrent.atomic包下面提供的线程安全的基本类型包装类,例如AtomicInteger。

D .如果是集合,推荐使用java.util.concurrent提供的并发集合类,例如:ConcurrentHashMap。

备注:(volatile 解决多线程内存不可见问题。

对于一写多读,是可以解决变量同步问题,但是如果多写,同样无法解决线程安全问题。

) ————————————————多选6.关于线程池管理线程的好处,下列哪些说法是正确的:ACA .能够减少在创建和销毁线程上所花的时间以及系统资源的开销。

B .使用线程池一定能避免OOM问题。

C .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。

D .线程池能够根据资源等待情况,自动调整线程优先级并解决死锁问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单选题1. 如下关于集合类的描述错误的是BA. 含有集合意义的属性命名,尽量包含其复数的意义B. 集合中的数据不需要释放,垃圾回收器会自动回收C. 集合必须指定模板类型D. 使用集合类时要设置初始化容量2. 关于线程以下说法错误的有BA. 新起一个线程,都要使用Thread.setName(“…”)设置线程名B. 在JDK1.5或更新的版本中,若字符串拼接发生在单线程环境,使用StringBufferC. 对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题D. 线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起JVM资源耗尽3. 下面哪个是推荐使用的对称密码算法BA. DESB. AESC. SHAD. RSA4. 以下说法正确的有CA. 程序中的一些状态多直接用数字表示,如函数执行成功return 1B. 对于表示函数执行错误,多用约定的错误码来标识C. 用有意义的静态变量或者枚举来代替数字型的程序状态,如函数执行成功return SUCCESSD. 程序中的魔鬼数字并不可怕,需要所有开发人员努力理解这些数字的含义5. 下列错误使用异常的做法是DA. 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常B. 一个方法不应抛出太多类型的异常。

throws/exception子句标明的异常最好不要超过三个C. 异常捕获尽量不要直接 catch (Exception ex),应该把异常细分处理D. 程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。

捕获异常后用exception.toString()取到详细信息后保存6. 关于命名规范,以下说法错误的有DA. 属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。

属性名不能与方法名相同B. 方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法C. 方法中,存取属性的方法采用setter 和 getter方法,动作方法采用动词和动宾结构D. 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 static 修饰[y1]7. 下列哪个场景可以使用java.util.Random类产生的随机数CA. 挑战算法中的随机数生成B. 验证码的随机数生成C. 随机选取路由D. Web应用会话标识符8. 一段使用ZipInputStream对压缩文件进行解压的代码,在[1]处填入适合的关键字是Apublic RandomAccessFile openFile(java.io.File f) {[1] java.io.File copy = new java.io.File(f.getPath());askUserPermission(copy.getPath());// ...return (RandomAccessFile)AccessController.doPrivileged(new PrivilegedAction () { public Object run() {return new RandomAccessFile(copy, copy.getPath());}});}A. finalB. staticC. volatileD. private9. 安全编程规范中,下面说法错误的是DA. 对外部输入进行校验B. 禁止不受信任的代码直接终止JVMC. 创建文件时指定合理的访问权限D. 记录日志时可以抛异常10. 若程序中需要获取操作系统登录用户名,应采取下列哪种方法来获取CA. 提示用户输入B. 由环境变量获取:System.getenv("USER")C. 由JVM属性获取:System.getProperty("")D. 启动程序的时候由程序参数传入11. 以下说法正确的是AA. 尽量使用Java 5.0新循环写法B. 判断一个变量是否等于null、或者一个常量,应把变量放在操作符的左边C. 方法参数不能超过7个D. 用“==”比较两个字符串内容相等12. 在下列哪个场景中,不需要加密和数字签名机制保证数据安全DA. 序列化传输敏感数据B. 无SSL传输通道或者代价太高C. 敏感数据需要持久化长久保存D. 同一信任域内组件间传递13. 下列JDK中的API调用中若使用不当易遭致OS命令注入的是BA. ng.System.load()B. ng.Runtime.exec()C. ng.Thread.start()D. ng.Process.waitFor()14. 如下描述不正确的是DA. 除了构建器外,不要使用和类名相同的方法名B. 使用 equals() 比较两个类的值是否相同C. 不要使用嵌套赋值,即在一个表达式中使用多个 =D. 重载 equals() 方法时,不必要重载 hashCode() 方法15. 下列不符合编码规范的是CA. 数据库、IO操作等需要使用结束close()的对象必须在try-catch-finally 的finally 中close()B. 数组声明的时候使用 int[] index ,而不要使用 int index[]C. 所有的类必须重载toString()方法,返回该类有意义的内容D. 自己抛出的异常必须要填写详细的描述信息16. 对于下面的代码片段,假设PasswordManager的实例可以被非信任代码所访问,且changePassword()方法调用属于敏感操作,则下列说法中不正确是的Cpublic class PasswordManager{public final Object lock = new Object();public void changePassword() throws FileNotFoundException{synchronized (lock){// . . .}}}A. changePassword()方法中应该包含安全管理器检查,以确认调用代码是否具有该操作权限B. 应该将lock成员变量的可见性声明为privateC. 可以省去changePassword()方法中的同步块,直接将changePassword()方法声明为synchronized修饰的同步方法D. changePassword()方法不应该抛出FileNotFoundException异常17. 推荐的防御SQL注入的最佳方式是CA. 限制外部输入的长度B. 使用存储过程C. 使用预编译语句--java.sql.PreparedStatementD. 对外部输入进行转义18. JAAS授权类中,不包含以下哪一类DA. PolicyB. AuthPermissionC. PrivateCredentialPermissionD. LoginContext19.下面说法或者语句不符合公司编程规范的排版要求的是DA. 逗号、分号只在后面加空格; 比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格; "!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格B. 如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在Java语言中括号已是最清晰的标志了C. 较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读D. if, for, do, while等语句的执行语句如果只有一行的话,不需要要加括号{}20. 对于注释的描述错误的是CA. 公有和保护方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、异常等B. 对重载父类的方法必须进行@Override声明C. 对关键变量的定义必须编写注释,分支语句(条件分支、循环语句等),可以根据实际情况,可以增加注释,也可以不加,根据注释量确定D. 对于方法内部用throw语句抛出的异常,必须在方法的注释中标明,对于所调用的其他方法所抛出的异常,选择主要的在注释中说明。

对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明二、多选题21. 如下类名符合公司规范的有CDA. FtpDownload_UtilB. DEBUGLOGC. OrderResponseD. UserManager22. 如下哪些地方应该加上空行ABDA. import语句与类定义之间B. 注释与其上面的无关的代码之间C. 注释和被注释的代码之间D. 变量说明之后23. 关于局部变量说法,符合编程规范的说法是ABCA. 不要定义不会被用到的局部变量,类私有属性,类私有方法和方法参数B. 几乎每一个局部变量的声明都应该包含一个初始化表达式C. 变量定义的“就近原则”D. 属性名可以和公有方法参数相同,也可以和局部变量相同24. 下列说法描述正确的是ABCDA. public方法参数的合法性检查应由方法本身负责,每一个public方法必须保证自己的健壮性B. 调用方法获取返回结果后必须进行有效性校验,以确保后续代码在运行过程中不会抛出异常或产生逻辑错误C. 访问数组、List等容器内的元素时,必须首先检查下标是否越界,杜绝下标越界异常的发生D. 对于if ? else if ?(后续可能有多个else if …)这种类型的条件判断,最后必须包含一个else分支,避免出现分支遗漏造成错误;每个switch-case语句都必须保证有default,避免出现分支遗漏,造成错误25. 下面关于存取控制符号的描述,符合编程规范的有ABCA. 只是该类内部调用的函数使用 private 属性B. 继承类可以使用的使用protected属性C. 对外公开的函数使用public属性D. 类的成员变量的尽量采用protected修饰,其他类可以通过类的成员方法来访问和修改变量26. 下列关于类和接口的注释,正确的说法有ABCA. 放在class或者interface关键字之前B. 放在import关键字之后C. 注释主要是一句话功能简述与功能详细描述D. 类注释使用“/****/”注释方式27. 以下说法正确的有ABCDA. 一个系统或者模块应该统一规划异常类型和返回码的含义B. 异常的处理效率比条件分支低C. 异常的跳转流程难以预测D. 系统非正常运行产生的异常捕获后,如果不对该异常进行处理,则应该记录日志28. 关于异常,以下说法正确的有ACA. 运行时异常使用RuntimeException的子类来表示,不用在可能抛出异常的方法声明上加throws子句B. 运行时异常使用RuntimeException的子类来表示,必须在可能抛出异常的方法声明上加throws子句C. 非运行期异常是从Exception继承而来的,必须在方法声明上加throws子句D. 非运行期异常是从Exception继承而来的,不需要在方法声明上加throws子句29. 下述排版代码中,符合编码规范的是CDA. if (i>j) doStart();B. Object o = new Object(); Object b = null;C. 类定义 { 类的公有属性定义类的保护属性定义类的私有属性定义类的公有方法定义类的保护方法定义类的私有方法定义 }D. typeCounter *= 2;30. 循环嵌套的时候,下面哪些情况需要尽量避免ABCDA. 实例化对象B. try/catchC. 开启IOD. 连接数据库31.当与非信任代码(非产品包)……..ACD32.以下哪些方式是被禁止的ABC33.当外部输入用于以下。

相关文档
最新文档