【每周一测】Java阶段三第二周学习

news2024/12/24 3:03:00

目录

1、以下哪个过程可以创建Class对象?

2、下列switch代码段输出结果是()

3、redis的数据类型

4、⭐以下关于Servlet生命周期说法错误的是( )

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

6、⭐NoSQL的含义是()

7、对于abstract声明的类,下面说法正确的是?

8、能用来修饰interface的有?

9、⭐关于StringRedisTemplate,说法错误的是()

10、以下HTTP响应状态码的含义描述错误的是?( )

11、关于SpringCache中的Cacheable注解,说法错误的是?

12、⭐以下不属于Spring bean的生命周期是

13、执行完以下代码 int [ ] x = new int[10] ;后,以下哪项说明是正确的

14、⭐Spring依赖注入(DI)的方式正确的有:

15、下面哪两项的数组初始化语句是正确的?

16、Spring中bean的作用域

17、关于SpringCache中,CacheAble和CachePut注解说法正确的是?

18、Spring 框架中都用到的常用设计模式有哪些

19、⭐关于redis中list类型的说法,正确对的是()

20、⭐以下关于final关键字说法错误的是

21、Spring中处理全局异常常用注解

22、以下属于JAP基本注解的是

23、下面哪些对于Servlet的描述是正确的?

24、下面哪个Java语句声明了一个适合于创建50个字符串对象数组的变量?

25、Maven项目的坐标位置,由那些部分组成

26、⭐ArrayList和linkedList的区别

27、⭐Redis 的String、Hash、List、zset、Set集合在项目中的应用,请结果业务举例说说

28、⭐谈谈你对ORM的理解?

29、说说父项目中dependencyManagement标记的作用

30、已知: Integer a = 129;Integer b = 129;a==b 的结果是什么?为什么?

1、以下哪个过程可以创建Class对象?

加载阶段

解题思路: 类加载

2、下列switch代码段输出结果是()

int  a = 0 ;
while ( a < 5 ) {
    switch(a){
    case 0:
    case 3 : a = a + 2;
    case 1 :
    case 2 : a = a + 3;
    default : a = a + 5;
    }
}
System.out.print ( a ) ?

10

3、redis的数据类型

有:stirng、hash、list、set、zset、bitmap、hyperloglog、geo

4、⭐以下关于Servlet生命周期说法错误的是( )

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

解题思路: PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。  

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

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

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

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

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

6、⭐NoSQL的含义是()

解题思路: NoSQL表示not only sql,含义为不仅仅只有sql,表明nosql的目的并不是取代sql,而是与sql互补。

7、对于abstract声明的类,下面说法正确的是?

8、能用来修饰interface的有?

public

解题思路: 接口访问控制符

9、⭐关于StringRedisTemplate,说法错误的是()

解题思路: D错误的原因:StringRedisTemplate的api可以接收String类型以外的参数,但是编译时不会报错,只有运行时才会报错

10、以下HTTP响应状态码的含义描述错误的是?( )

HTTP响应码为404表示请求的资源未被找到。具体含义是,客户端发送了一个请求到服务器,但服务器上并没有对应的资源或页面,因此服务器无法返回所要求的资源。

通常情况下,404响应码意味着请求的URL地址或者文件路径有误,或者请求中的查询条件不正确。如果服务器上曾经存在对应的资源,但现在已经不存在,则可以返回410响应码。

一般来说,当客户端收到404响应码时,会在界面上显示“找不到页面”或“页面不存在”的提示信息。

11、关于SpringCache中的Cacheable注解,说法错误的是?

12、⭐以下不属于Spring bean的生命周期是

服务 不是

解题思路: Spring bean的生命周期包括实例化、属性赋值、初始化、销毁四个阶段

13、执行完以下代码 int [ ] x = new int[10] ;后,以下哪项说明是正确的

多选题:

14、⭐Spring依赖注入(DI)的方式正确的有:

接口注入、setter方法注入、构造方法注入

15、下面哪两项的数组初始化语句是正确的?

int array[] = new int[] {1,2,3};

int array[] = new int[3]; array[0] = 1;array[1] = 2;array[2] = 3;

