面试题集合

告别复杂模型:用UFLD算法5分钟搞定车道线检测(附Python代码) 本文介绍了UFLD(Ultra Fast Lane Detection)算法在车道线检测中的高效应用,仅需5行核心代码即可实现实时检测,特别适合边缘计算设备。通过对比传统方法,UFLD在推理速度、模型大小和硬件需求上具有显著优势,是深度学习领域轻量级解决方案的典范。 阅读详情

 

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。

从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,

所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。

Dubbo面试题精集

默认使用的是什么通信框架,还有别的选择吗?

默认也推荐使用netty框架,还有mina。

服务调用是阻塞的吗?

默认是阻塞的,可以异步调用,没有返回值的可以这么做。

默认使用什么序列化框架,你知道的还有哪些?

默认使用Hessian序列化,还有Duddo、FastJson、Java自带序列化。

在java的序列化里面也是介绍rpc框架时候,在远程调用中,需要把参数和返回值通过网络传输,这个使用就要用到序列化将对象转变成字节流,从一端到另一端之后再反序列化回来变成对象。作用了说了,今天在看文章的时候发现别人贴出效率对比,hessian比java的序列化高出很多。特意补充下相关知识点。

百科:Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

hessian序列化
对象序列化的过程为:

         先将对象转为字节码或其它,然后再将其还原为对象

hessian序列化比Java序列化高效很多,而且生成的字节流也要短很多。

服务提供者能实现失效踢出是什么原理?

服务失效踢出基于zookeeper的临时节点原理。

服务上线怎么不影响旧版本?

采用多版本开发,不影响旧版本。

如何解决服务调用链过长的问题?

可以结合zipkin实现分布式服务追踪。

说说核心的配置有哪些?

核心配置有

dubbo:service/

dubbo:reference/

dubbo:protocol/

dubbo:registry/

dubbo:application/

dubbo:provider/

dubbo:consumer/

dubbo:method/

dubbo推荐用什么协议?

默认使用dubbo协议。

同一个服务多个注册的情况下可以直连某一个服务吗?

可以直连,修改配置即可,也可以通过telnet直接某个服务。

画一画服务注册与发现的流程图

流程图见dubbo.io。

Dubbo集群容错怎么做?

读操作建议使用Failover失败自动切换,默认重试两次其他服务器。写操作建议使用Failfast快速失败,发一次调用失败就立即报错。

在使用过程中都遇到了些什么问题?

使用过程中的问题可以百度

dubbo和dubbox之间的区别?

dubbox是当当网基于dubbo上做了一些扩展,如加了服务可restful调用,更新了开源组件等。

你还了解别的分布式框架吗?

别的还有spring的spring cloud,facebook的thrift,twitter的finagle等。 

1.Dubbo支持哪些协议,每种协议的应用场景,优缺点?

dubbo: 单一长连接和NIO异步通讯,适合大并发小数据量的服务调用,以及消费者远大于提供者。传输协议TCP,异步,Hessian序列化;
rmi: 采用JDK标准的rmi协议实现,传输参数和返回参数对象需要实现Serializable接口,使用java标准序列化机制,使用阻塞式短连接,传输数据包大小混合,消费者和提供者个数差不多,可传文件,传输协议TCP。 多个短连接,TCP协议传输,同步传输,适用常规的远程服务调用和rmi互操作。在依赖低版本的Common-Collections包,java序列化存在安全漏洞;
webservice: 基于WebService的远程调用协议,集成CXF实现,提供和原生WebService的互操作。多个短连接,基于HTTP传输,同步传输,适用系统集成和跨语言调用;
http: 基于Http表单提交的远程调用协议,使用Spring的HttpInvoke实现。多个短连接,传输协议HTTP,传入参数大小混合,提供者个数多于消费者,需要给应用程序和浏览器JS调用;
hessian: 集成Hessian服务,基于HTTP通讯,采用Servlet暴露服务,Dubbo内嵌Jetty作为服务器时默认实现,提供与Hession服务互操作。多个短连接,同步HTTP传输,Hessian序列化,传入参数较大,提供者大于消费者,提供者压力较大,可传文件;
memcache: 基于memcached实现的RPC协议
redis: 基于redis实现的RPC协议
2.Dubbo超时时间怎样设置?

 Dubbo超时时间设置有两种方式:

