日常Java练习题(每天进步一点点系列)

简介: 日常Java练习题(每天进步一点点系列)

1.下面有关JSP内置对象的描述,说法错误的是?

正确答案: C 你的答案: C (正确)

session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止

request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应

application对象:多个application对象实现了用户间数据的共享,可存放全局变量

response对象:response对象包含了响应客户请求的有关信息


题解:

application服务器就创建了一个,多个用户共享一个。

application对象是共享的,多个用户共享一个,以此实现数据共享和通信

1.request对象

客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。

2.response对象

response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。

3.session对象

session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.

4.application对象

application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。


2.Java语言与其它语言相比,独有的特点是( )

正确答案: C 你的答案: C (正确)

面向对象

多线程

平台无关

网络编程


3.下面哪个选项正确创建socket连接?

正确答案: B 你的答案: B (正确)

Socket s = new Socket(8080);

Socket s = new Socket(“192.168.1.1”,8080)

SocketServer s = new Socket(8080);

Socket s = new SocketServer(“192.168.1.1”,8080)


题解:

服务器端:ServerSocket提供的实例 ServerSocket server = new ServerSocket(端口号)

客户端:Socket提供的实例 Socket client = new Socket(IP地址,端口号)


4.定义有StringBuffer s1=new StringBuffer(10);s1.append(“1234”)则s1.length()和s1.capacity()分别是多少?

正确答案: A 你的答案: A (正确)

4 10

4 4

10 10

10 4


题解:

length 返回当前长度

如果字符串长度没有初始化长度大,capacity返回初始化的长度

如果append后的字符串长度超过初始化长度,capacity返回增长后的长度


5.下面有关SPRING的事务传播特性,说法错误的是?

正确答案: B 你的答案: B (正确)

PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行

PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就抛出异常

PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起

PROPAGATION_NESTED:支持当前事务,新增Savepoint点,与当前事务同步提交或回滚


题解:

PROPAGATION_REQUIRED–支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。

PROPAGATION_SUPPORTS–支持当前事务,如果当前没有事务,就以非事务方式执行。

PROPAGATION_MANDATORY–支持当前事务,如果当前没有事务,就抛出异常。

PROPAGATION_REQUIRES_NEW–新建事务,如果当前存在事务,把当前事务挂起。

PROPAGATION_NOT_SUPPORTED–以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

PROPAGATION_NEVER–以非事务方式执行,如果当前存在事务,则抛出异常。


6.有一个源代码,只包含import java.util.* ; 这一个import语句,下面叙述正确的是? ( )

正确答案: C 你的答案: C(正确)

只能写在源代码的第一句

可以访问java/util目录下及其子目录下的所有类

能访问java/util目录下的所有类,不能访问java/util子目录下的所有类

编译错误


题解:

java.util.*,只能读取其目录下的类,不能读取其子目录下的类。

因为其根目录和子目录下可能有同名类,若都能读取,则会混淆。


7.以下代码结果是什么?

public class foo {

public static void main(String sgf[]) {

StringBuffer a=new StringBuffer(“A”);

StringBuffer b=new StringBuffer(“B”);

operate(a,b);

System.out.println(a+”.”+b);

}

static void operate(StringBuffer x,StringBuffer y) {

x.append(y);

y=x;

}

}

正确答案: C 你的答案:C (正确)

代码可以编译运行,输出“AB.AB”。

代码可以编译运行,输出“A.A”。

代码可以编译运行,输出“AB.B”。

代码可以编译运行,输出“A.B”。


题解:



8.Test.main()函数执行后的输出是( )

class Test {

public static void main(String[] args) {

System.out.println(new B().getValue());

}

static class A {

protected int value;

public A (int v) {

setValue(v);

}

public void setValue(int value) {

this.value= value;

}

public int getValue() {

try {

value ++;

return value;

} finally {

this.setValue(value);

System.out.println(value);

}

}

}

static class B extends A {

public B () {

super(5);

setValue(getValue()- 3);

}

public void setValue(int value) {

super.setValue(2 * value);

}

}

}

正确答案: B 你的答案: B (正确)

6 7 7

22 34 17

22 74 74

11 17 34


题解:

详见讨论区


9.运行代码,输出的结果是()

public class P {

public static int abc = 123;

static{

System.out.println(“P is init”);

}

}

public class S extends P {

static{

System.out.println(“S is init”);

}

}

public class Test {

public static void main(String[] args) {

System.out.println(S.abc);

}

}

正确答案: A 你的答案: A (正确)

A:P is init

123

B:S is init

P is init

123

C:P is init

S is init

123

D:S is init

123


题解:

属于被动引用不会出发子类初始化

1.子类引用父类的静态字段,只会触发子类的加载、父类的初始化,不会导致子类初始化

2.通过数组定义来引用类,不会触发此类的初始化

3.常量在编译阶段会进行常量优化,将常量存入调用类的常量池中, 本质上并没有直接引用到定义常量的类,因此不会触发定义常量的类的初始化。


10.单例模式中,两个基本要点是

正确答案: A D 你的答案: A D (正确)

构造函数私有

静态工厂方法

以上都不对

唯一实例



相关文章
|
6月前
|
存储 Java
创建一个乘法练习题生成器 using Java
创建一个乘法练习题生成器 using Java
|
7月前
|
人工智能 Java
Java练习题-输出二维数组对角线元素和
Java练习题-输出二维数组对角线元素和
|
7月前
|
存储 Java 索引
Java练习题-获取数组元素最大值
Java练习题-获取数组元素最大值
Java练习题-获取数组元素最大值
|
7月前
|
Java
<Java SE> 数组详解大全(附带练习题).一维数组、二维数组、数组拷贝、数组遍历...
<Java SE> 数组详解大全(附带练习题).一维数组、二维数组、数组拷贝、数组遍历
52 0
|
7月前
|
Java 索引
Java练习题-用冒泡排序法实现数组排序
Java练习题-用冒泡排序法实现数组排序
|
7月前
|
Java
Java练习题-键盘录入字符串实现大小写转换
Java练习题-键盘录入字符串实现大小写转换
|
7月前
|
Java
Java练习题-输出斐波那契(Fibonacci)数列
Java练习题-输出斐波那契(Fibonacci)数列
|
7月前
|
算法 Java 程序员
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
61 0
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
|
7月前
|
存储 Java
Java程序设计练习题8异常处理
Java程序设计练习题8异常处理
171 0
|
7月前
|
Java
java字符串练习题8、同构字符串
java字符串练习题8、同构字符串
54 0
java字符串练习题8、同构字符串