16、Spring中bean的作用域

singleton、prototype、request、session、application

解题思路: 提供的作用域中,常用的是singleton和prototype

17、关于SpringCache中,CacheAble和CachePut注解说法正确的是?

18、Spring 框架中都用到的常用设计模式有哪些

解题思路: Spring框架中使用到了很多涉及模式,有工厂模式、桥接模式、单例模式、策略模式、代理模式、观察者模式等

19、⭐关于redis中list类型的说法,正确对的是()

解题思路: D错误的原因:如果键已存在,则会追加新的元素到链表,而不是覆盖旧的链表

20、⭐以下关于final关键字说法错误的是

final是Java中的修饰符,可以修饰类、接口、抽象类、方法和属性 ×

final修饰的方法不能被重载 ×

这句话中的错误是,“final”不能修饰抽象类。因为抽象类是为了被子类继承和实现而设计的,因此抽象类不能被声明为 final,否则就不能被继承和实现。其他部分是正确的:

  1. final 可以修饰类、方法和属性。
  2. final 修饰的类不能被继承,final 修饰的方法不能被子类重写,final 修饰的属性一旦赋值就不能再改变。
  3. final 修饰的属性可以在定义时直接初始化,或者在构造方法中初始化。
  4. final 修饰的局部变量必须在定义时初始化,并且一旦赋值就不能再改变。

注意:接口可以有 final 的方法和属性,但接口本身不能被 final 修饰。

21、Spring中处理全局异常常用注解

解题思路: @ControllerAdvice:通过使用该注解定义同的异常处理类,@ExceptionHandler定义异常处理方法;

22、以下属于JAP基本注解的是

解题思路: @Entity用于标注将实体类

@Table用于指定实体类对应的表的名字

@Id用于标注某个字段对应数据库中的主键

@GeneratedValue用于表示某个字段对应的数据库表中的列的生成方式

23、下面哪些对于Servlet的描述是正确的?

24、下面哪个Java语句声明了一个适合于创建50个字符串对象数组的变量?

String a[];

String[] a;

Object a[];

25、Maven项目的坐标位置,由那些部分组成

解题思路: 

①groupid:公司或组织域名倒序+项目名 < groupid>com.gly.maven< /groupid>

②artifactid:模块名 < artifactid>Hello< /artifactid>

③version:版本

26、⭐ArrayList和linkedList的区别

参考答案:

Array(数组)是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的。
Array获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的所有数据, (因为删除数据以后, 需要把后面所有的数据前移)
缺点: 数组初始化必须指定初始化的长度, 否则报错
例如:
int[] a = new int[4];//推介使用int[] 这种方式初始化
int c[] = {23,43,56,78};//长度:4,索引范围:[0,3]
List—是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式,它继承Collection。
List有两个重要的实现类:ArrayList和LinkedList
ArrayList: 可以看作是能够自动增长容量的数组
ArrayList的toArray方法返回一个数组
ArrayList的asList方法返回一个列表
ArrayList底层的实现是Array, 数组扩容实现
LinkList是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于
ArrayList.当然,这些对比都是指数据量很大或者操作很频繁。

27、⭐Redis 的String、Hash、List、zset、Set集合在项目中的应用,请结果业务举例说说

1、string是字符串类型,可以将字符串等文本或者图片信息存入redis缓存中,减轻对数据库的读写压力;

2、list是列表,在项目中可以实现排序的功能;

3、hash是散列表,键值对的集合,hset,hget,可以用来存放某个键包含的值数据;

4、set是无序唯一的集合,可以被用来存放不能重复的数据;

5、zset是有序唯一集合,可以根据score来进行排序,例如销量排行榜等。

参考答案:

1、注册发邮件,邮件验证码存储到Redis中,因为我们系统做了异步解耦,注册与发邮件是不同的系统,所以通过Redis的String类型存储验证码

2、排行榜、top10, 根据购买量/积分作为redis zset集合的分值,从而实现有序存储。

3、库存,通过数据预热,初始化到Redis的 hash 类型集合中: key hashkey(bookId) count

