当前位置: 首页 > news >正文

第35周Zookkeeper+Dubbo Zookkeeper

第35周ZooKeeper+Dubbo ZooKeeper

一、周介绍

本周主要内容包括ZooKeeper、Dubbo以及面试三部分。

1.1 ZooKeeper

  1. 节点介绍

    • ZooKeeper的数据结构核心是每个node节点。节点具有属性、特点和功能,其数据结构为树形结构,类似于多叉树,分隔符是一杠一杠的形式。
    • 节点特点包括可以存储数据(但数据要简洁)、具有树形结构且有父子节点之分、有版本号概念用于防止误操作、可以在节点上设置监听器以感知变化。
    • 节点类型包括持久节点和临时节点,以及顺序节点。顺序节点可以在节点后面加十位数字,保证在同一个父节点下顺序唯一。
  2. 节点常见命令

    • 掌握ZooKeeper的常见命令是基础内容,包括增删改查操作以及与版本号相关的高级命令。
    • 常用命令有:create(创建节点)、delete(删除节点)、get(获取节点信息)、set(修改节点内容)、ls(查看节点内容)等。
    • 高级命令涉及版本号、顺序节点和临时节点等内容,例如使用版本号可以避免误删除,顺序节点可以在节点后面加数字表示顺序。
  3. watch机制和acl权限控制

    • watch机制 :watcher机制是ZooKeeper的重要特性,相当于一个监视器,能够感知节点内容的变化、删除以及子节点的操作,并及时进行通知。适合使用它的场景包括配置中心等,当配置数据发生变化时,可以通知到监听的客户端。
    • acl权限控制 :acl权限控制机制包括create、read、write、delete以及admin五种权限。权限方案有Word权限(所有人均可操作)、OS权限(经过认证的用户可以使用)、OS+Digest权限(增加密码验证)、IP权限(仅特定IP可访问)等。
  4. 客户端开发

    • 原生客户端 :使用ZooKeeper提供的Java原生客户端可以进行节点的创建、连接、删除等操作,还可以进行监听事件的处理。
    • Curator客户端 :Curator客户端相比原生客户端具有优势,如断线重连功能。Curator提供了更便捷的操作方式,例如创建节点时可以指定临时或持久,设置节点值,进行增删改查操作,还可以实现永久监听。

1.2 Dubbo

  1. RPC调用

    • Dubbo是rpc领域的明星框架。在Dubbo下,各服务之间的关系以及如何进行rpc远程调用是重要的内容。Dubbo特别适合作为注册中心,可以整合Dubbo进行通信。
  2. 整合案例开发

    • 通过整合Dubbo开发多模块项目,利用Dubbo进行通信,与Spring Cloud的通信方式不同,Dubbo通过RPC调用减少对HTTP接口的依赖。在开发中对比RPC和HTTP的优劣,了解它们的区别。

1.3 面试讲解

  1. 线程进阶面试题

    • 对线程进阶的常见面试题进行系统性梳理,以问题和回答的形式演练如何回答这些问题,引导面试官。
  2. 分布式微服务面试题

    • 系统性梳理分布式微服务的知识,介绍与Spring Cloud、ZooKeeper等内容相关的面试题,如“你如何理解ZooKeeper?”以及“它在什么场景下适用?”等问题。

二、ZooKeeper章节介绍

2.1 ZooKeeper概述

ZooKeeper是一个重要的概念,用于解决分布式系统中的协调问题。它的诞生源于雅虎研究院的研究小组,旨在解决单点问题,提供一个高可用、数据一致的分布式协调框架。

2.2 ZooKeeper特点和作用

  1. 特点

    • 顺序一致性 :同一个客户端发送的请求会按照顺序生效。
    • 原子性 :要么全部成功,要么全部失败,没有中间结果。对于ZooKeeper集群的操作,它会保证集群中所有应用的状态是一致的。
    • 单一系统映像 :无论连接到哪一个服务器,其对外提供的数据都是一致的。
    • 可靠性 :执行一个内容后,该内容会被一直保留,除非有其他人对该内容进行更改。
    • 及时性 :对某一个服务器进行了数据操作,那么在一个特定的时间之内,所有的服务器都会看到该操作,并且应用成功。
  2. 作用

    • 分布式锁 :利用节点的唯一性特性,在分布式情况下,必须有一个全局唯一的标记,获取此标记即获得锁。
    • 配置中心 :利用ZooKeeper的监听能力(watcher),当某个节点的内容发生变化,所有监听过该节点的客户端都能收到通知。
    • 服务注册与发现 :可以用于保存与服务相关的信息,当有新服务出现或旧服务发生变化时,这些信息可以稳定地对外提供。
    • 分布式唯一ID :ZooKeeper能够对外提供统一一致的数据,可以用于生成唯一的ID,如在生成订单时确保每个订单号都是唯一的。

