1.C

导入java.util.*不能读取其子目录的类,因为如果java.util里面有个a类,java.util.regex里面也有个a类,我们若是要调用a类的方法或属性时,应该使用哪个a类呢。所以也应该选C




2.A


编译器将Java源代码编译成字节码class文件


类加载到JVM里面后,执行引擎把字节码转为可执行代码


执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行。




3.A


protected 除了本包还可以是其他包的子类




4.D


八进制,以8为基数的算法,逢8进1.所以8在八进制就是010,前面那个0是为了和十进制区分用的,也叫转译符。


而且八进制0-7




5.B


B项,中间变量缓存机制。


等同于


temp = i;


i=i+1;


i=temp;


D项,y=(int)i




6.D


String x="fmn";  “fmn”是在常量池里的不可变对象。


x.toUpperCase();   在堆中new一个"FMN"对象,但无任何引用指向它。


String y=x.replace('f','F'); 在堆中 new一个"Fmn"对象,y指向它。


y=y+"wxy"; 在堆中 重新new一个"Fmnwxy"对象, 修改y指向,现在y指向它。




7.EG


在每个线程中都是顺序执行的,所以sl.printAll();必须在前三句执行之后执行,也就是输出的内容必有(连续或非连续的)ABC。


而线程之间是穿插执行的,所以一个线程执行 sl.printAll();之前可能有另一个线程执行了前三句的前几句。


E答案相当于线程1顺序执行完然后线程2顺序执行完。


G答案则是线程1执行完前三句add之后线程2插一脚执行了一句add然后线程1再执行 sl.printAll();输出ABCA。接着线程2顺序执行完输出ABCABC


输出加起来即为ABCAABCABC。




8.ACD


1 基本类型和基本类型变量被当作参数传递给方法时,是值传递。


在方法实体中,无法给原变量重新赋值,也无法改变它的值。


2 对象和引用型变量被当作参数传递给方法时,是引用传递。


在方法实体中,无法给原变量重新赋值,但是可以改变它所指向对象的属性。




9.A


start是启动线程对象,使之从新建状态转入就绪状态;sleep让线程睡眠一段时间,在此期间线程不消耗CPU资源;suspend使线程挂起,暂停执行, 如果想恢复线程,必须由其他线程调用 resume方法。



10.C


ResultSet结果集读取数据的方法主要是getXXX() ,他的参数可以使整型表示第几列(是从1开始的),还可以是列名。