4、项目中一些简单业务模块,比如:XX详情,通过Spring的缓存注册@cacheable实现缓存,这里要注意默认情况方法返回对象要实现序列化接口。

5、首页导航面包削,通过Redis的List集合实现有序存储。

6、首页根据类别查询图书列表,使用Redis的缓存注解@Cacheable

7、项目中购物车存储,使用了Redis的Hash类型: 用户id作为key bookid作为hashkey 购物项

8、省市区联动数据,在数据库中通过t_china表存储,为了减少数据库查询,提升性能,通过数据预热,把t_china表数据存储到Redis的Hash类型中。为什么使用Hash类型? 可以获取每一条记录的数据,方便使用。

9、t_china 省份城市区域表中,通过set集合缓存所有的省份

  1. list.forEach(china -> {
  2. redisTemplate.opsForSet().add(RedisConstant.PROVINCES, JSONUtil.toJsonStr(china));
  3. });

28、⭐谈谈你对ORM的理解?

orm框架指的是对象-关系的映射,可以作为连接数据库和后端数据操作层之间的桥梁; 通过orm框架将数据库中的表和数据映射到对象类中,并根据注解和相关参数来设置属性和方法; 简化了数据库操作的流程,提高开发效率。

参考答案:

ORM 是 Object Relational Mapping 的缩写,译为“对象关系映射”,它解决了对象和关系型数据库之间的数据交互问题。

使用面向对象编程时,数据很多时候都存储在对象里面,具体来说是存储在对象的各个属性(也称成员变量)中。例如有一个 User 类,它的 id、username、password、email 属性都可以用来记录用户信息。当我们需要把对象中的数据存储到数据库时,按照传统思路,就得手动编写 SQL 语句,将对象的属性值提取到 SQL 语句中,然后再调用相关方法执行 SQL 语句。

而有了 ORM 技术以后,只要提前配置好对象和数据库之间的映射关系,ORM 就可以自动生成 SQL 语句,并将对象中的数据自动存储到数据库中,整个过程不需要人工干预。在 Java 中,ORM 一般使用 XML 或者注解来配置对象和数据库之间的映射关系。

解题思路: ORM 是 Object Relational Mapping 的缩写,译为“对象关系映射”,它解决了对象和关系型数据库之间的数据交互问题。 使用面向对象编程时,数据很多时候都存储在对象里面,具体来说是存储在对象的各个属性(也称成员变量)中。例如有一个 User 类,它的 id、username、password、email 属性都可以用来记录用户信息。当我们需要把对象中的数据存储到数据库时,按照传统思路,就得手动编写 SQL 语句,将对象的属性值提取到 SQL 语句中,然后再调用相关方法执行 SQL 语句。 而有了 ORM 技术以后,只要提前配置好对象和数据库之间的映射关系,ORM 就可以自动生成 SQL 语句,并将对象中的数据自动存储到数据库中,整个过程不需要人工干预。在 Java 中,ORM 一般使用 XML 或者注解来配置对象和数据库之间的映射关系。

29、说说父项目中dependencyManagement标记的作用

该标记是版本的依赖标签,负责维护版本号,父项目标记后,子项目中在添加依赖时就不需要手动添加版本号,交由父项目来统一管理。

参考答案:

Maven的dependencyManagement标签,这个标签只负责维护版本号,父项目在这里添加了依赖后,子项目在写依赖时不需要手动指定版本号了,(注意:在dependencyManagement标签中加入的依赖后Maven不会立即导入此依赖,而是在子项目引用此依赖的时候Maven在会开始导入依赖) ,所以,在子项目引用此依赖时,只需要写artifactId和groupId,而version则由dependencyManagement帮助你管理

解题思路: dependencyManagement标签主要用在在父项目中声明依赖的版本信息。

30、已知: Integer a = 129;Integer b = 129;
a==b 的结果是什么?为什么?

结果是false

首先,因为Integer是int基本数据类型的包装类,int的数值大小区间为-128-127,超出此范围; 其次,作为引用类型,==比较的是a和b的引用地址而不是数值大小,Integer类型比较数值大小可以用.equals()的方法。 a和b的引用地址不同,其比较结果为false。

参考答案:

对于这样直接赋值的Integer当值的范围在[-128,127]时候不会生成新的对象,直接把缓存中的对对象拿来用。Integer a=129;Integer b=129;分别会生成两个新的对象,这样的话就是false了。

解题思路: 包装类常量池


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1119536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自然语言处理---huggingface平台使用指南

1 huggingface介绍 Huggingface总部位于纽约&#xff0c;是一家专注于自然语言处理、人工智能和分布式系统的创业公司。他们所提供的聊天机器人技术一直颇受欢迎&#xff0c;但更出名的是他们在NLP开源社区上的贡献。Huggingface一直致力于自然语言处理NLP技术的平民化(democr…

数据结构 MapSet(搜索)

数据结构 Map&Set(搜索) 文章目录 数据结构 Map&Set(搜索)1. 搜索树1.1 概念1.2 初始构建1.3 操作-插入1.4 操作-查找1.5 操作-删除1.6 性能分析 2. 搜索介绍2.1 概念及场景2.2 模型 3. Map的使用3.1 关于Map的说明3.2 关于Map.Entry<K, V>的说明3.3 Map的常用方…

Hadoop3教程(三十一):(生产调优篇)异构存储

文章目录 &#xff08;157&#xff09;异构存储概述概述异构存储的shell操作 &#xff08;158&#xff09;异构存储案例实操参考文献 &#xff08;157&#xff09;异构存储概述 概述 异构存储&#xff0c;也叫做冷热数据分离。其中&#xff0c;经常使用的数据被叫做是热数据&…

寻找Windows API 原始字节(x64dbg)

首先我们将我们的木马移入x64dbg 第一种方法 通过命令寻找 disasm CreateRemoteThreadEx第二种方法 将调试器附加到kernelbase.dll后转到符号选项卡&#xff0c;最后&#xff0c;在搜索栏中&#xff0c;我们可以搜索CreateRemoteThreadEx函数并双击它以获取下列&#xff1a…

深度学习---神经网络基础

深度学习概述 机器学习是实现人工智能的一种途径&#xff0c;深度学习是机器学习的一个子集&#xff0c;深度学习是实现机器学习的一种方法。与机器学习算法的主要区别如下图所示&#xff1a; 传统机器学习算术依赖人工设计特征&#xff0c;并进行特征提取&#xff0c;而深度学…

java新特性流 stream01

案例描述 今天跟着黑马程序员的视频&#xff0c;完成“瑞吉外卖”项目的菜品信息管理模块的时候&#xff0c;遇到了一个比较陌生的写法 用到了Java8的新特性 stream().map((item) -> {}).collect() List<DishDto> collect records.stream().map((item) -> {DishDt…

Elasticsearch 8.9 Master节点处理请求源码

大家看可以看ElasticSearch源码&#xff1a;Rest请求与Master节点处理流程&#xff08;1&#xff09; 这个图非常好&#xff0c;下午的讲解代码在各个类和方法之间流转&#xff0c;都体现这个图上 一、Master节点处理请求的逻辑1、节点(数据节点)要和主节点进行通讯&#xff0…

H5随机短视频滑动版带打赏源码,可封装APP软件或嵌入式观看

H5随机短视频滑动版带打赏源码&#xff0c;可封装APP软件或嵌入式观看&#xff0c;网站引流必备源码&#xff01; 数据来源抖音和快手官方短视频链接&#xff0c;无任何违规内容&#xff01;可自行添加广告等等&#xff01; 手机端完美支持滑动屏幕观看&#xff08;向上或向右…

STM32不使用 cubeMX实现外部中断

这篇文章将介绍如何不使用 cubeMX完成外部中断的配置和实现。 文章目录 前言一、文件加入工程二、代码解析exti.cexti.hmain.c 注意&#xff1a;总结 前言 实验开发板&#xff1a;STM32F103C8T6。所需软件&#xff1a;keil5 &#xff0c; cubeMX 。实验目的&#xff1a;如何不…

【【萌新的FPGA学习之分频器的介绍】】

