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

目录

[1、关于分布式锁的说法,错误的是( )](#1、关于分布式锁的说法,错误的是( ))

2、JDK动态代理产生的代理类和委托类的关系是

3、下列关于ElasticSearch中基本概念描述错误的是

[4、Spring Cloud 中,Feign 是什么?](#4、Spring Cloud 中,Feign 是什么?)

[5、在JavaScript中,可以使用Date 对象的( )方法返回一个月中的号数](#5、在JavaScript中,可以使用Date 对象的( )方法返回一个月中的号数)

[6、关于Method中的invoke方法说法不正确的是( )](#6、关于Method中的invoke方法说法不正确的是( ))

[7、Open-Close原则的含义是一个软件系统( )。](#7、Open-Close原则的含义是一个软件系统( )。)

8、以下哪些是MVC模式的优点

9、下列关于ElasticSearch中核心概念描述正确的是

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

11、分布式锁与Java中线程的锁有何异同()

12、有关静态初始化块说法正确的是?

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

14、下列哪些操作会使线程释放锁资源?

[15、Spring Cloud OpenFeign的作用是什么?](#15、Spring Cloud OpenFeign的作用是什么?)

16、下列关于延迟队列描述错误的是

17、在利用延迟插件发送消息时,需要在convertAndSend方法中添加消息处理器结果及实现对应的方法,该处理器和方法的名字分别是

18、简述一下CAP原则

19、介绍一下nginx反向代理的作用

20、CAS和悲观锁锁的区别?


1、关于分布式锁的说法,错误的是( )

2、JDK动态代理产生的代理类和委托类的关系是

解题思路: JDK动态代理要求委托类实现一个接口,因为代理类要和委托类实现共同的接口

3、下列关于ElasticSearch中基本概念描述错误的是

解题思路: shard分片是指将一个index分成多个分片,每一个分片上保存一部分数据,不是指多个ES节点,因此C错

4、Spring Cloud 中,Feign 是什么?

解题思路: Feign相当于http客户端,提供了远程调用支持

5、在JavaScript中,可以使用Date 对象的( )方法返回一个月中的号数

getDate()

6、关于Method中的invoke方法说法不正确的是( )

不能访问私有方法

7、Open-Close原则的含义是一个软件系统( )。

8、以下哪些是MVC模式的优点

9、下列关于ElasticSearch中核心概念描述正确的是

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

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

11、分布式锁与Java中线程的锁有何异同()

解题思路: 线程锁可以使用Java提供的关键字或JUC相关API,并发锁通常使用第三方技术实现

12、有关静态初始化块说法正确的是?

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

14、下列哪些操作会使线程释放锁资源?

B.wait()

C.join()

15、Spring Cloud OpenFeign的作用是什么?

B.实现服务之间的通信

C.原理是基于代理实现的服务间调用

16、下列关于延迟队列描述错误的是

解题思路: 延迟队列就是普通的消息队列,没有什么不同,因此B错;自定义延迟队列只能给消息队列设置TTL,因此每一条经过该消息队列的消息TTL都是相同的,所有D错。

17、在利用延迟插件发送消息时,需要在convertAndSend方法中添加消息处理器结果及实现对应的方法,该处理器和方法的名字分别是

解题思路: 消息处理器的名字是MessagePostProcessor,需要重写postProcessMessage在发送请求前设置TTL

18、简述一下CAP原则

cap原则分别指的是数据一致性、高可用性和分区容错性,这三者不能同时满足,可以是cp或者ap,主要是针对分布式系统。

参考答案:

①一致性:对于客户端的每次读操作,要么读到的是最新的数据,要么读取失败。换句话说,一致性是站在分布式系统的角度,对访问本系统的客户端的一种承诺:要么我给您返回一个错误,要么我给你返回绝对一致的最新数据,不难看出,其强调的是数据正确。

②可用性:任何客户端的请求都能得到响应数据,不会出现响应错误。换句话说,可用性是站在分布式系统的角度,对访问本系统的客户的另一种承诺:我一定会给您返回数据,不会给你返回错误,但不保证数据最新,强调的是不出错。

③分区容忍性:由于分布式系统通过网络进行通信,网络是不可靠的。当任意数量的消息丢失或延迟到达时,系统仍会继续提供服务,不会挂掉。换句话说,分区容忍性是站在分布式系统的角度,对访问本系统的客户端的再一种承诺:我会一直运行,不管我的内部出现何种数据同步问题,强调的是不挂掉。

19、介绍一下nginx反向代理的作用

nginx相当于在客户端和服务端之间的中间人,通过nginx接收客户端的请求和返回服务端的响应。客户端访问的地址不是服务端的实际地址,作用是可以提高安全性,通过nginx配置实现负载均衡。

参考答案:

反向代理功能是nginx的三大主要功能之一。nginx一般同时做为静态web服务器和反向代理服务器,做为web服务器访问静态文件图片、css、js、html等文件,做为反向代理服务器把请求发给后端业务处理服务,如果有多个后端处理节点,会配置负载均衡功能。

20、CAS和悲观锁锁的区别?

参考答案:

悲观锁:将资源锁住,自己释放了,下一个线程才能访问,会阻塞程序

CAS:CAS是非阻塞的、轻量级的乐观锁


相关推荐
一只特立独行的猪6111 小时前
Java面试——集合篇
java·开发语言·面试
讓丄帝愛伱2 小时前
spring boot启动报错:so that it conforms to the canonical names requirements
java·spring boot·后端
weixin_586062022 小时前
Spring Boot 入门指南
java·spring boot·后端
ImomoTo3 小时前
HarmonyOS学习(十三)——数据管理(二) 关系型数据库
数据库·学习·harmonyos·arkts·鸿蒙
Dola_Pan5 小时前
Linux文件IO(二)-文件操作使用详解
java·linux·服务器
wang_book5 小时前
Gitlab学习(007 gitlab项目操作)
java·运维·git·学习·spring·gitlab
weixin_455446176 小时前
Python学习的主要知识框架
开发语言·python·学习
蜗牛^^O^6 小时前
Docker和K8S
java·docker·kubernetes
从心归零7 小时前
sshj使用代理连接服务器
java·服务器·sshj
IT毕设梦工厂8 小时前
计算机毕业设计选题推荐-在线拍卖系统-Java/Python项目实战
java·spring boot·python·django·毕业设计·源码·课程设计