Java日常练习题,每天进步一点点(7)
作者:牛哄哄的柯南 发布时间:2023-11-27 00:34:58
目录
1、下面的代码运行的结果是:
2、下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?
3、执行如下代码段后,变量s1引用的字符串值是( )。
4、类A1和类A2在同一包中,类A2有个protected的方法testA2,类A1不是类A2的子类(或子类的子类),类A1可以访问类A2的方法testA2。( )
5、在一个基于分布式的游戏服务器系统中,不同的服务器之间,哪种通信方式是不可行的()?
6、下面有个hibernate延迟加载,说法错误的是?
7、下面关于Spring的说法中错误的是()
8、servlet周期包含哪些:
9、已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的? ( )
10、关于java集合下列说法不正确的有哪些()
答案汇总:
承蒙各位厚爱,我们一起每天进步一点点!(鼠标选中空白处查看答案)
1、下面的代码运行的结果是:
class B extends Object
{
static
{
System.out.println("Load B");
}
public B()
{
System.out.println("Create B");
}
}
class A extends B
{
static
{
System.out.println("Load A");
}
public A()
{
System.out.println("Create A");
}
}
public class Testclass
{
public static void main(String[] args)
{
new A();
}
}
正确答案: B
Load B ->Create B->Load A -> Create A
Load B -> Load A ->Create B ->Create A
Load B -> Create B-> Create A -> Load A
Create B ->Create A ->Load B ->Load A
题解:
初始化块在构造器执行之前执行,类初始化阶段先执行最顶层父类的静态初始化块,依次向下执行,最后执行当前类的静态初始化块;创建对象时,先调用顶层父类的构造方法,依次向下执行,最后调用本类的构造方法。
父类静态代码块-》子类静态代码块-》父类构造代码块-》父类构造函数-》子类构造代码块-》子类构造函数
初始化过程:
1.初始化父类中的静态成员变量和静态代码块 ;
2.初始化子类中的静态成员变量和静态代码块 ;
3.初始化父类的普通成员变量和代码块,再执行父类的构造方法;
4.初始化子类的普通成员变量和代码块,再执行子类的构造方法
2、下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?
正确答案: B
实例变量指的是类中定义的变量,即成员变量,如果没有初始化,会有默认值。
局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值
类变量指的是用static修饰的属性
final变量指的是用final 修饰的变量
题解:
局部变量必须有初始值
3、执行如下代码段后,变量s1引用的字符串值是( )。
String s1 = “ABCD”;
String s2 = “1234”;
System.out.println(s1 + s2);
正确答案: A
ABCD
1234
ABCD1234
1234ABCD
题解:
变量s1引用的字符串值是
这题出的牛,有谁跟我一样看见输出就觉得选C
其实题问的就是s1,牛这题
4、类A1和类A2在同一包中,类A2有个protected的方法testA2,类A1不是类A2的子类(或子类的子类),类A1可以访问类A2的方法testA2。( )
正确答案: A
正确
错误
题解:
public:可以被所有其他类所访问
private:只能被自己访问和修改
protected:自身、子类及同一个包中类可以访问
default:同一包中的类可以访问,声明时没有加修饰符,认为是friendly。
5、在一个基于分布式的游戏服务器系统中,不同的服务器之间,哪种通信方式是不可行的()?
正确答案: A
管道
消息队列
高速缓存数据库
套接字
题解:
管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
既然是不同的服务器之间进行通信,怎么可能会是具有亲缘关系的进程呢?
6、下面有个hibernate延迟加载,说法错误的是?
正确答案: C
Hibernate2延迟加载实现:a)实体对象 b)集合(Collection)
Hibernate3 提供了属性的延迟加载功能
get支持延迟加载,load不支持延迟加
hibernate使用Java反射机制,而不是字节码增强程序来实现透明性
题解:
get()采用立即加载方式,而load()采用延迟加载
7、下面关于Spring的说法中错误的是()
正确答案: D
Spring是一系列轻量级Java EE框架的集合
Spring中包含一个“依赖注入”模式的实现
使用Spring可以实现声明式事务
Spring提供了AOP方式的日志系统
题解:
Spring并没有为我们提供日志系统,我们需要使用AOP(面向方面编程)的方式,借助Spring与日志系统log4j实现我们自己的日志系统。
8、servlet周期包含哪些:
正确答案: A B C
初始化
销毁
请求处理
开始
题解:
Servlet生命周期分成3个阶段:
1)初始化阶段:调用init方法
2)响应客户请求:调用service
3)终止:调用destory方法
初始化阶段:在下列时刻servlet容器装载servlet
1 servlet容器启动时,自动装载某些servlet
2 在servlet容器启动后,客户首次向servlet发送请求
3 servlet类文件被更新之后,重新装载servlet
Servlet被装载之后,servlet容器创建一个servlet'对象并调用servlet的init方法,在servlet生命周期内,init方法只能被调用一次。servlet工作原理:客户端发起一个请求,servlet调用service方法时请求进行响应,service对请求的方式进行了匹配,选择调用dopost或者doget等这些方法,然后进入对应方法中调用逻辑层的方法,实现对客户的响应。
响应客户请求:对于用户到达servlet的请求,servlet容器会创建特定于该请求的servletrequest和servletresponse对象,然后调用servlet的service方法,service方法从servletrequest对象中获取客户请求的信息,处理该请求,并且通过servletresponse对象向客户端返回响应信息。
终止:当web应用终止或者servlet容器终止或servlet容器重新装载servlet新实例时,servlet容器会调用servlet对象的destory方法,在destory方法中可以释放servlet占用的资源
9、已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的? ( )
正确答案: C D
args[0] = “MyTest a b c”
args[0] = “MyTest”
args[0] = “a”
args[1]= "b"
题解:
题目这样理解:java命令执行MyTest类下的main函数,命令行输入java MyTest a b c,请问入参中对应的args为如下哪种?
main函数格式如下:public static void main(String[] args),入参中有一个String[] args,这是一个字符串数组,它早期是为了接收键盘录入的数据的,而现在被Scanner(JDK 1.5以后才出现)所替代,通过String[] args录入数据的格式是 java 类名(main方法所在类的类名) 字符串1 字符串2 字符串3 …。对应本题,args[0]=a args[1]=b args[2]=c
10、关于java集合下列说法不正确的有哪些()
正确答案: A B D
HashSet 它是线程安全的,不允许存储相同的对象
ConcurrentHashMap 它是线程安全的,其中存储的键对象可以重复,值对象不能重复
Collection接口是List接口和Set接口的父接口,通常情况下不被直接使用
ArrayList线程安全的,允许存放重复对象
题解:
A: HashSet 它不是线程安全的,属于Set接口下的实现类,Set下的实现类特征就是无序,不允许存储相同的对象
B: ConcurrentHashMap 它是线程安全的HashMap实现,特征也相似,其中存储的值对象可以重复,键对象不能重复
C: Collection接口是List接口和Set接口的父接口,通常情况下不被直接使用
D: ArrayList线程不安全的,底层是数组实现,允许存放重复对象
答案汇总:
1、正确答案: B
2、正确答案: B
3、正确答案: A
4、正确答案: A
5、正确答案: A
6、正确答案: C
7、正确答案: D
8、正确答案: A B C
9、正确答案: C D
10、正确答案: A B D
来源:https://blog.csdn.net/weixin_43883917/article/details/118163795


