还剩23页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
、下列说法错误的是1反射可以获取类的构造器A反射可获以通过进行方法的调用;B Method,invoke反射可以获取注解为信息;没有才有C@Target Runtimetarget Runtime,retention反射能够直接获取私有的成员的值;D getobjField答案D、下列程序执行结果说法正确的2public classTest{public staticvoid mainString[]args{ListString list=new ArrayList;;list.addstrr;Iist.add2,str2//;String str=list.getl;System.out.printlnstr;}}编译时出现异常;A正确运行,输出B strl;正确运行,输出C str2;运行时出现异常D答案D、下边这段代码的输出结果为3int fst=5;int snd=2;whilesndfst-{snd++;Count++;B private final Stringlock=LOCK;public voiddoSomething{synchronized lock{//..}}C Booleanislnitialized=Boolean.FALSE;public voiddoSomething{synchronizedislnitialized{//..}}D privateint count=0;Private final integer lock=count;public voiddoSomething{synchronized lock{lock++;}}答案A、以下命名风格正确的是27A enumGender{male,femalB classTest{private booleanisNotFount;}C classTest{private StringuserName;D classTest{private static finalintNUM_FIVE=5;答案c、如下代码执条结果是28public classFoo{public staticvoid mainString[]args{for float fit=float1000000000;flt1000000010;flt++{System.out.printlnflt;}}}A100000000010000000011000000002••••1000000010B
1000000000.0输出结果不确定c
29、以下代码片断输出的结果是:答案cPublic classDemo{Public staticvoid mainString[]args{Integer fst=1;Integer snd=new Integerl;System.out.printlnfst==snd;System.out.printlnnew Integerl==snd;System.out.printlnfst==Integer.valueOfl;Integer trd=256;System.out.printlntrd==lnteger.valueOf256;}}A false,false,true,falseB false,false,true,trueC false,false,false,falseD true,false,false,false答案A、关于遮掩,说法不正确的是30如果一个类或者一个包被遮掩了,那么不能通过其简单名引用到它,除非是这样一A个上下文环境中,即语法只允许在其名字空间中出现一种名字遮掩是唯一一种两个名字位于不同的名字空间的名字重用形式B一个变量不可以遮掩具有相同名字的一个类,即使它们都在同一个范围内;C如果这个名字被用于变量与类都被许可的范围,那么它将引用到变量上D答案C、以下描述错误的是31禁止使用主动除非在密码,等方面,尤其是在频繁/周期性的逻辑中A GCRMI将对象作为存入后,可以对该对象的任意属性进行赋值操作B keyhashMap进行操作时,应该在或者里关闭资源C10try-with-resource finally可以在循环之外的节点主动D GC答案B、标识出垃圾后,需要回收,有关回收的说法错误是32复制后,即把内存区域分成两个等分,区域与区域,都从区分内存,A copyfrom tofrom回收即是把区域还在使用的内存,到内存,•…,比较消耗内存;from copyto压缩重新整理达在使用的内存,一般做法是把还在使用的内存前移,填充回收B compact,空间,留下一大片连续的内存;压缩的问题是开销大;的机制会选择其中一种方法进行垃圾回收;机制用的是复制,但是是不是C JavaGC GC等分区域消除直接清除,方法简单,但是会造成内存碎片,给再分配造成不可抑制的麻D Sweep,烦;答案C、执行如下语句,最终会运行什么文件?33Runtime.getRuntimeO.execCtest.batnotepad.exe;仅运行并将作为的参数;A test.bat,notepad.exe test.bat仅运行B notepad.exe仅运行C test.bat运行和D test.bat notepad.exe答案D、中如何释放掉一个指定占据的内存空间,请选择34Java程序员无法明确强制垃圾回收器运行A调用方法B free赋值给该对象的引用为C null调用的方法D System.gc答案A、类加载表述正确的是35Java的签名校验依赖包里的公钥,因此不能使用来校验A URLCIassLoaderjar URLCIassLoaderjar的合法性;在中将不同的实例加载的同一个类视为相同的类;B JVMClassLoader开发者不可以自定义类加载器;C答案A、以下描述错误的是36A publicString getProductSummaryintindex{return products[index];该代码中未校验,可能相起数组越界访问indexB StringuserName=name;〃〃ResultSet rs=st.executeQuery/zselect*from userwhere name=+userName+;该代码可能会产生注入漏洞SQLC Runtime.getRuntime.exec/zcmd.exe/c dir+args[O];该代码可能会引起命令注入〃D Stringcommand=System.getProPerty commancT;Runtime.getRuntimeO.execCcommand;答案B、该代码可能会引起命令注入37OS以下代码可能导致命令注入的的有A StringencodelP=HWEncoder.encodeForOSnew WindowsCodec,args[O];〃String cmd=cmd.exe/c ping+encodelP;B ifPattern.matcheszz[0-9A-Za-z@]+,/dir{/〃Process proc=rt.execcmd.exec/c+dir;}C Filedir=new Fileargs[O];If Ivalidatedir{System.out.printlnzzAn illegaldirectory;D Processorproc=rt.execzzcmd.exe/c dir+args
[0];答案D、关于异常的说法错误的是38异常泄露时可能造成开放端口列举A BindException当异常被传递到信任边界以外时,必须同时对敏感的异常消息和敏感的异常类型进行过B滤会透露文件系统的结构信息,使得攻击者可以不断传入伪造的路C FileNotFoundException径名称来重现出底层文件系统结构;可以在代码最外层捕获防止代码出现预期之外的行为D NullPointException答案D、下面关于异常处理的描述错误的是39有可能会泄露敏感信息,但是A FileNotFoundExceptionOutOfMemoryError SQLException不属于敏感异常JarException对于调用开源三方件,三方件中抛出异常时可以捕获B NullPointerException并对该异常进行处理NullPointerException,输入校验是一个常用的防止通过异常泄露敏感信息的方式;C必须做好日志的访问控制,防止日志被任意访问,导致信息泄露给非授权用户D答案A、关于锁的说法错误的是40封包过对象不适合作为锁使用是因为在一段范围内相同的值会共享同一个实例A Integer使用出来的实例作为对象的内置锁可能导致死锁B newInteger在虚拟机中,调用方法的类似一个全局变量,使用方法返回C Javaintern Stringintern的做锁对象可能会导致死锁;String类型不适合作为锁使用,因为只有两个值和相同的值在D BooleanBoolean truefalse,Java虚拟机中共享同一个实例答案B状态变量不包括41Java10Buffer最大容量A capacity读写状态位Bflag当前已经读到的字节数C position剩下的字节数D limit答案B、正则表达式[八」与以下哪个表达式等价42A-Za-zO-9A\tB\d「」C\W=A-Za-zO-9D\v」E\w=[A-Za-zO-9答案c、关于和以下描述错误的一项是43sleep wait,不释放对象锁,放弃对象锁;A sleepwait暂停线程,但监控状态仍然保持,结束后会自动恢复;B sleep后进入等待锁定池,只有针对此对象发出方法后获得对象锁进入运行状态;C waitnotify不一定会进入运行状态,需要获取锁才能进入是线程类的方法,是类的方法D sleepThread waitObject答案C、关于多线程并发如下说法正确的是44对多个资源、数据库表、对象同时加锁,需要保持一致的加锁顺序,否则可能导致死锁A能用无锁数据结构,就不要用锁B能用对象锁,就不要用类锁C能锁区块,就不要锁方法体D答案ABCD、方法与相关联的方法可以用来调用外部程45Runtime.exec ProcessBuilder.start序进程,这些外部程序运行时对象会产生哪些流Process错误流A监控流B输出流C输入流D答案ACD、属性保存的是敏感信息,则以下代码中序列化没有安全问题的是46from toA.public classGpsLocation implementsSerializable{private double from;private double to;private Stringid;//non-sensitive field//other contentB.public classGpsLocation implementsSerializable{private double from;private double to;private Stringid;//non-sensitive field//other contentprivate staticfinalObjectStreamField[]serialPersistentFields={newObjectStreamFieldid,String.class};C.public classGpsLocation implementsSerializable{private volatiledoublefrom;private volatiledoubleto;private Stringid;//non-sensitive field//other contentD.public classGpsLocation implementsSerializable{private transientdoublefrom;private transientdoubleto;private Stringid;//non-sensitive field//other content答案BD、下列单例实现正确的是47A.public final class Helper{public Helper{}}final classFoo{private Helper helper=null;public HelpergetHelper{ifhelper==null{synchronized this{ifhelper==null{helper=new Helper;}return helper;B.public final class Helper{private finalint n;public Helperint n{this.n=n;final classFoo{private Helperhelper=null;public HelpergetHelper{Helperh=helper;if h==null{synchronized this{h=helper;if h==null{h=new Helper42;helper=h;}return h;C.public finalclass Helper{private finalintn;public Helperintn{this.n=n;finalclassFoo{private Helperhelper=null;System.out.printsnd;A5B2C3D4答案D、下列程序的输出结果为4int num=2;switchnum{case1:System.out.printlnzzThe inputis1;case2:System.out.printlnThe inputis2;case3:System.out.printlnz/The inputis3;default:System.out.println/zBad input;AThe inputis2The inputis3BThe inputis1CThe inputis2DThe inputis2public HelpergetHelper{if helper==null{synchronized this{if helper==null{helper=new Helper42;}return helper;}D.public finalclass Helper{public Helper{finalclassFoo{privatestaticclass Holder{static Helperhelper=new Helper;public Helpergetlnstance{return Holder.helper;答案BD
48、有关线程池关闭说明正确的有执行方法后,不能再往线程池中添加任务,线程池不会立即退出,指导A.shutdownNow线程池中等待的任务全部处理完执行方法后,不能再往线程池中添加任务,线程池中之前提交的等待的任务B.shutdown不再执行,线程池立即退出执行方法中,不能再往线程池中添加任务,线程池中等待的任务会继续被处C.shutdown理,线程池直到所有的任务处理完成才会退出执行方法后,不能能再往线程池中添加任务,线程池视图停止所有正在D.shutdownNow执行的线程,不再处理池中等待的任务答案CD、哪些是同步的?49A.TreeSetB.HashTableC.VectorD.LinkedList答案BC、已知如下代码50public staticvoid mainString[]args{int nr=5;do{System.out.printnr}while-nr5;System.out.printfinished;执行后的输出包含什么?A.5B.4C.finishedD.6答案AC、正则表达式可以匹配51A*BA.ACDB.AABC.AD.AB答案BD、关于的描述,正确的是?52File实例不能用于封装目录只用于封装文件A.File创建一个类的实例将导致打开指定文件进行读写B.File实例封装了指定文件的信息C.File类位于包中D.File jav.io答案CD、关于主动调用方法的描述,下列说法正确的是53gc在频率/周期性的逻辑中更要尽量避免主动的调用A.GC.在过程中的某些阶段程序会完全停顿,这会让程序失去响应,对系统造成非常B GC大的风险调用主动方法后,系统立即进行垃圾回收操作C.GC如果触发了的全量操作,会增加的次数,也就增加了程序因为而停D.JVM GCgc GC顿的时间答案ABD、语言中,如果编写一个多线程程序,可以使用的方法是54Java扩展类A.Thread实现接口B.Runnable实现接口C.Thread扩展类D.Runnable答案AB、类加载器说法正确的是55负责加载目目录下的包和类,或A.ExtensionClassLoader^%JRE_H0ME%/lib/ext jar者系统变量所指定的路径下的包jar负责加载当前应用下的所有包和类B.AppCIassLoader classpathjar负责加载%必丫人_^他目录下的包和类或者或被-C.BootstrapCIassLoader101\/^%/jar参数指定的路径中的所有类Xbootclasspath者继承自D.BootstrapCIassLoader/ExtensionClassLoader/AppCIassLoader B答案ABC、关于异常,下列说法正确的是56如果多种具体异常可以用同一个处理逻辑,可以通过捕获基类来减少重A.Exception复代码方法抛出的异常,应该与本身的抽象层次相对应B.对可容错处理的情况使用受检异常,对编程错误使用运行时异常C.一个方法不应抛出超过个异常,并在的@仆「标签中年记录每个抛D.5Javadoc0\/\/5出的异常及其条件答案BCDThe inputis3Bad input答案D、关于代码格式如下说法错误的是5一个源文件按顺序包含版本、、、顶层、且用空行分隔;A packageimport对于非空块和块状结构,左大括号放在行尾;B空行不是代码,所以代码中多写几个空行没有关系;C一个类或接口的声明部分应当按照类变、实例变量,构造器,方法的顺序出现,且D用空行分隔;答案c、哪个异常可能会泄露文件系统结构信息6C java.util.MissResourceException答案A
7、有关ORM的说法错误的是的缓存机制可以提高数据操作性能没有缓存机制;有级A ORMHibernate hibernate1缓存和级缓存2依赖于和B ORMJDBC DataSource;有多种实现,主流的与C ORMMybatis Hibernate;、对象关系转换,即数据库的单条数据与对应之间的映射;DORM Java答案A、下列对于的操作错误的是8Stream,,,,A finalStreamString stream=Steam.of/zRed7Blue7Green,/;ListString colors=stream.collectionCollector.toList;B IntStreamstream IntStream.0^10,20,30,40,50;C longcount=Stream.of.count;,,,,D finalStreamString stream=Stream.ofz/Red7Blue7Green/z;SetString colors=Stream.toSet;答案D、下列关于类提供的线程控制方法的说法中,错误的是9Thread方法返回当前线程的引用A currentThread线程通过调用方法来中断其阻塞状态B Ainterrupt线程中执行线程的方法,则线程等待直到执行完成C A B joinAB若线程调用方法返回值为则说明正在执行中,也可能是可运行状D AisAlive false,A态;为的时候,才是就绪态或运行态不是执行中isAlive turefalse答案D、某业务会在运行过程中在系统中创建转储文件,当文件数量达到预定阈10linux值时会将最老的文件删除,该业务在某些场下会读取转储文件,下列说法错误的时创建转储文件时应当限制文件大小,不能创建超过业务进程承载能力的大文件A转储文件中如果有敏感数据,则必须进行匿名化处理,或者是对转储文件进行签名B和加密转储文件时如果会生成临时文件,需要保证在使用完毕后立即删除;C结合业务分析,该场景下的转储文件需要支持当前业务进行读写,所以转储文件的D权限最好配置为640答案D、若一个实现了接口的类中包含有敏感信息字段,为了防止该类对象被11Serializable序序列化时导致敏感信息泄露,可以使用下面哪个关键字A privateBstaticC volatileDtransient答案D
12、Java的基本类型的int在不同的操作系统平台的字长是位A32位B64位C16在位系统上是位,在位系统上是位类型在不同的操作系统才有D32326464//long区别答案A、下列赋值表达式不会报错的是13A boolean isStop=true;//booleanisStop=trueB floatfit=
3.1;//floatfit=
3.If;C int num=
1.0;//int num=1D charch=1;答案D、如下代码片段,的结果是哪项14SI0String str=123;String s2=str+456;编译错误AB123456运行时抛异常cD579答案B、编译并运行如下程序,将输出15Javapublic staticvoid mainString[]args{tryint numl=2;intnum2=0;int result=numl/num2;System.out.printlnresult;}catch ArraylndexOutOfBoundsExceptione{System.out.printlnzzr,;}catch NumberFormatExceptione{;System.out.printlnz2z,}catch Exceptione{System.out.println3;}finally{System.out.printlnC^;〃;System,out.println5}A345B134C2345D1345答案A、在的异常处理中,用户自定义的异常类一般应该是的子类16JAVAA ErrorBExceptionC RuntimeExceptionDThrowable答案B、集合中的接口的特点是哪些?17API Set允许重复元素,元素无顺序A允许重复无素,元素有顺序B不允许重复元素,元素有顺序C不允许重复元素,元素无顺序D答案D、下列操作有关操作错误的是18MapA Maplnteger,String cityMap=new HashMap{putl,Nanjing;put2,Beijing;put3,Shanghai;}}B forMap.Entrylnteger,String city:cityMap.entrySet{System.out.printlncity.getValue;}C Maplnteger,String cityMap=new HashMap;cityMap.put4,null;D Maplnteger,String unmodifiableMap=Collections.unmodifiableMapcityMap;unmodifiableMap.clear;答案D、有关泛型,下面说法错误的是19约束类型上限,如表示方法参数A extendspublic Textends Numberint addT nl,T n2;必须是的子类型;NumberB ListNumbernumList=new ArrayList;Listlnteger intList=new ArrayList;因为是的子类,所以可以赋值给Integer NumberintList numberList对于同一个类,可以使用不同的泛型参数类型声明类型和方法;C泛型定义时,一般使用等大写字母表示泛化类型,这是类型的参考;当实例化D E/T时,使用具体的类型替代,这是实参答案B、关于的叙述错误的是20synchronized占用锁的线程在调用后,会自动释放线程占有的锁A wait是层面控制线程同步B sychronizedJVM占用锁的线程在发生异常,会自动释放线程占用的锁C可用于处理读写互斥,读读不互斥的操作场景D synchronized答案D、下面的程序创建了一个文件输出流对象,用来向向文件中输出数据21test.txt假设程序当前运行目录下不存在文件编译后执行结果为test.txt,import java.io.*;public classTest{public staticvoid mainString[]args{try{〃〃;String str=ABCDEbyte[]bs=str.getBytesStandardCharsets.UTF_8;FileOutputStream file=new FileOutputStreamzztest.txt,,true;/file.writebs;file.close;}catchIOException e{System.out.printlne.toStringO;}}AABCABCB TestCABCDEABCDEABCDEDABCDE答案D、非整数的匹配,下列正则表达式正确的是220八A[0-9]*$B A0|[l-9][0-9]*$C A[l-9][0-9]*$D0|[l-9][0-9]*答案c、有关类加载器的双亲委派模型说法错误的时23类加载器之间是有层次结构A加载不到类,会抛出B ClassNotFoundException;如果一个类加载器收到了类加载请求,先检查自己能不能加载,如果不能,向父加C载器申请;如果一个类加载器收到了类加载请求,先看父加载器能不能加载,一直如此到顶端D加载器,顶端类加载器可以加载,则返回,如果不行本类加载器加载答案:C、对于的方法的功能,描述正确的是24PreparedStatement setlntintidxjnt val使得第个参数的值设为A idxval使得第个参数的值设为B idx-1val使得第个参数的值设为C val-1idx使得第个参数的值设为D validx答案A、有关说法错误的是25NIO Selector可以设定的监听事件,包括A SelectorConnect/Accept/Read/Write;需要与配合使用,是的复用器;B SelectorChannel SelectorChannel本身不是一个文件,不用C SelectorClose等事件就绪后,才会返回,避免了大量阻塞;D Selector10答案C、下面锁用的正确的是26A privateint count=0;privatefinalInteger lock=new Integercount;public voiddoSomething{Synchronized lock{。
个人认证
优秀文档
获得点赞 0