赞
踩
1.编译 Java 源程序文件产生的字节码文件的扩展名为()
正确答案: B 你的答案: B (正确)
java
class
html
exe
解:
java源文件的后缀名是.java。源文件通过jvm虚拟机编译后会生成二进制字节码文件,后缀是.class
2.假定AB为一个类,则执行 “AB ab = new AB(a,5);”语句时将自动调用该类的( )。
正确答案: A 你的答案: A (正确)
带参构造函数
无参构造函数
拷贝构造函数
重载赋值运算
解:
AB ab = new AB(a,5);其实这就是一个类的实例化问题,ab是类AB实例,new一个类的时候就是调用构造方法,而题目中构造方法带参数,可知调用的是带参的构造方法。a和5只是AB类的2个参数
3.Java Application 源程序的主类是指包含有( )方法的类。
正确答案: A 你的答案: A (正确)
public static void main方法
toString方法
init方法
actionPerfromed方法
4.Java中基本的编程单元为:
正确答案: A 你的答案: A (正确)
类
函数
变量
数据
解:
java的基本编程单元是类,基本存储单元是变量。
5.关于下面程序 ThisTest .java 运行结果 说法正确的是 : ( )
public class ThisTest {
public static void main(String args[]) {
String x="7";
int y = 2;
int z=2;
System.out.println(x+y+z);
}
}
正确答案: B 你的答案: B (正确)
11
722
22
程序有编译错误
解:
+号两边如果有一边为字符类型 则为字符串连接
如果变为y+z+x 则等价于xyz 输出722
6.在面向对象编程里,经常使用is-a来说明对象之间的继承关系,下列对象中不具备继承关系的是?()
正确答案: D 你的答案: D (正确)
手机与小米手机
企业家与雷军
编程语言与Java
中国与北京
解:
类之间存在以下几种常见的关系
use-a 是依赖关系
has-a 一般是组合关系
is-a 一般是继承关系
7.执行下列程序的输出结果为( )
public class Test {
public static void main(String[] args) {
String s1 = "HelloWorld";
String s2 = new String("HelloWorld");
if (s1 == s2) {
System.out.println("s1 == s2");
} else {
System.out.println("s1 != s2");
}
if (s1.equals(s2)) {
System.out.println("s1 equals s2");
} else {
System.out.println("s1 not equals s2");
}
}
}
正确答案: D 你的答案: D (正确)
s1 ==s2
s1 not equals s2
s1 == s2
s1 equals s2
s1 != s2
s1 not equals s2
s1 != s2
s1 equals s2
解:
1.== 和 equals():
(1)==用于比较基本数据类型时比较的是值,用于比较引用类型时比较的是引用指向的地址。
(2)Object 中的equals() 与 “==” 的作用相同,但String类重写了equals()方法,比较的是对象中的内容。
8.正则表达式语法中 \d 匹配的是?()
正确答案: A 你的答案: A (正确)
数字
非数字
字母
空白字符
解:
\d 匹配一个数字字符。等价于 [0-9]。
\D 匹配一个非数字字符。等价于 [^0-9]。
\f 匹配一个换页符。等价于 \x0c 和 \cL。
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\r 匹配一个回车符。等价于 \x0d 和 \cM。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t 匹配一个制表符。等价于 \x09 和 \cI。
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。
\w 匹配字母、数字、下划线。等价于’[A-Za-z0-9_]’。
\W 匹配非字母、数字、下划线。等价于 ‘[^A-Za-z0-9_]’。
9.关于Float,下列说法错误的是()
正确答案: C 你的答案: C (正确)
Float是一个类
Float在java.lang包中
Float a=1.0是正确的赋值方法
Float a= new Float(1.0)是正确的赋值方法
解:
Float是类,float不是类.
Byte,Character,Short,Integer,Long,Float,Double,Boolean都在java.lang包中.
Float正确复制方式是Float f=1.0f,若不加f会被识别成double型,double无法向float隐式转换.
Float a= new Float(1.0)是正确的赋值方法
10.以下程序的执行结果是:
static boolean foo(char c)
{
System.out.print(c);
return true;
}
public static void main(String[] args) {
int i =0;
for(foo('A');foo('B')&&(i<2);foo('C'))
{
i++;
foo('D');
}
}
正确答案: A 你的答案: A (正确)
ABDCBDCB
ABCDABCD
编译时出错
运行时抛出异常
解:
for(1循环开始条件;2判断条件;4循环步长件)
3循环体
按照执行顺序依次执行
11.protected访问权限要小于包访问权限。( )
正确答案: B 你的答案: B (正确)
正确
错误
解:
12.以下代码的输出的正确结果是
public class Test {
public static void main(String args[]) {
String s = "祝你考出好成绩!";
System.out.println(s.length());
}
}
正确答案: D 你的答案: C (错误)
24
16
15
8
解:
length() 方法返回的就是字符串的长度,
如果想获得占用字节数的话,可以用 s.getBytes(“GBK”).length,最后一个不是空格,是中文下面的 “!”,结果就是 16 了。
13.关于抽象类与最终类,下列说法错误的是?
正确答案: D 你的答案: D (正确)
抽象类能被继承,最终类只能被实例化。
抽象类和最终类都可以被声明使用
抽象类中可以没有抽象方法,最终类中可以没有最终方法
抽象类和最终类被继承时,方法可以被子类覆盖
解:
最终类就是被final修饰的类,最终方法就是被final修饰的方法。最终类不能被继承,最终方法不能被重写。
.
14. 对于abstract声明的类,下面说法正确的是
正确答案: E 你的答案: D (错误)
可以实例化
不可以被继承
子类为abstract
只能被继承
可以被抽象类继承
解:
A,抽象类不能实例化,因为有抽象方法未实现
B,可以被继承。派生类可以实现抽象方法
C,子类可以是抽象的,也可以非抽象的
D,只能被继承说法太肯定,不正确
E,可以被抽象类继承,也可以被非抽象类继承
15.java中下面哪个能创建并启动线程()
public class MyRunnable implements Runnable {
public void run() {
//some code here
}
}
正确答案: C 你的答案: A (错误)
new Runnable(MyRunnable).start()
new Thread(MyRunnable).run()
new Thread(new MyRunnable()).start()
new MyRunnable().start()
解:
创建并启动线程的过程为:定义线程—》实例化线程—》启动线程。
16.下面有关java基本类型的默认值和取值范围,说法错误的是?
正确答案: C 你的答案: C (正确)
字节型的类型默认值是0,取值范围是-27—27-1
boolean类型默认值是false,取值范围是true\false
字符型类型默认是0,取值范围是-2^15 —2^15-1
long类型默认是0,取值范围是-263—263-1
解:
字节型 : 0 -27– -27-1 byte b=10;
字符型 : ‘ \u0000′ 0— -2^16-1 char c=’c’ ;
short : 0 -215— -215-1 short s=10;
int : 0 -231— -231-1 int i=10;
long : 0 -263— -263-1 long o=10L;
float : 0.0f -231— -231-1 float f=10.0F
double : 0.0d -263— -263-1 double d=10.0;
boolean: false true\false boolean flag=true;
17.下面哪种流可以用于字符输入:
正确答案: C 你的答案: C (正确)
java.io.inputStream
java.io.outputStream
java.io.inputStreamReader
java.io.outputStreamReader
解:
首先B和D排除,题目是要求输入。
A和C之间,inputStream是字节流输入流;而inputStreamReader是对字符流的处理,inputStreamReader将字符流处理成字节流,题目要求是用于处理字符输入c
18.下列哪个选项是正确计算42度(角度)的余弦值?
正确答案: C 你的答案: A (错误)
double d=Math.cos(42)
double d=Math.cosine(42)
double d=Math.cos(Math.toRadians(42))
double d=Math.cos(Math.toDegrees(42))
解:
Math.cos为计算弧度的余弦值,Math.toRadians函数讲角度转换为弧度
19.Given the following code:
public class Test {
private static int j = 0;
private static Boolean methodB(int k) {
j += k;
return true;
}
public static void methodA(int i) {
boolean b;
b = i < 10 | methodB(4);
b = i < 10 || methodB(8);
}
public static void main(String args[]) {
methodA(0);
System.out.println(j);
}
}
What is the result?
正确答案: B 你的答案: B (正确)
The program prints”0”
The program prints”4”
The program prints”8”
The program prints”12”
The code does not complete.
解:
在main函数中先调用methodA(0)
在methodA中,第二行
1
b = i < 10 | methodB(4); //中间为与计算符,执行完methodB(4)后,j = 4
methodA中,第三行
1
b = i < 10 || methodB(8);//中间为或计算符,因为i < 10 已成立,不需要后续计算
所以最后结果输出为4
20.表达式(short)10/10.2*2运算后结果是什么类型?
正确答案: C 你的答案: C (正确)
short
int
double
float
解:
注意是(short)10/10.22,而不是(short) (10/10.22),强制类型转换的优先级高于+ - * /,前者只是把10强转为short,又由于式子中存在浮点数,所以会对结果值进行一个自动类型的提升,浮点数默认为double,所以答案是double;后者是把计算完之后值强转short。
21
根据以下代码段,下列说法中正确的是( )。
public class Parent {
private void m1(){}
void m2(){}
protected void m3(){}
public static void m4(){}
}
正确答案: C 你的答案: D (错误)
子类中一定能够继承和覆盖Parent类的m1方法
子类中一定能够继承和覆盖Parent类的m2方法
子类中一定能够继承和覆盖Parent类的m3方法
子类中一定能够继承和覆盖Parent类的m4方法
解:
通过继承,子类可以拥有所有父类对其可见的方法和域
A.私有方法只能在本类中可见,故不能继承,A错误
B.缺省访问修饰符只在本包中可见,在外包中不可见,B错误
C.保护修饰符凡是继承自该类的子类都能访问,当然可被继承覆盖;C正确
D.static修饰的成员属于类成员,父类字段或方法只能被子类同名字段或方法遮蔽,不能被继承覆盖,D错误
22.对于子类的构造函数说明,下列叙述中错误的是( )。
正确答案: D 你的答案: A (错误)
子类不能继承父类的无参构造函数。
子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
在创建子类的对象时,若不含带参构造函数,将先执行父类的无参构造函数,然后再执行自己的无参构造函数。
子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
解:
构造函数不能被继承,构造方法只能被显式或隐式的调用
23.以下哪个式子有可能在某个进制下成立()?
正确答案: A 你的答案: B (错误)
1314=204
1234=568
14*14=140
1+1=3
24.在Struts框架中如果要使用Validation作验证的话,需要使用以下哪个Form?
正确答案: D 你的答案: B (错误)
ActionForm
ValidatorActionForm
ValidatorForm
DynaValidatorActionForm
解:
DynaValidatorActionForm 动态验证表单
Validation 确认的意思
25.下面哪些接口直接继承自Collection接口()
正确答案: A C 你的答案: A B (错误)
List
Map
Set
Iterator
解:
26.java中关于继承的描述正确的是()
正确答案: A C D 你的答案: A B (错误)
一个子类只能继承一个父类
子类可以继承父类的构造方法
继承具有传递性
父类一般具有通用性,子类更具体
解:
在java中,子类构造器会默认调用super()(无论构造器中是否写有super()),用于初始化父类成员,同时当父类中存在有参构造器时,必须提供无参构造器,子类构造器中并不会自动继承有参构造器,仍然默认调用super(),使用无参构造器。因此,一个类想要被继承必须提供无参构造器。
27.Gadget has-a Sprocket and Gadget has-a Spring and Gadget is-a Widget and Widget has-a
Sprocket 以下哪两段代码可以表示这个关系? (选择两项) ( )
正确答案: A C 你的答案: B D (错误)
class Widget { Sprocket s; }
class Gadget extends Widget { Spring s; }
class Widget { }
class Gadget extends Widget { Spring s1; Sprocket s2; }
class Widget { Sprocket s1; Spring s2; }
class Gadget extends Widget { }
class Gadget { Spring s; }
class Widget extends Gadget{ Sprocket s; }
解:
is-a 表示继承:Gadget is-a Widget就表示Gadget 继承 Widget;
has-a表示从属:Gadget has-a Sprocket就表示Gadget中有Sprocket的引用,Sprocket是Gadget的组成部分;
like-a表示组合:如果A like-a B,那么B就是A的接口
28.下面有关java threadlocal说法正确的有?
正确答案: A B C D 你的答案: B D (错误)
ThreadLocal存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递
从线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收
在Thread类中有一个Map,用于存储每一个线程的变量的副本
对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式
解:
ThreadLocal类用于创建一个线程本地变量
在Thread中有一个成员变量ThreadLocals,该变量的类型是ThreadLocalMap,也就是一个Map,它的键是threadLocal,值为就是变量的副本。通过ThreadLocal的get()方法可以获取该线程变量的本地副本,在get方法之前要先set,否则就要重写initialValue()方法。ThreadLocal的缺点时占用了较多的空间。
29.以下哪些jvm的垃圾回收方式采用的是复制算法回收
正确答案: A D 你的答案: A D (正确)
新生代串行收集器
老年代串行收集器
并行收集器
新生代并行回收收集器
老年代并行回收收集器
cms收集器
解:
两个最基本的java回收算法:复制算法和标记清理算法
复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B。此为新生代最常用的算法
标记清理:一块区域,标记可达对象(可达性分析),然后回收不可达对象,会出现碎片,那么引出
标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象
两个概念:新生代和年老代
新生代:初始对象,生命周期短的
永久代:长时间存在的对象
整个java的垃圾回收是新生代和年老代的协作,这种叫做分代回收。
例子:Serial New收集器是针对新生代的收集器,采用的是复制算法
Parallel New(并行)收集器,新生代采用复制算法,老年代采用标记整理
Parallel Scavenge(并行)收集器,针对新生代,采用复制收集算法
Serial Old(串行)收集器,新生代采用复制,老年代采用标记整理
Parallel Old(并行)收集器,针对老年代,标记整理
CMS收集器,基于标记清理
G1收集器:整体上是基于标记 整理 ,局部采用复制
30.下列代码片段中,存在编译错误的语句是()
byte b1=1,b2=2,b3,b6,b8;
final byte b4=4,b5=6,b7;
b3=(b1+b2); /*语句1*/
b6=b4+b5; /*语句2*/
b8=(b1+b4); /*语句3*/
b7=(b2+b5); /*语句4*/
System.out.println(b3+b6);
正确答案: B C D 你的答案: D (错误)
语句2
语句1
语句3
语句4
解:
语句1错误:b3=(b1+b2);自动转为int,所以正确写法为b3=(byte)(b1+b2);或者将b3定义为int;
语句2正确:b6=b4+b5;b4、b5为final类型,不会自动提升,所以和的类型视左边变量类型而定,即b6可以是任意数值类型;
语句3错误:b8=(b1+b4);虽然b4不会自动提升,但b1仍会自动提升,所以结果需要强转,b8=(byte)(b1+b4);
语句4错误:b7=(b2+b5); 同上。同时注意b7是final修饰,即只可赋值一次,便不可再改变。
1.在 Java 中,存放字符串常量的对象属于( )类对象。
正确答案: B 你的答案: B (正确)
Character
String
StringBuffer
Vector
解:
Character 字符封装类
String 常量池中字符串
StringBuffer 存放字符数组
Vector 数组
2.以下程序的运行结果是()
public class Increment
{
public static void main(String args[])
{
int a;
a = 6;
System.out.print(a);
System.out.print(a++);
System.out.print(a);
}
}
正确答案: B 你的答案: B (正确)
666
667
677
676
解:
a++表示先用后+,而++a表示先+后用
3.若有下列定义,下列哪个表达式返回false?
String s = “hello”;
String t = “hello”;
char c[] = {‘h’,‘e’,‘l’,‘l’,‘o’} ;
正确答案: B 你的答案: B (正确)
s.equals(t);
t.equals©;
s==t;
t.equals(new String(“hello”));
解:
A、D选项是对字符串内容的比较
C选项是对引用地址的比较
4.命令javac-d参数的用途是?()
正确答案: A 你的答案: A(正确)
指定编译后类层次的根目录
指定编译时需要依赖类的路径
指定编译时的编码
没有这一个参数
解:
-d destination 目的地
-s source 起源地
javac -d 指定放置生成的类文件的位置
javac -s 指定放置生成的源文件的位置
5.Which of the following can be applied to constructors:
正确答案: E 你的答案: C (错误)
final
static
synchronized
native
None of these.
解:
构造方法不能被子类继承,所以用final修饰没有意义。构造方法用于创建一个新的对象,不能作为类的静态方法,所以用static修饰没有意义。此外,Java语言不支持native或synchronized的构造方法。
6.下面关于JAVA的垃圾回收机制,正确的是( )
正确答案: B 你的答案: A (错误)
当调用“System.gc()”来强制回收时,系统会立即回收垃圾
垃圾回收不能确定具体的回收时间
程序可明确地标识某个局部变量的引用不再被使用
程序可以显式地立即释放对象占有的内存
解:
java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的。当对象的引用变量被赋值为null,可能被当成垃圾。
7.某程序要求每次输入只能是正整数,并且每次输入的数值要求必须是100的倍数且小于等于500,则下列哪个是正确的无效等价类( )
正确答案: D 你的答案: B (错误)
(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);
(500,+∞)
(500,+∞)、任意大于0小于500的非100倍数的整数;
(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);
解:
无效等价类和有效等价类相反,即不满足程序输入要求或者无效的输入数据构成的集合。
按无效等价类的定义来说,
题目要求输入什么,无效等价类就应该是反着的。
题目要求正整数,那么无效等价类就应该包含负数
8.下列哪一项的实现不可以添加为 TextField 对象的监听器()
正确答案: C 你的答案: C (正确)
MouseMotionListener
FocusListener
WindowsListener
ActionListener
解:
在单行文本输入区(Textfield)构件上可能发生的事件包括FocusEvent焦点事件,所对应的事件是FocusListener;ActionEvent动作事件,所对应的事件是ActionListener;MouseEvent鼠标事件,所对应的事件***是MouseMotionListener;
9.以下代码将打印出
public static void main (String[] args) {
String classFile = "com.jd.". replaceAll(".", "/") + "MyClass.class";
System.out.println(classFile);
}
正确答案: C 你的答案: B (错误)
com. jd
com/jd/MyClass.class
///MyClass.class
com.jd.MyClass
解:
由于replaceAll方法的第一个参数是一个正则表达式,而"."在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成"/"。如果想替换的只是".",那么久要写成"\.".
10.int,String,*point,union哪些不是 Java 的数据类型?
正确答案: C D 你的答案: C D (正确)
int
String
*point
union
解:
string是C++中定义字符串的类型,java中是String类
*point是指针,java中没有这种类型
union是C系的类型
11.关于Java和C/C++的比较,下列哪个描述是错误的?
正确答案: C D 你的答案: A D (错误)
Java不支持指针,C/C++支持
Java程序不需要显式地关心内存释放,而C/C++需要
Java和C++一样,是纯编译型语言,因此它们的class都是在编译时静态联编(static binding)的
Java数组、字符串不可能溢出,C/C++数组、字符串则有可能溢出边界
解:
Java和C++的区别:
12.“先进先出”的容器是:( )
正确答案: B 你的答案: B (正确)
堆栈(Stack)
队列(Queue)
字符串(String)
迭代器(Iterator)
解:
堆栈是具有先进后出的特点;队列具有先进先出的特点。
字符串是一个存储数据的结构,没有严格的出入要求,迭代器的数据读取取决于迭代方式。
13.在 JAVA 编程中, Java 编译器会将 Java 程序转换为( )
正确答案: A 你的答案: A (正确)
字节码
可执行代码
机器代码
以上都不对
解:
编译器将Java源代码编译成字节码class文件
类加载到JVM里面后,执行引擎把字节码转为可执行代码
执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行。
14.下列关于修饰符混用的说法,错误的是( )
正确答案: D 你的答案: D (正确)
abstract不能与final并列修饰同一个类
abstract 类中不建议有private的成员
abstract 方法必须在abstract类或接口中
static方法中能直接处理非static的属性
解:
abstract修饰的类,不可实例化,所以需要子类去继承,然后重写其中的抽象方法。但是final修饰类是不可继承的。两者属性相冲。
看清楚,人家说的是不建议有,不是不能有。
抽象类中可以没有抽象方法,但是抽象方法必须在抽象类中或者接口中
static不可以修饰非static的属性,因为类加载的时候,static属性比非static先初始化,那么一个存在的总不能访问一个没有存在的吧。
15.类方法中可以直接调用对象变量。( )
正确答案: B 你的答案:B (正确)
正确
错误
解:
静态方法中不能调用对象的变量,因为静态方法在类加载时就初始化,对象变量需要在新建对象后才能使用
16.给定代码:
public class SwitchTest{//1
public static void main(String[] args) {//2
System.out.println("value="+switchit(4));//3
}//4
public static int switchit(int x) {
int j=1;
switch (x) {
case 1:j++;
case 2:j++;
case 3:j++;
case 4:j++;
case 5:j++;
default:j++;
}
return j+x;
}
}
第三行将输出什么?
正确答案: B 你的答案: B(正确)
value=6
value=8
value=3
value=5
value=4
解:
没有break,从case 4开始一直执行到最后,j自加3次变成了4,结果返回8
17.下面代码的输出结果是什么?
public class ZeroTest {
public static void main(String[] args) {
try{
int i = 100 / 0;
System.out.print(i);
}catch(Exception e){
System.out.print(1);
throw new RuntimeException();
}finally{
System.out.print(2);
}
System.out.print(3);
}
}
正确答案: D 你的答案: D (正确)
3
123
1
12
解:
inti = 100/ 0; 会出现异常,会抛出异常,System.out.print(i)不会执行,
catch捕捉异常,继续执行System.out.print(1);
当执行 thrownewRuntimeException(); 又会抛出异常,这时,除了会执行finally中的代码,其他地方的代码都不会执行
18.对于子类的构造函数说明,下列叙述中错误的是( )。
正确答案: A 你的答案: D (错误)
子类可以继承父类的构造函数。
子类中调用父类构造函数不可以直接书写父类构造函数,而应该用super();。
用new创建子类的对象时,若子类没有带参构造函数,将先执行父类的无参构造函数,然后再执行自己的构造函数。
子类的构造函数中可以调用其他函数。
解:
java继承中对构造函数是不继承的,只是显式或者隐式调用
19.java程序内存泄露的最直接表现是( )
正确答案: C 你的答案: C (正确)
频繁FullGc
jvm崩溃
程序抛内存控制的Exception
java进程异常消失
解:
内存异常,最常见的 就是 StackOverFlow ,内存溢出,其实内存泄漏的最终结果就是内存溢出
20.public class contained in a Java program file must have the same name as the file, except for the extension “.java”.
正确答案: A 你的答案: B (错误)
FALSE
TRUE
解:
题目的意思是: 除去扩展名.java的部分,包含在java文件里的Java里的公共类必须与文件的名字相同。
但是公共的内部类是不需要和文件的名字相同的
21.在JAVA中, 下列标识符合法的是()
正确答案: C 你的答案: C (正确)
3kyou
@163
name
while
解:
JAVA中,标识符, 指用于给变量.类.方法名 等命名的名称. 1,标识以数字,字符,下划线,以及美元$符组成.(不能包括@、%、空格等),不能以数字开头. 2,不能与JAVA关键字重复 3,严格区分的大小写
22.AWT 中用来表示文本框的类是 ( )
正确答案: A 你的答案: A (正确)
TextField
Menu
Label
List
解:
AWT基本组件
B、Menu表示下拉菜单
C、Label表示标签
D、List表示列表框
public class Test{
static int cnt = 6;
static{
cnt += 9;
}
public static void main(String[] args){
System.out.println(“cnt =” + cnt);
}
static{
cnt /=3;
};
}
cnt的值是
正确答案: A 你的答案: A (正确)
cnt=5
cnt=2
cnt=3
cnt=6
解:
静态初始化块,静态变量这两个是属于同一级别的,是按代码写得顺序执行的!
而不是先执行静态变量后执行静态初始化块
24.事务隔离级别是由谁实现的?
正确答案: C 你的答案: A (错误)
Java应用程序
Hibernate
数据库系统
JDBC驱动程序
解:
我们写java程序的时候只是设定事物的隔离级别,而不是去实现它
Hibernate是一个java的数据持久化框架,方便数据库的访问
事物隔离级别由数据库系统实现,是数据库系统本身的一个功能
JDBC是java database connector,也就是java访问数据库的驱动
25.内部类(也叫成员内部类)可以有4种访问权限。( )
正确答案: A 你的答案: A (正确)
正确
错误
解:
内部类差不多就是类的成员,成员有4种访问权限,内部类也是!
分别为private、protected、public以及默认的访问权限
26.BufferedReader的父类是以下哪个?
正确答案: D 你的答案: D (正确)
FilterReader
InputStreamReader
PipedReader
Reader
解:
27.A 是抽象父类或接口, B , C 派生自 A ,或实现 A ,现在 Java 源代码中有如下声明:
问以下哪个说法是正确的?( )
正确答案: A 你的答案: C (错误)
第1行不能通过编译
第1、2行能通过编译,但第3行编译出错
第1、2、3行能通过编译,但第2、3行运行时出错
第1行、第2行和第3行的声明都是正确的
解:哎…
抽象类不能实例化.
28.假如某个JAVA进程的JVM参数配置如下:
-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3,
请问eden区最终分配的大小是多少?
正确答案: C 你的答案: A (错误)
64M
500M
300M
100M
解:
Xms 起始内存
Xmx 最大内存
Xmn 新生代内存
Xss 栈大小。 就是创建线程后,分配给每一个线程的内存大小
-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4
-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5
-XX:MaxPermSize=n:设置持久代大小
收集器设置
-XX:+UseSerialGC:设置串行收集器
-XX:+UseParallelGC:设置并行收集器
-XX:+UseParalledlOldGC:设置并行年老代收集器
-XX:+UseConcMarkSweepGC:设置并发收集器
垃圾回收统计信息
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename
并行收集器设置
-XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数。并行收集线程数。
-XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间
-XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)
并发收集器设置
-XX:+CMSIncrementalMode:设置为增量模式。适用于单CPU情况。
-XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。并行收集线程数
29.以下代码的输出结果是?
public class B
{
public static B t1 = new B();
public static B t2 = new B();
{
System.out.println("构造块");
}
static
{
System.out.println("静态块");
}
public static void main(String[] args)
{
B t = new B();
}
}
解:
正确答案: C 你的答案: A (错误)
静态块 构造块 构造块 构造块
构造块 静态块 构造块 构造块
构造块 构造块 静态块 构造块
构造块 构造块 构造块 静态块
解:
不是静态块最先初始化,而是静态域
而静态域中包含静态变量、静态块和静态方法,其中需要初始化的是静态变量和静态块.而他们两个的初始化顺序是靠他们俩的位置决定的!
初始化顺序是 t1 t2 静态块
30.Model-View-Controller(MVC) is an architectural pattern that frequently used in web applications. Which of the following statement(s) is(are) correct?
正确答案: A B C 你的答案: A D E (错误)
Models often represent data and the business logics needed to manipulate the data in the application
A view is a (visual) representation of its model. It renders the model into a form suitable for interaction, typically a user interface element
A controller is the link between a user and the system. It accepts input from the user and instructs the model and a view to perform actions based on that input
The common practice of MVC in web applications is, the model receives GET or POST input from user and decides what to do with it, handing over to controller and which hand control to views(HTML-generating components)
None of the above
解:
翻译:
MVC是一种在web应用中常用的架构,下列说法正确的是()
A. 模型通常代表应用程序中的数据以及用于操纵数据的业务逻辑;
B. 视图是其对应的模型的可视化呈现,视图 将模型渲染成适合于交互的形式(通常为用户界面元素);
C. 控制器是用户与系统之间的纽带,它接受用户输入,并指示模型和视图基于用户输入执行操作(处理数据、展示数据);
D. MVC模式在web应用中的常见实践是:模型接受来自于用户的GET或POST请求数据并决定如何处理,模型将用户数据转交给控制器,控制器将控制权转交给视图(视图由HTML生成);
E. 以上全不是。首先排除…
1.在Web应用程序的文件与目录结构中,web.xml是放置在( )中。
正确答案: A 你的答案: A (正确)
WEB-INF目录
conf目录
lib目录
classes目录
解:
web.xml文件是用来初始化配置信息,web.xml是放置在WEB-INF目录中
2.在运行时,由java解释器自动引入,而不用import语句引入的包是()。
正确答案: A 你的答案: B (错误)
java.lang
java.system
java.io
java.util
解:java.lang包是java语言的核心包,lang是language的缩写
java.lang包定义了一些基本的类型,包括Integer,String之类的,是java程序必备的包,有解释器自动引入,无需手动导入
3.下面代码的运行结果是()
public static void main(String[] args){
String s;
System.out.println("s="+s);
}
正确答案: C 你的答案: B (错误)
代码编程成功,并输出”s=”
代码编译成功,并输出”s=null”
由于String s没有初始化,代码不能编译通过。
代码编译成功,但捕获到NullPointException异常
解:局部变量没有默认值
4.以下哪一项正则能正确的匹配网址: http://www.bilibili.com/video/av21061574 ()
正确答案: B 你的答案: B (正确)
/^(https?/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。