服务提供者端设置超时时间,在Dubbo的用户文档中,推荐如果能在服务端多配置就尽量多配置,因为服务提供者比消费者更清楚自己提供的服务特性。
服务消费者端设置超时时间,如果在消费者端设置了超时时间,以消费者端为主,即优先级更高。因为服务调用方设置超时时间控制性更灵活。如果消费方超时,服务端线程不会定制,会产生警告。
3.Dubbo有些哪些注册中心?

Multicast注册中心: Multicast注册中心不需要任何中心节点,只要广播地址,就能进行服务注册和发现。基于网络中组播传输实现;
Zookeeper注册中心: 基于分布式协调系统Zookeeper实现,采用Zookeeper的watch机制实现数据变更;
redis注册中心: 基于redis实现,采用key/Map存储,住key存储服务名和类型,Map中key存储服务URL,value服务过期时间。基于redis的发布/订阅模式通知数据变更;
Simple注册中心
4.Dubbo集群的负载均衡有哪些策略  

 Dubbo提供了常见的集群策略实现,并预扩展点予以自行实现。

负载均衡策略有( 随机、轮循、最少活跃调用数、一致性Hash)

Random LoadBalance

随机,按权重设置随机概率。

在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。

RoundRobin LoadBalance

轮循,默认,按公约后的权重设置轮循比率。

存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。

LeastActive LoadBalance

最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。

使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。

ConsistentHash LoadBalance

一致性 Hash,相同参数的请求总是发到同一提供者。

当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。

5.Dubbo监控中心搭建

 自行搭建
————————————————
版权声明:本文为优快云博主「阿甘带你学java」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/ganyouxian_java/article/details/81129157

YOLOv11改进策略【独家融合改进】| 模型轻量化二次改进:StarNet + FreqFusion,极限降参,适用专栏内所有轻量化模型 FreqFusion是一种旨在解决密集图像预测任务中特征融合问题。 阅读详情

相关推荐

银河麒麟服务器操作系统V10SP2实战:基于vsftpd构建多角色精细化权限FTP服务

本文详细介绍了在银河麒麟服务器操作系统V10SP2上基于vsftpd构建多角色精细化权限FTP服务的实战指南。从环境准备、核心配置到多角色用户权限管理,全面解析了FTP服务的部署与优化技巧,特别针对企业级应用场景提供了安全加固和故障排查方案。

weixin_30312563的博客 356

阿甘学Java-开篇

1.深入浅出,用接近自然语言来讲Java技术,入门的时候尽可能少用专业术语,第一次出现术语的地方我会做一些解释,或者备注上需要补充的内容给大家做参考; 2.我讲技术的方式可能跟大家在网上看的不太一样,重实用技术,轻理论,所以理论的东西需要大家下去自己去查,换句 话说就是去其浮躁,取之精华; 3.在讲解过程中,我会结合我做过的一些实战项目的案例给大家讲解,所以刚开始如果听不懂没关系,只要跟着我走就行了,后面自然会明白,学Java最忌讳的就是把什么都搞懂了再去动手,这种思想是万万不能有的。

jason的java世界 2114

从零到一:Zephyr RTOS 在 STM32F4 上的移植与实战(含设备树配置详解)

本文详细介绍了如何从零开始将Zephyr RTOS移植到STM32F4开发板,涵盖开发环境搭建、硬件抽象层分析、设备树配置及系统裁剪等关键步骤。通过实战案例,帮助开发者掌握Zephyr RTOS在嵌入式设备中的应用,提升物联网边缘计算设备的开发效率。

weixin_26976635的博客 588

阿甘学Java--lesson1

Java概述Java发展简史Java技术体系架构Java应用程序运行机制Java运行时环境(JRE) JRE的安装配置

jason的java世界 1577

深入解析WIFI与蓝牙模块电路设计:从原理到实战

本文深入解析了WIFI与蓝牙模块的电路设计,从核心原理到实战应用。文章以AP6256模块为例,详细拆解了电源树、时钟电路、接口设计及天线射频路径等关键环节,并提供了PCB布局布线的实用准则与调试方法,旨在帮助硬件工程师设计出稳定可靠的无线产品,规避常见陷阱。