萌新的FPGA学习之分频器的介绍 分频器的介绍 分频就是生成一个新时钟&#xff0c;该新时钟的频率是原有时钟频率的整数分之一倍&#xff0c;新周期是原有周期的整数倍。再简单来说&#xff0c;让你手撕一个四分频电路&#xff0c;就是写代码生成一个周期是原来四倍的时钟&…

PMP的智慧(2) - 系统性思考及复杂性

PMP的智慧(2) - 系统性思考及复杂性 在2021年推出的第七版《管理专业知识体系指南》中&#xff0c;PMI在传统的过程和ITTO的基础上&#xff0c;重新增加了12大项目管理原则。 管家式管理 stewardship团队 team干系人 stakeholders价值 value系统思考 system thinking领导力 l…

Excel函数中单元格的引用方式

如下图在D列第一行输入sum(A1:C1)&#xff1b; 回车之后结果如下&#xff1b;先要输入等号&#xff0c;然后输入sum&#xff0c;以及左括号&#xff0c;这是调用了sum求和函数&#xff1b; A1表示A列第一行&#xff0c;C1表示C列第一行&#xff1b; A1:C1&#xff0c;中间是冒号…

实践DDD模拟电商系统总结

目录 一、事件风暴 二、系统用例 三、领域上下文 四、架构设计 &#xff08;一&#xff09;六边形架构 &#xff08;二&#xff09;系统分层 五、系统实现 &#xff08;一&#xff09;项目结构 &#xff08;二&#xff09;提交订单功能实现 &#xff08;三&#xff0…

【Objective-C】浅析Block及其捕获机制

目录 Block的基本使用Block的声明Block的实现Block的调用 Block作为形参使用Block作为属性使用给Block起别名Block的copy Block的捕获机制auto类型的局部变量__block浅析static类型的局部变量全局变量 其他问题 Block的基本使用 什么是Block&#xff1f; Block &#xff08;块…

【深度学习实验】循环神经网络(五):基于GRU的语言模型训练(包括自定义门控循环单元GRU)

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容&#xff08;一&#xff09;自定义门控循环单元&#xff08;GRU&#xff0c;Gated Recurrent Unit&#xff09;1. get_params2. init_gru_state3. gru &#xff08;二&#xff09;创建模型0. 超参数…

[AUTOSAR][诊断管理][$11] 复位服务

文章目录 一、简介(1) 应用场景&#xff08;2&#xff09; 请求格式&#xff08;3&#xff09; 重启类型 二、示例代码(1) 11_ecu_reset.c 一、简介 ECU复位服务就是可以此诊断指令来命令ECU执行自复位&#xff0c;复位有多种形式&#xff0c;依据子功能参数来区分&#xff08…

【Javascript】构造函数之new的作用

目录 new的作用 把对象返回了回来 无new 有new 把构造函数的this指向了要返回的对象 无new​编辑 有new new的执行流程 new的作用 创建了新空对象将构造函数的作用域赋值给新对象(this指向新对象)执行构造函数代码 &#xff08;为这个新对象添加属性&#xff09;返回新对…

网络协议--Ping程序

7.1 引言 “ping”这个名字源于声纳定位操作。Ping程序由Mike Muuss编写&#xff0c;目的是为了测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机&#xff0c;并等待返回ICMP回显应答&#xff08;图6-3列出了所有的ICMP报文类型&#xff09;。 一般来说&#x…

HTML+CSS+JS+Django 实现前后端分离的科学计算器、利率计算器

&#x1f9ee;前后端分离计算器 &#x1f4da;git仓库链接和代码规范链接&#x1f4bc;PSP表格&#x1f387;成品展示&#x1f3c6;&#x1f3c6;科学计算器&#xff1a;1. 默认界面与页面切换2. 四则运算、取余、括号3. 清零Clear 回退Back4. 错误提示 Error5. 读取历史记录Hi…

​CUDA学习笔记(三)CUDA简介

本篇博文转载于https://www.cnblogs.com/1024incn/tag/CUDA/&#xff0c;仅用于学习。 前言 线程的组织形式对程序的性能影响是至关重要的&#xff0c;本篇博文主要以下面一种情况来介绍线程组织形式&#xff1a; 2D grid 2D block 线程索引 矩阵在memory中是row-major线性…