ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

每天进步一点点(Java)

2021-05-19 23:58:26  阅读:223  来源: 互联网

标签:事务 Java 答案 PROPAGATION 对象 一点点 static 进步 public


每天进步一点点(Java)

1.下面哪些类可以被继承? Java.lang.Thread、java.lang.Number、java.lang.Double、java.lang.Math、 java.lang.ClassLoader
正确答案: A B E 你的答案:A B E (正确)
Thread
Number
Double
Math
ClassLoader

题解:
A:Thread可以被继承,用于创建新的线程
B:Number类可以被继承,Integer,Float,Double等都继承自Number类
C:Double类的声明为 public final class Doubleextends Numberimplements Comparable<Double> final声明的类不能被继承
D:Math类的声明为 public final class Mathextends Object 不能被继承
E:ClassLoader可以被继承,用户可以自定义类加载器

2.定义有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返回增长后的长度

3.下面有关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类的实例。

4.下面有关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–以非事务方式执行,如果当前存在事务,则抛出异常。

5.以下代码结果是什么?
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”。

在这里插入图片描述
6.运行代码,输出的结果是()
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.常量在编译阶段会进行常量优化,将常量存入调用类的常量池中, 本质上并没有直接引用到定义常量的类,因此不会触发定义常量的类的初始化。

7.给定以下代码,程序将输出 ()(选择一项)
class A {
public A(){
System.out.println(“A”);
}
}
class B extends A{
public B(){
System.out.println(“B”);
}
public static void main(String[] args) {
B b=new B();
}
}
A.不能通过编译
B.通过编译,输出AB
C.通过编译,输出B
D.通过编译,输出A
答案:B

题解:在继承关系下,创建子类对象,先执行父类的构造方法,再执行子类的构造方法。

8.如果希望监听TCP端口9000,服务器端应该怎样创建socket?
正确答案: B 你的答案: B (正确)
new Socket(“localhost”,9000);
new ServerSocket(9000);
new Socket(9000);
new ServerSocket(“localhost”,9000);

题解:
ServerSocket (int port) 创建一个serversocket 绑定在特定的端口
Socket(InetAddress address, int port) 创建一个socket流,连接到特定的端口和ip地址

9.What will happen when you attempt to compile and run the following code?
public class Test{
static{
int x=5;
}
static int x,y;
public static void main(String args[]){
x–;
myMethod( );
System.out.println(x+y+ ++x);
}
public static void myMethod( ){
y=x++ + ++x;
}
}
正确答案: D 你的答案: D (正确)
compiletime error
prints:1
prints:2
prints:3
prints:7
prints:8

题解:
1.静态语句块中x为局部变量,不影响静态变量x的值
2.x和y为静态变量,默认初始值为0,属于当前类,其值得改变会影响整个类运行。
3.java中自增操作非原子性的 main方法中: 执行x–后 x=-1 调用myMethod方法,x执行x++结果为-1(后++),但x=0,++x结果1,x=1 ,则y=0 x+y+
++x,先执行x+y,结果为1,执行++x结果为2,得到最终结果为3

10.下面关于面向对象的一些理解哪些是错误的( )
正确答案: C 你的答案: C (正确)
A:面向对象的最重要的特性是支持继承、封装和多态
B:系统设计应该遵循开闭原则,系统应该稳定不不可修改,但应支持通过继承、组合等方式进行扩展
C:函数式的语言必然是面向对象的语言
D:面向对象设计时,每个类的职责应该单一,不要再一个类中引入过多的接口
E:过程式语言和面向对象的语言各有其优势,过程式语言更加灵活,面向对象语言更加强调抽象和封装
F:Java和C++都是静态类型的面向对象编程语言

标签:事务,Java,答案,PROPAGATION,对象,一点点,static,进步,public
来源: https://blog.csdn.net/Jonsnow595/article/details/117049258

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有