猜你喜欢
- 本文实例讲述了Android开发实现横向列表GridView横向滚动的方法。分享给大家供大家参考,具体如下:Android 横向列表实现,可
- 本文以实例形式介绍了基于Java实现的Dijkstra算法,相信对于读者研究学习数据结构域算法有一定的帮助。Dijkstra提出按各顶点与源
- 在Update函数中执行:if (turnAround) { playerCamera.RotateA
- 本文实例讲述了Java对XML文件增删改查操作。分享给大家供大家参考,具体如下:xml文件:<?xml version="1
- Thread-per-Message模式(这项工作就交给你了)当你很忙碌的时候,这个时候公司楼下有个快递,于是你委托你的同事帮你拿一下你的快
- 一、前言:前段时间微信更新了新版本后,带来的一款H5小游戏“跳一跳”在各朋友圈里又火了起来,类似以前的“ * ”游戏,这游戏玩法简单,但加上
- 1、效果展示2、布局文件<?xml version="1.0" encoding="utf-8"
- 一个图片识别小工具,原先主要是识别以前公司的软件注册码截图里的数字和字母(每次要一个一个框复制出来粘贴到注册器里,很麻烦!),因为注册码出现
- 工作中因业务需求,将数据库中的树状结构的数据根据父节点获取所有的子节点实现思路1.获取整个数据的list集合数据2.将数据分组,java8
- Java Hutool 包工具类推荐 ExcelUtil包引入hutool包版本号可根据实际情况更换<dependency> &
- 自定义Starter命名规则注意artifactId的命名规则,Spring官方Starter通常命名为spring-boot-starte
- eclipse 创建 user library 方法1、Window - Preferences - Java - Build Path -
- 今天给大家带来的是仅仅使用一个TextView实现一个 * 京东、淘宝、唯品会等各种电商APP的活动倒计时。最近公司一直加班也没来得及时间去整
- 双向循环链表定义相比于单链表,有两个指针,next指针指向下一个结点,prior指针指向上一个结点,最后一个结点的next指针指向头结点,头
- java获取map中value最大值public static void main(String[] args) throws Interr
- 看到正点闹钟上的设置时间的滑动效果非常好看,自己就想做一个那样的,在网上就开始搜资料了,看到网上有的齿轮效果的代码非常多,也非常难懂,我就决
- 背景:最近需要用到人脸识别,但又不花钱使用现有的第三方人脸识别接口,为此使用opencv结合java进行人脸识别(ps:opencv是开源的
- 前言在工作中,比如要实现一个功能,前端传什么参数,后端的controller层中怎么接收参数 ,封装成了什么实体对象,有些参数是在URL上使
- 引导语上一小节我们学习了 Socket,本文我们来看看服务端套接字 API:ServerSocket,本文学习完毕之后,我们就可以把客户端
- Android 调用系统相机拍摄获取照片的两种方法实现实例在我们Android开发中经常需要做这个一个功能,调用系统相机拍照,然后获取拍摄的