weixin_29186249的博客 148

线性调频LFM脉冲压缩 连续波雷达仿真&线性调频信号仿真分析压缩matlab程序源码

13、线性调频信号(LFM)压缩感知的稀疏与重构算法(OMP)的matlab仿真程序(一个可以在matlab上运行的压缩感知实例;8、具有多普勒频移的线性调频信号(知道带宽、采样频率、T使用MATLAB仿真线性调频信号即LFM,同时具有多普勒频移时,匹配滤波后的波形变化。19、CW脉冲和LFM信号Matlab仿真(这是matlab仿真程序,实现了常规雷达信号CW和线性调频信号LFM的仿真)18、lfm信号模糊函数图 matlab(用matlab 实现的线性调频信号信号(lfm)的模糊函数图)

2301_77866396的博客 400

阿甘学Java视频--lesson1

阿甘学Java视频--lesson1          由于对录屏软件不太熟悉,摸索半天才录制成功了第一个视频,分享给大家。 视频信息:         时长:47分钟         作者:于盼盼         内容:配置java开发环境、编写第一个java源程序并分别用记事本和eclipse体验编写过程并测试、比较使用记事本和IDE eclipse在开发java应用

jason的java世界 832

差分运放电路输出电压偏置设计解析

差分运算放大电路是信号处理中的基础模块,通过差分对管结构实现共模抑制与差模放大。其核心原理基于运放的虚短虚断特性,当电阻网络满足对称条件时,输出电压与输入差分成正比。在工业测量系统中,由于ADC通常仅支持正电压输入,需要通过偏置电路将双极性信号平移至正电压范围。典型设计采用精密基准电压源和匹配电阻网络,既保持信号完整性又满足系统接口要求。本文以-100V高压测量为例,详细解析了分压网络设计、参考电压选取以及电阻匹配等关键技术要点,为传感器接口电路设计提供实践参考。

weixin_35750747的博客 468

集合面试题

一个大小有限的队列当队列添加满的时候, 添加线程等待/阻塞;当队列为空的时候, 删除线程等待/阻塞Iterator是Java提供的用于顺序访问集合数据的一个设计模式,通过Iterator可以对集合数据进行原地遍历(不需要再额外复制一份数据)Collection的子实现都实现了Iterator遍历数据的方式Java集合分为collection和map两大类,collection是存储的是对象,map存储的是键值对。

qq_54765948的博客 1862

DAC8568实战指南:如何用STM32实现8通道DAC精准控制(附代码)

本文提供DAC8568与STM32结合的实战指南,详细解析8通道16位DAC的精准控制方法。内容涵盖硬件连接、SPI配置、驱动层构建、时序调试及多通道同步输出等关键步骤,并附有经过验证的HAL库驱动代码,帮助工程师快速解决实际项目中的通信与输出稳定性问题。

weixin_29175469的博客 743

Python-自动化绘制股票价格通道线

创建更强大、更可靠的价格通道检测算法。

探索人工智能领域 947

Java集合常见面试题

Java集合常见面试题。

TV男神 1456

ArcGIS笔记2_如何将经纬度WGS84地理坐标系转换为米单位CGCS2000投影坐标系

本博文则主要讲解,如果我们手里拿到的shp文件是在ArcGIS中,如何将经纬度WGS84地理坐标系转换为米单位CGCS2000投影坐标系。

晏长街的博客 4万+

Java集合面试题

Java集合框架(Java Collections Framework)是Java提供的一套用于存储和操作对象的统一架构。它包含了一组接口、类和算法,用于表示和操作集合,如列表(List)、集合(Set)、映射(Map)等。

qq_36482202的博客 1015

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

常见的集合的面试题总结

集合的面试题总结

m0_56423338的博客 476

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java集合常见面试题汇总

Java集合常见面试题汇总 1. 写出 List、Set、Map的各自特点 List接口: 存储任意类型的Object对象,有序、有下标、元素可以重复; 下标范围:0~元素个数-1 0~size()-1 Set集合: 无序、无下标、元素内容不允许重复; Map集合: (1) Map以键值对形式存储(key-value)。 (2) 键:无序、无下标、元素不允许重复(唯一)。 (3) 值:无序、无下标、元素内容允许重复。 2. 写出 ArrayList 和 Vector的区别 a. ArrayList:

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 954

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

初级:集合框架面试题精讲

面试题:什么是Java集合框架?它有哪些主要的接口和类?答案:Java集合框架是一组用于表示和操作集合的类和接口。Collection接口:是集合框架的根接口,表示一组对象的集合。主要的子接口有List和Set。List接口:有序集合,允许重复元素。常见的实现类有ArrayList、LinkedList等。Set接口:无序集合,不允许重复元素。常见的实现类有HashSet、TreeSet等。Map接口:存储键值对的集合,键是唯一的。常见的实现类有HashMap、TreeMap等。

佩奇的技术笔记 1435

Java 44个集合面试题及答案

但从更大的范围和使用来看,Java 1.2 提出了集合框架,将所有集合接口、实现和算法分组。Java 集合通过使用泛型和并发集合类实现线程安全操作已经取得了长足的进步。它还包括 Java 并发包中的阻塞接口及其实现。通过使用核心集合类而不是实现我们自己的集合类来减少开发工作量。通过使用经过充分测试的集合框架类,代码质量得到提高。通过使用 JDK 附带的集合类减少代码维护工作量。可重用性和互操作性。

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 3433

Java 集合面试题

HashMap是不安全的,主要是因为HashMap内部在多线程并发访问的时候,没有进行同步处理,所以在是线程不安全的实现HashMap的线程安全有以下几种方法:调用Collections.syncronizedMap()方法来实现线程安全,会对所有方法调用加锁,确保同一时刻只有一个线程能够访问集合对象使用线程安全的集合类,如ConcurrentHashMap类,就是线程安全的。

lcy57__的博客 1398

Java集合框架面试题

Java集合框架面试题 常见集合 集合可以看作是一种容器,用来存储对象信息。 数组和集合的区别: (1)数组长度不可变化而且无法保存具有映射关系的数据;集合类用于保存数量不确定的数据,以及保存具有映射关系的数据。 (2)数组元素既可以是基本类型的值,也可以是对象;集合只能保存对象。 Java集合类主要由两个接口Collection和Map。 Collection接口派生出来的常用集合有: (主要)ArrayList、LinkedList (次要)HashSet、TreeSet、Vector(过去式) Map

weixin_45328073的博客 133

Java集合-面试题(79)

摘要: 1、通俗易懂,适合小白 2、仅做面试复习用,部分来源网络,博文免费,知识无价,侵权请联系!

weixin_42932609的博客 895

Java集合面试题学习

个人复习使用,不断维护

qq_74924951的博客 855

万字Java集合面试题总结

ArrayList的底层是动态数组,它的容量能动态增长。在添加大量元素前,应用可以使用操作增加ArrayList实例的容量。ArrayList 继承了 AbstractList ,并实现了 List 接口。分析ArrayList源码主要从三个方面去翻阅:成员变量,构造函数,关键方法以下源码都来源于jdk1.8二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只有左子节点,有的节点只有右子节点。

weixin_60800735的博客 387

【Java集合框架面试题(30道)】

Java集合框架 List、Map、Set常见面试题目;重点时Map,包含HashMap结构、设计原理、红黑树、1.8新特性中的优化内容、put流程等面试知识梳理。

独上高楼,望尽天涯路。 9873

【八股战神篇】Java集合高频面试题

通过分析上千篇面经和上万道面试题,提炼出高频面试题及其延伸问题。总结出来Java集合高频面试题。

m0_62332728的博客 1223

Java集合面试题汇总资源下载:面试必备良药,助你Java集合知识一臂之力

Java集合面试题汇总资源下载:面试必备良药,助你Java集合知识一臂之力 【下载地址】Java集合面试题汇总资源下载 此项目为Java开发者提供了《Java集合面试题汇总.pdf》文件的下载资源,内容涵盖Java集合框架的常见面试题目及详细解答。无论是初学者还是经验丰富的开发者,都能从中获取有价值的面试准备资料,深入理...

gitblog_06757的博客 817
上一篇: redis为什么快?
下一篇: 我的技术博客
阿甘带你学java
博客等级 码龄9年 55粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿甘带你学java

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值