2.3 ZooKeeper安装配置

  1. Linux下安装

    • 下载ZooKeeper的最新版本,解压缩后进行配置。将conf/zoo_sample.cfg复制为zoo.cfg,修改其中的配置项,如tickTimeclientPort。使用bin/zkServer.sh脚本启动和关闭ZooKeeper服务。
  2. Windows下安装

    • 在Windows系统中,下载相应的文件并解压缩。执行.cmd文件启动服务,若未提前复制配置文件,可能会遇到报错。若配置已完成,执行该文件即可启动。
  3. Mac OS下安装

    • 支持通过brew进行安装,使用brew install命令即可完成安装。

2.4 ZooKeeper重要概念

  1. 节点ZNode

    • ZNode是ZooKeeper的基本数据单元,具有多种性质和特点。数据结构为树形结构,可以存储信息,但数据要尽量简洁。节点分为持久节点和临时节点,以及顺序节点。
  2. ZooKeeper命令

    • 掌握ZooKeeper的常用命令,包括增删改查操作以及高级命令。通过命令行对ZooKeeper进行实际操练,实现对节点的操作。

2.5 内容总结

ZooKeeper是一个分布式协调服务,用于解决分布式系统中的协调问题。它具有高可用、数据一致的特点,可以用于实现分布式锁、配置中心、服务注册与发现、分布式唯一ID等功能。安装配置过程相对简单,在Linux、Windows和Mac OS下都有相应的安装方法。通过命令行可以对ZooKeeper进行操作,完成节点的增删改查等操作。同时,ZooKeeper提供了watch机制和acl权限控制,用于监听节点的变化和控制权限。在客户端开发中,可以使用ZooKeeper的原生客户端和Curator客户端,Curator客户端具有断线重连等优势,操作更加方便。

相关文章:

第35周Zookkeeper+Dubbo Zookkeeper

第35周ZooKeeperDubbo ZooKeeper 一、周介绍 本周主要内容包括ZooKeeper、Dubbo以及面试三部分。 1.1 ZooKeeper 节点介绍 ZooKeeper的数据结构核心是每个node节点。节点具有属性、特点和功能,其数据结构为树形结构,类似于多叉树,分隔符是…...

基于tabula对pdf中多个excel进行识别并转换成word中的优化(四)

对上一节进行优化: 1、识别多个excel 2、将表格中的nan替换成空字符串 一、示例中的pdf内容 二、完整代码参考: import tabula import numpy as np from docx import Document from docx.oxml.ns import qn from docx.oxml import OxmlElementdef get_t…...

Electron-vite中ELECTRON_RENDERER_URL环境变量如何被设置的

近期我专注于前端技术栈 Electron 与 Vue3 的学习实践,依照教程网站 快速开始 | electron-vite 的快速入门指引,搭建了一个示例项目。成功完成项目下载,并通过 npm run dev 命令启动项目后,在研读项目 main 目录下的 index.ts 文件…...

Electron Forge【实战】桌面应用 —— 将项目配置保存到本地

