日常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”。

题解:
日常Java练习题(每天进步一点点系列)_第1张图片

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 (正确)
构造函数私有
静态工厂方法
以上都不对
唯一实例

以上部分题解来自牛客谈论群,感谢谈论群的大佬的贡献分享,一起加油,共同进步!

每天进步一点点!
不进则退!

看完如果对你有帮助,感谢点赞支持!
如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

在这里插入图片描述
加油!

共同努力!

Keafmd

你可能感兴趣的:(NowCoder,java)