Java日常练习题,每天进步一点点(53)
作者:牛哄哄的柯南 发布时间:2023-08-12 00:55:00
目录
1、在java中,无论在何处调用,使用静态属性必须以类名做前缀。
2、若有定义语句: int a=10 ; double b=3.14 ; 则表达式 ‘A'+a+b 值的类型是()
3、SSH MVC开发模式说法正确的是( )
4、下面关于垃圾收集的说法正确的是
5、下列语句正确的是:
6、结构型模式中最体现扩展性的模式是()
7、当我们需要所有线程都执行到某一处,才进行后面的的代码执行我们可以使用?
8、假设 a 是一个由线程 1 和线程 2 共享的初始值为 0 的全局变量,则线程 1 和线程 2 同时执行下面的代码,最终 a 的
9、下面哪个流类不属于面向字符的流()
10、以下JAVA程序的运行结果是什么( )
答案汇总:
总结
承蒙各位厚爱,我们一起每天进步一点点!(鼠标选中空白处查看答案)
1、在java中,无论在何处调用,使用静态属性必须以类名做前缀。
正确答案: B
正确
错误
题解:
1、如果是本类使用,可以直接就用静态变量名。
2、如果是其他类使用,可以使用类名来调用,也可以创建一个实例对象来调用。
3、如果静态变量所在的类是静态类,那么不管在本类里或者在其他外部类,都可以直接使用静态变量名。
2、若有定义语句: int a=10 ; double b=3.14 ; 则表达式 ‘A'+a+b 值的类型是()
正确答案: C
char
int
double
float
题解:
char < short < int < float < double 不同类型运算结果类型向右边靠齐。
选C,double类型,因为按照类型大的与类型小的运算,强制转换类型小的进行运算的规则,double>int>char,因此结果是double类型。
3、SSH MVC开发模式说法正确的是( )
正确答案: B
Struts进行业务流转
Hibernate进行数据库操作的封装
Spring进行流程控制
其他选项均不正确
题解:
MVC 的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果,并通过视图呈现给用户。
Struts 主要控制逻辑关系的处理
Spring 是一个轻量级的控制反转 (IoC) 和面向切面 (AOP) 的容器框架
Hibernate 是数据持久化层 , 是一种新的对象、关系的映射工具 , 提供了从 Java 类到数据表的映射,也提供了数据查询和恢复等机制
4、下面关于垃圾收集的说法正确的是
正确答案: D
一旦一个对象成为垃圾,就立刻被收集掉。
对象空间被收集掉之后,会执行该对象的finalize方法
finalize方法和C++的析构函数是完全一回事情
一个对象成为垃圾是因为不再有引用指着它,但是线程并非如此
题解:
a. 不能确定回收时间
b. 回收前调用该方法
c. c++可以明确回收时间
5、下列语句正确的是:
正确答案: D
形式参数可被字段修饰符修饰
形式参数不可以是对象
形式参数为方法被调用时真正被传递的参数
形式参数可被视为local variable
题解:
A:形式参数只能被final修饰
B:形式参数可以是对象
C:形式参数被调用时被传递的是实际参数的拷贝
D:local variable:局部变量
6、结构型模式中最体现扩展性的模式是()
正确答案: A
装饰模式
合成模式
桥接模式
适配器
题解:
结构型模式是描述如何将类对象结合在一起,形成一个更大的结构,结构模式描述两种不同的东西:类与类的实例。故可以分为类结构模式和对象结构模式。
在GoF设计模式中,结构型模式有:
1.适配器模式 Adapter
适配器模式是将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
两个成熟的类需要通信,但是接口不同,由于开闭原则,我们不能去修改这两个类的接口,所以就需要一个适配器来完成衔接过程。
2.桥接模式 Bridge
桥接模式将抽象部分与它的实现部分分离,是它们都可以独立地变化。它很好的支持了开闭原则和组合锯和复用原则。实现系统可能有多角度分类,每一种分类都有可能变化,那么就把这些多角度分离出来让他们独立变化,减少他们之间的耦合。
3.组合模式 Composite
组合模式将对象组合成树形结构以表示部分-整体的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。
4.装饰模式 Decorator
装饰模式动态地给一个对象添加一些额外的职责,就增加功能来说,它比生成子类更灵活。也可以这样说,装饰模式把复杂类中的核心职责和装饰功能区分开了,这样既简化了复杂类,有去除了相关类中重复的装饰逻辑。 装饰模式没有通过继承原有类来扩展功能,但却达到了一样的目的,而且比继承更加灵活,所以可以说装饰模式是继承关系的一种替代方案。
5.外观模式 Facade
外观模式为子系统中的一组接口提供了同意的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
外观模式中,客户对各个具体的子系统是不了解的,所以对这些子系统进行了封装,对外只提供了用户所明白的单一而简单的接口,用户直接使用这个接口就可以完成操作,而不用去理睬具体的过程,而且子系统的变化不会影响到用户,这样就做到了信息隐蔽。
6.享元模式 Flyweight
享元模式为运用共享技术有效的支持大量细粒度的对象。因为它可以通过共享大幅度地减少单个实例的数目,避免了大量非常相似类的开销。.
享元模式是一个类别的多个对象共享这个类别的一个对象,而不是各自再实例化各自的对象。这样就达到了节省内存的目的。
7.daili模式 Proxy
为其他对象提供一种daili,并由daili对象控制对原对象的引用,以间接控制对原对象的访问。
7、当我们需要所有线程都执行到某一处,才进行后面的的代码执行我们可以使用?
正确答案: B
CountDownLatch
CyclicBarrier
Semaphore
Future
题解:
CountDownLatch 是等待一组线程执行完,才执行后面的代码。此时这组线程已经执行完。
CyclicBarrier 是等待一组线程至某个状态后再同时全部继续执行线程。此时这组线程还未执行完。
8、假设 a 是一个由线程 1 和线程 2 共享的初始值为 0 的全局变量,则线程 1 和线程 2 同时执行下面的代码,最终 a 的
结果不可能是()
boolean isOdd = false;
for(int i=1;i<=2;++i)
{
if(i%2==1)isOdd = true;
else isOdd = false;
a+=i*(isOdd?1:-1);
}
正确答案: D
-1
-2
0
1
题解:
不管怎样线程对a的操作就是+1后-2
1.线程1执行完再线程2执行,1-2+1-2=-2
2.线程1和2同时+1,再-2不同时,1-2-2=-3
3.线程1和2不同时+1,同时-2,1+1-2=0
4.线程1和2既同时+1又同时-2,1-2=-1
没有结果为1的情况
9、下面哪个流类不属于面向字符的流()
正确答案: B C
BufferedWriter
FileInputStream
ObjectInputStream
InputStreamReader
题解:
既然是字符流,那么就是reader和writer结尾,那么就选BC了
10、以下JAVA程序的运行结果是什么( )
public static void main(String[] args) {
Object o1 = true ? new Integer(1) : new Double(2.0);
Object o2;
if (true) {
o2 = new Integer(1);
} else {
o2 = new Double(2.0);
}
System.out.print(o1);
System.out.print(" ");
System.out.print(o2);
}
正确答案: D
1 1
1.0 1.0
1 1.0
1.0 1
题解:
三元操作符类型的转换规则:
1.若两个操作数不可转换,则不做转换,返回值为Object类型
2.若两个操作数是明确类型的表达式(比如变量),则按照正常的二进制数字来转换,int类型转换为long类型,long类型转换为float类型等。
3.若两个操作数中有一个是数字S,另外一个是表达式,且其类型标示为T,那么,若数字S在T的范围内,则转换为T类型;若S超出了T类型的范围,则T转换为S类型。
4.若两个操作数都是直接量数字,则返回值类型为范围较大者符合4,所以选D
答案汇总:
1、正确答案: B
2、正确答案: C
3、正确答案: B
4、正确答案: D
5、正确答案: D
6、正确答案: A
7、正确答案: B
8、正确答案: D
9、正确答案: B C
10、正确答案: D
来源:https://blog.csdn.net/weixin_43883917/article/details/119581094
猜你喜欢
- 基本要点1、定义根据百度百科的定义,RESTFUL是一种网络应用程序的设计风格和开发方式2、传统方式与Restful风格的区别在我们学习re
- 概述MerkleTree被广泛的应用在比特币技术中,本文旨在通过代码实现一个简单的MerkleTree,并计算出Merkle tree的 T
- 什么是数组数组(Array)是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,
- 看了下网上代码:我想要的效果如下图下划线和文字有15dp的间距 eeeeee的颜色上代码,<"1.0
- 这篇文章主要介绍了JDK线程池和Spring线程池的使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- Spring Cache抽象-使用SpEL表达式概述在Spring Cache注解属性中(比如key,condition和unless),S
- RestTemplate反序列化嵌套对象假设某个接口返回的数据如下格式{ "msg" : "ok&
- 请按先序遍历输入二叉树元素(每个结点一个字符,空结点为'='):ABD==E==CF==G==先序递归遍历:A B D E
- 本文实例讲述了C#基于DBContext(EF)实现通用增删改查的REST方法,分享给大家供大家参考。具体如下:我们用ADO.NET Ent
- 首先下载newtonsoft.json,增加引用using newtonsoft.json.linq;把jobject的内容提取出来,job
- 健康检查是Spring Boot Actuator中重要端点之一,可以非常容易查看应用运行至状态。本文在前文的基础上介绍如何自定义健康检查。
- 前言对于联表查询的四个注解 @OneToOne、@OneToMany、@ManyToOne 和 @ManyToMany,他们有几个用得比较多
- Java读取properties文件中文乱码初用properties,读取java properties文件的时候如果value是中文,会出
- 一.hutool工具摘抄一段hutool工具的简介:Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,
- 一、直接执行SQL查询:1、mappers文件节选<resultMap id="AcModelResultMap"
- 看到正点闹钟上的设置时间的滑动效果非常好看,自己就想做一个那样的,在网上就开始搜资料了,看到网上有的齿轮效果的代码非常多,也非常难懂,我就决
- 1、代码设计的代理模式代理模式属于构建型模式(Proxy),提供了对目标对象的一种访问方式; 即通过代理对象访问目标对象。这样做的好处是:可
- 一般情况下每个spring boot工程启动都有固定的端口,但是固定端口不利用服务的动态扩容,如果在一台服务器上需要对同一个服务进行多实例部
- 本文栈长教你如何在 Spring Boot 注册 Servlet、Filter、Listener。一、Spring Boot 注册Sprin
- resultMap的Colum和property属性1: resultMap标签当我们的数据库字段与实体类的属性不一致时,就需要使用该标签进