最终效果 定义默认配置 src/initData.ts export const DEFAULT_CONFIG: AppConfig {language: "zh",fontSize: 14,providerConfigs: {}, };src/types.ts export interface AppConfig {language: zh | enfontSize: numberproviderConfigs: Record<string, Recor…...

gem5-gpu 安装过程碰到的问题记录 关于使用 Ruby + Garnet

如何使用Garnet? 这并不像一组命令行参数那么简单。要使用gem5-gpu+garnet,您可能需要修改python配置脚本。 问题是配置文件gem5-gpu/configs/gpu_protocol/VI_hammer_fusion.py指定了链接的intBW和extBW。 看来Garnet不支持这一点。然而,似乎所有的链路都是相同的带宽,所…...

全平台开源即时通讯IM框架MobileIMSDK:7端+TCP/UDP/WebSocket协议,鸿蒙NEXT端已发布,5.7K Stars

一、基本介绍 MobileIMSDK是一套全平台原创开源IM通信层框架&#xff1a; 超轻量级、高度提炼&#xff0c;lib包50KB以内&#xff1b;精心封装&#xff0c;一套API同时支持UDP、TCP、WebSocket三种协议&#xff08;可能是全网唯一开源的&#xff09;&#xff1b;客户端支持iOS…...

《阿里Qwen3开源:AI新纪元的破晓之光》

《阿里Qwen3开源:AI新纪元的破晓之光》 惊爆!阿里释放 Qwen3 “大杀器” 在人工智能的星辰大海中,每一次新模型的诞生都如同点亮一颗新星,而阿里巴巴此次发布并开源 Qwen3,无疑是投下了一枚震撼弹,瞬间吸引了全球 AI 领域的目光。这不仅是阿里在 AI 征程上的一座重要里程…...

前端防护利器:disable-devtool 使用指南 - 保护你的Web应用安全

文章目录 前端防护利器:disable-devtool 使用指南 - 保护你的Web应用安全为什么需要禁用开发者工具?什么是 disable-devtool?安装与引入通过npm/yarn安装通过CDN引入ES6模块引入配置选项详解完整使用示例检测模式说明最佳实践在线考试系统防护敏感数据保护注意事项更多资源前…...

万物皆可执行:多功能机器人正在定义新生产力法则

引言 当波士顿动力的Atlas完成高难度体操动作&#xff0c;当特斯拉Optimus在工厂精准分拣零件&#xff0c;当小鹏Iron机器人以拟态双手递上咖啡——这些场景不再只是科幻电影的桥段&#xff0c;而是多功能机器人&#xff08;Polyfunctional Robots&#xff09;带来的真实变革…...

从车道检测项目入门open cv

从车道检测项目入门open cv 前提声明&#xff1a;非常感谢b站up主 嘉然今天吃带变&#xff0c;感谢其视频的帮助。同时希望各位大佬积积极提出宝贵的意见。&#x1f60a;&#x1f60a;&#x1f60a;(❁◡❁)(●’◡’●)╰(▽)╯ github地址&#xff1a;https://github.com/liz…...

Vue3取消网络请求的方法(AbortController)

在 Vue3 中&#xff0c;已经发出的请求是否可以被取消&#xff0c;取决于你使用的 HTTP 客户端库。Vue3 本身不直接处理 HTTP 请求&#xff0c;但通常搭配 Axios 或原生 fetch 使用。以下是两种主流方案的取消方法&#xff1a; 1. 使用 Axios CancelToken Axios 提供了 Cance…...

深度解析Qwen3:性能实测对标Gemini 2.5 Pro?开源大模型新标杆的部署挑战与机遇

大语言模型&#xff08;LLM&#xff09;的浪潮持续席卷技术圈&#xff0c;性能天花板不断被刷新。以 Gemini 2.5 Pro 为代表的闭源模型展现了惊人的能力&#xff0c;但其高昂的成本和有限的可访问性也让许多开发者望而却步。与此同时&#xff0c;开源力量正以前所未有的速度崛起…...

AI遇见端动态神经网络:Cephalon(联邦学习+多模态编码)认知框架构建

前引&#xff1a; 在数字化浪潮席卷全球的今天&#xff0c;数据爆炸与算力需求的指数级增长正推动着云计算向更智能、更高效的方向演进。面对海量终端设备的实时响应需求、复杂AI模型的分布式训练挑战&#xff0c;以及多场景数据的协同处理难题&#xff0c;传统云架构逐渐显露出…...

机器学习之五:基于解释的学习

正如人们有各种各样的学习方法一样&#xff0c;机器学习也有多种学习方法。若按学习时所用的方法进行分类&#xff0c;则机器学习可分为机械式学习、指导式学习、示例学习、类比学习、解释学习等。这是温斯顿在1977年提出的一种分类方法。 有关机器学习的基本概念&#xff0c;…...

高翔视觉slam中常见的OpenCV和Eigen的几种数据类型的内存布局及分配方式详解

vector<Eigen::Vector2d, Eigen::aligned_allocator<Eigen::Vector2d>> 内存布局及分配方式详解 1. 内存对齐的必要性 Eigen 的固定大小类型(如 Eigen::Vector2d、Eigen::Matrix4d 等)需要 16 字节内存对齐,以支持 SIMD 指令(如 SSE/AVX)的并行计算。若未对…...

电子电器架构 --- 人工智能、固态电池和先进自动驾驶功能等新兴技术的影响

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...

【C++11】类的新功能

前言 上文我们学习了包装器&#xff1a;function和bind。function可以包装一切可调用对象&#xff0c;并用统一的调用方式调用不同的可调用对象。bind则可以控制函数参数个数【C11】包装器&#xff1a;function与bind-CSDN博客 本文我们来学习C11的类中新增的一些功能 默认的移…...

1.6 点云数据获取方式——单目相机多视图几何

图1-6-1多视图几何重建 单目相机的多视图几何研究具有重要的理论与实际意义。在理...

马井堂-区块链技术:架构创新、产业变革与治理挑战(马井堂)

区块链技术&#xff1a;架构创新、产业变革与治理挑战 摘要 区块链技术作为分布式账本技术的革命性突破&#xff0c;正在重构数字时代的信任机制。本文系统梳理区块链技术的核心技术架构&#xff0c;分析其在金融、供应链、政务等领域的实践应用&#xff0c;探讨共识算法优化、…...

MicroBlaze软核的开发使用

一、MicroBlaze 介绍 MicroBlaze 是由 Xilinx 开发的一种可配置的 32 位 RISC 软处理器内核。它作为 FPGA 设计中的 IP 核&#xff0c;通过 Vivado 工具进行配置和集成。MicroBlaze 提供了高度的灵活性&#xff0c;允许开发人员根据应用需求调整处理器的功能、性能和资源占用。…...

是从原始数据到价值挖掘的完整流程解析,涵盖数据采集、清洗、存储、处理、建模、可视化等核心环节,并附上完整代码示例(含详细注释)及技术选型建议表

以下是从原始数据到价值挖掘的完整流程解析&#xff0c;涵盖数据采集、清洗、存储、处理、建模、可视化等核心环节&#xff0c;并附上完整代码示例&#xff08;含详细注释&#xff09;及技术选型建议表。 一、全流程技术栈概览 阶段核心任务关键技术/工具数据采集获取原始数据…...

【爬虫】案例-获取cbh电影

以cupfox.in为例子&#xff1a; 观察ts文件和m3u8文件&#xff0c;可以知道一个完整的视频是由多个ts文件组合&#xff0c;而m3u8则是记录所有ts文件信息的文本 思路 1.先爬一个ts&#xff0c;测试能否观看 2.爬m3u8文件&#xff0c;通过正则分析出变化的部分 3.完整的把每个…...

分治而不割裂—分治协同式敏捷工作模式

分治而不割裂&#xff1a;解密敏捷协同工作模式如何驱动大企业持续领跑 在数字化浪潮中&#xff0c;亚马逊仅用11天完成Prime Day全球技术架构升级&#xff0c;华为5G基站项目组创造过单周迭代47个功能模块的纪录&#xff0c;这些商业奇迹的背后&#xff0c;都隐藏着一个共性秘…...

【MySQL】聚合查询 和 分组查询

个人主页&#xff1a;♡喜欢做梦 欢迎 &#x1f44d;点赞 ➕关注 ❤️收藏 &#x1f4ac;评论 目录 &#x1f334; 一、聚合查询 &#x1f332;1.概念 &#x1f332;2.聚合查询函数 COUNT&#xff08;&#xff09; SUM&#xff08;&#xff09; AVG&#xff08;&…...

Weka通过10天的内存指标数据计算内存指标动态阈值

​ 在数据处理和监控系统中&#xff0c;动态阈值的计算是一种常见的方法&#xff0c;用以根据数据的实际分布和变化来调整阈值&#xff0c;从而更有效地监控和预警。在Weka中&#xff0c;虽然它主要是用于机器学习和数据挖掘的工具&#xff0c;但你可以通过一些间接的方法来实现…...

iOS签名的包支持推送功能吗?

推送失败的可能原因&#xff1a; 1. 生产包没有上报token &#xff0c;所以无法推送成功&#xff0c;需要检查是否在企业包签名后导致无法完成apns的注册&#xff0c;无法从Apple取到token 2. 问题可能出在证书上&#xff0c;因为iOS推送有一个开发证书和一个生产证书&#xff…...

JavaWeb:后端web基础(TomcatServletHTTP)

一、今日内容 二、Tomcat 介绍与使用 介绍 基本使用 小结 配置 配置 查找进程 三、Servlet 什么是Servlet 快速入门 需求 步骤 1.新建工程-模块&#xff08;Maven&#xff09; 2.修改打包方式-war 3.编写代码 /*** 可以选择继承HttpServlet*/ WebServlet("/hello&q…...

关于浏览器对于HTML实体编码,urlencode,Unicode解析

目录 HTML实体编码 URL编码 Unicode编码 解析层次逻辑 为什么<script></script>不可以编码符号 为什么不能编码JavaScript:协议 为什么RCDATA标签中的都会被解析成文本 为什么HTML编码了<>无法执行 HTML实体编码 通过特殊语法&#xff08;<、>…...

C++智能指针滥用带来的性能与内存问题有哪些

在现代C编程中&#xff0c;智能指针&#xff08;Smart Pointers&#xff09;已经成为开发者工具箱中不可或缺的一部分。它们作为一种对传统裸指针&#xff08;Raw Pointers&#xff09;的替代方案&#xff0c;旨在解决长期困扰C开发者的内存管理难题。C作为一门高性能的系统编程…...

C++算法(17):reverse函数用法详解,头文件<algorithm>与实战示例

在C中&#xff0c;std::reverse 函数用于反转容器或数组中元素的顺序&#xff0c;需包含头文件 <algorithm>。以下是其用法详解&#xff1a; 基本用法 函数原型&#xff1a; template <class BidirIt> void reverse(BidirIt first, BidirIt last); 参数&#xf…...

【滑动窗口】最大连续1的个数|将x减到0的最小操作数

文章目录 1.最大连续1的个数2.将x减到0的最小操作数 1.最大连续1的个数 解法&#xff1a; 1.暴力解法给定一个left指针固定左端点元素&#xff0c;再给定一个right指针从左端点元素开始遍历。 当遇到1时&#xff0c;让一个计数器cnt1&#xff0c;当遇到0时&#xff0c;让统计0…...

MySQL 在 CentOS 7 环境下的安装教程

&#x1f31f; 各位看官好&#xff0c;我是maomi_9526&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f680; 今天来学习C语言的相关知识。 &#x1f44d; 如果觉得这篇文章有帮助&#xff0c;欢迎您一键三连&#xff0c;分享给更…...

嵌入式复习第一章

1. 嵌入式系统概念、应用与特点 2. 嵌入式系统的硬件&#xff08; CPU 、外设&#xff09; 3. 主要嵌入式软件系统&#xff08;应用及 OS &#xff09; 4. 嵌入式系统的发展趋势 嵌入式系统定义 “以 应用为中心 &#xff0c;以计算机技术为基础&#xff0c;并且软硬件…...

【C#】.net core6.0无法访问到控制器方法,直接404。由于自己的不仔细,出现个低级错误,这让DeepSeek看出来了,是什么错误呢,来瞧瞧

&#x1f339;欢迎来到《小5讲堂》&#x1f339; &#x1f339;这是《C#》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。&#x1f339; &#x1f339;温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01;&#…...

Tailwind CSS 实战:基于 Kooboo 构建企业官网页面(三)

基于前两篇内容&#xff0c;继续完善企业官网页面&#xff1a; Tailwind CSS 实战&#xff1a;基于 Kooboo 构建企业官网页面&#xff08;一&#xff09;-CSDN博客 Tailwind CSS 实战&#xff1a;基于 Kooboo 构建企业官网页面&#xff08;二&#xff09;-CSDN博客 3.5 联系方…...

Opencv中图像深度(Depth)和通道数(Channels)区别

在OpenCV中&#xff0c;图像深度&#xff08;Depth&#xff09;和通道数&#xff08;Channels&#xff09;是两个完全不同的概念&#xff0c;需严格区分。以下是详细解析&#xff1a; 图像深度&#xff08;Depth&#xff09; 定义&#xff1a;指图像中每个像素通道的位数&#…...

【网络原理】从零开始深入理解HTTP的报文格式(一)

本篇博客给大家带来的是网络HTTP协议的知识点, 重点介绍HTTP的报文格式. &#x1f40e;文章专栏: JavaEE初阶 &#x1f680;若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅&#x1f68…...

Go语言之路————接口、泛型

Go语言之路————接口 前言接口定义实操&#xff0c;接口的定义和实现接口的继承空接口和Any 泛型类型集 结语 前言 我是一名多年Java开发人员&#xff0c;因为工作需要现在要学习go语言&#xff0c;Go语言之路是一个系列&#xff0c;记录着我从0开始接触Go&#xff0c;到后…...

Go语言中的 `time.Tick` 函数详解

time.Tick 是 Go 标准库中用于创建周期性定时器的简便函数。 函数签名 func Tick(d Duration) <-chan Time核心功能 创建一个周期性的定时器通道当 d < 0 时返回 nil返回一个只读的时间通道&#xff0c;定期发送当前时间 与 NewTicker 的关系 time.Tick 是 time.New…...

打印及判断回文数组、打印N阶数组、蛇形矩阵

打印回文数组 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1方法1&#xff1a; 对角线对称 左上和右下是对称的。 所以先考虑左上打印&#xff0c; m i n ( i 1 , j 1 ) \text min(i1,j1) min(i1,j1)&#xff0c;打印出来&#xff1a; 1 1 1 1 1 2 2 2 1 2 3 3 1 2 …...

【图像融合】基于非负矩阵分解分解 CNMF的高光谱和多光谱数据融合附MATLAB代码

基于CNMF的高光谱与多光谱数据融合技术详解 一、非负矩阵分解&#xff08;NMF&#xff09;与约束非负矩阵分解&#xff08;CNMF&#xff09;的核心原理 NMF的基本概念 非负矩阵分解&#xff08;NMF&#xff09;是一种通过将非负矩阵分解为两个非负矩阵乘积的降维方法。给定非负…...

HarmonyOS NEXT 诗词元服务项目开发上架全流程实战(一、项目介绍及实现效果)

在当今数字化时代&#xff0c;如何让传统文化与现代科技相结合&#xff0c;成为了一个值得思考的问题。诗词作为中国传统文化的重要组成部分&#xff0c;承载着丰富的历史信息和文化内涵。为了让更多人了解和欣赏诗词的魅力&#xff0c;我们决定开发一款基于HarmonyOS NEXT的诗…...

线性代数与数据学习

The Functions of Deep Learning (essay from SIAM News, December 2018) Deep Learning and Neural Nets...

Linux中的计划任务

一次性任务 功能介绍&#xff1a; 如果我们希望在将来的某个时间点去执行某件事件&#xff0c;这个事件执行完后任务就结束&#xff0c;那么我们 就可以使用一性计划任务。而要实现这种功能&#xff0c;我们需要任务 atd 服务。我们先查询一下系 统是否存在这个服务。 查看是…...

【C++】线程池

C 线程池介绍 什么是线程池&#xff1f; 线程池&#xff08;Thread Pool&#xff09; 是一种并发编程模型&#xff0c;用于管理和复用多个线程&#xff0c;避免频繁创建/销毁线程的开销。它通过预创建一组线程&#xff0c;并将任务提交到队列中&#xff0c;由空闲线程自动执行…...

美团社招一面

美团社招一面 做题 1、面试题 <style> .outer{width: 100px;background: red;height: 100px; }.inner {width: 50px;height: 50px;background: green; }</style> <div class"outer"><div class"inner"></div> </div>…...

C++:BST、AVL、红黑树

C:BST、AVL、红黑树 二叉搜索树&#xff08;BST&#xff09;二叉平衡搜索树&#xff08;AVL&#xff09;红黑树&#xff08;RBT&#xff09;三者对比什么情况下使用&#xff1f;C 标准库中的使用总结 二叉搜索树&#xff08;BST&#xff09; 二叉搜索树&#xff08;Binary Sea…...

算法笔记.染色法判断二分图

题目&#xff1a;&#xff08;来自AcWing&#xff09; 给定一个 n 个点 m 条边的无向图&#xff0c;图中可能存在重边和自环。 请你判断这个图是否是二分图。 输入格式 第一行包含两个整数 n 和 m。 接下来 m 行&#xff0c;每行包含两个整数 u 和 v&#xff0c;表示点 u …...

在 IDEA 中写 Spark 程序:从入门到实践

在大数据处理领域&#xff0c;Apache Spark 凭借其出色的性能和丰富的功能受到广泛欢迎。而 IntelliJ IDEA 作为一款功能强大的 Java 集成开发环境&#xff0c;为编写 Spark 程序提供了极大的便利。本文将详细介绍如何在 IDEA 中搭建 Spark 开发环境并编写运行 Spark 程序&…...

[Spring] Sentinel详解

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…...