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

互联网Java工程师面试题·Memcached 篇·第二弹

目录

10、memcached 如何实现冗余机制?

11、memcached 如何处理容错的?

12、如何将 memcached 中 item 批量导入导出?

13、如果缓存数据在导出导入之间过期了,您又怎么处理这些数据呢?

14、memcached 是如何做身份验证的?

15、memcached 的多线程是什么?如何使用它们?

16、memcached 能接受的 key 的最大长度是多少?

17、memcached 最大能存储多大的单个 item?

18、memcached 能够更有效地使用内存吗?

19、什么是二进制协议,我该关注吗?

20、memcached 的内存分配器是如何工作的?为什么不适用malloc/free!?为何要使用 slabs?

21、memcached 是原子的吗?

22、如何实现集群中的 session 共享存储?

23、memcached 与 redis 的区别?


10memcached 如何实现冗余机制?

        不实现!我们对这个问题感到很惊讶。 Memcached 应该是应用的缓存层。它的设计本身就不带有任何冗余机制。如果一个 memcached 节点失去了所有数据,您应该可以从数据源(比如数据库)再次获取到数据。您应该特别注意,您的应用应该可以容忍节点的失效。不要写一些糟糕的查询代码,寄希望于 memcached来保证一切!如果您担心节点失效会大大加重数据库的负担,那么您可以采取一些办法。比如您可以增加更多的节点(来减少丢失一个节点的影响),热备节点(在其他节点 down 了的时候接管 IP ),等等。

11memcached 如何处理容错的?

        不处理! 在 memcached 节点失效的情况下,集群没有必要做任何容错处理。如果发生了节点失效,应对的措施完全取决于用户。节点失效时,下面列出几种方案供您选择:
       
        忽略它! 在失效节点被恢复或替换之前,还有很多其他节点可以应对节点失效带来的影响。
       
        把失效的节点从节点列表中移除。做这个操作千万要小心!在默认情况下(余数式哈希算法),客户端添加或移除节点,会导致所有的缓存数据不可用!因为哈希参照的节点列表变化了,大部分 key 会因为哈希值的改变而被映射到(与原来)不同的节点上。
        启动热备节点,接管失效节点所占用的 IP 。这样可以防止哈希紊乱(hashing chaos )。
        如果希望添加和移除节点,而不影响原先的哈希结果,可以使用一致性哈希算法(consistent hashing )。您可以百度一下一致性哈希算法。支持一致性哈希的客户端已经很成熟,而且被广泛使用。去尝试一下吧!
        两次哈希( reshing )。当客户端存取数据时,如果发现一个节点 down了,就再做一次哈希(哈希算法与前一次不同),重新选择另一个节点(需要注意的时,客户端并没有把 down 的节点从节点列表中移除,下次还是有可能先哈希到它)。如果某个节点时好时坏,两次哈希的方法就有风险了,好的节点和坏的节点上都可能存在脏数据(stale data )。

12、如何将 memcached item 批量导入导出?

您不应该这样做! Memcached 是一个非阻塞的服务器。任何可能导致memcached 暂停或瞬时拒绝服务的操作都应该值得深思熟虑。向 memcached中批量导入数据往往不是您真正想要的!想象看,如果缓存数据在导出导入之间发生了变化,您就需要处理脏数据了;

13、如果缓存数据在导出导入之间过期了,您又怎么处理这些数据呢?

        因此,批量导出导入数据并不像您想象中的那么有用。不过在一个场景倒是很有用。如果您有大量的从不变化的数据,并且希望缓存很快热(warm )起来,批量导入缓存数据是很有帮助的。虽然这个场景并不典型,但却经常发生,因此我们会考虑在将来实现批量导出导入的功能。
        如果一个 memcached 节点 down 了让您很痛苦,那么您还会陷入其他很多麻烦。您的系统太脆弱了。您需要做一些优化工作。比如处理” 惊群 问题(比如memcached 节点都失效了,反复的查询让您的数据库不堪重负 这个问题在 FAQ的其他提到过),或者优化不好的查询。记住,Memcached 并不是您逃避优化查询的借口。

14memcached 是如何做身份验证的?

        没有身份认证机制! memcached 是运行在应用下层的软件(身份验证应该是应用上层 的职 责)。memcached 的客户端和服务器端之所以是轻量级的,部分原因就是完全没有实现身份验证机制。这样,memcached 可以很快地创建新连接,服务器端也无需任何配置。如果您希望限制访问,您可以使用防火墙,或者让 memcached 监听 unix domain socket。

15memcached 的多线程是什么?如何使用它们?

        线程就是定律( threads rule )!在 Steven Grimm Facebook 的努力下,memcached 1.2 及更高版本拥有了多线程模式。多线程模式允许 memcached 能够充分利用多个 CPU ,并在 CPU 之间共享所有的缓存数据。 memcached 使用一种简单的锁机制来保证数据更新操作的互斥。相比在同一个物理机器上运行多个memcached 实例,这种方式能够更有效地处理 multi gets
        如果您的系统负载并不重,也许您不需要启用多线程工作模式。如果您在运行一个拥有大规模硬件的、庞大的网站,您将会看到多线程的好处。
        简单地总结一下:命令解析( memcached 在这里花了大部分时间)可以运行在多线程模式下。memcached 内部对数据的操作是基于很多全局锁的(因此这部分工作不是多线程的)。未来对多线程模式的改进,将移除大量的全局锁,提高memcached 在负载极高的场景下的性能。

16memcached 能接受的 key 的最大长度是多少?

key 的最大长度是 250 个字符。需要注意的是, 250 memcached 服务器端内部的限制,如果您使用的客户端支持”key 的前缀 或类似特性,那么 key (前缀+原始 key )的最大长度是可以超过 250 个字符的。我们推荐使用使用较短的 key ,因为可以节省内存和带宽。

memcached 对 item 的过期时间有什么限制?

        过期时间最大可以达到 30 天。 memcached 把传入的过期时间(时间段)解释成时间点后,一旦到了这个时间点,memcached 就把 item 置为失效状态。这是一个简单但 obscure 的机制。

17memcached 最大能存储多大的单个 item

        1MB 。如果你的数据大于 1MB ,可以考虑在客户端压缩或拆分到多个 key 中。
为什么单个 item 的大小被限制在 1M byte 之内?
这是一个大家经常问的问题!
简单的回答:因为内存分配器的算法就是这样的。
详细的回答: Memcached 的内存存储引擎(引擎将来可插拔 ),使用 slabs 来管理内存。内存被分成大小不等的 slabs chunks (先分成大小相等的 slabs ,然后每个 slab 被分成大小相等 chunks ,不同 slab chunk 大小是不相等的)。 chunk的大小依次从一个最小数开始,按某个因子增长,直到达到最大的可能值。

18memcached 能够更有效地使用内存吗?

        Memcache 客户端仅根据哈希算法来决定将某个 key 存储在哪个节点上,而不考虑节点的内存大小。因此,您可以在不同的节点上使用大小不等的缓存。但是一般都是这样做的:拥有较多内存的节点上可以运行多个 memcached 实例,每个实例使用的内存跟其他节点上的实例相同。

19、什么是二进制协议,我该关注吗?

关于二进制最好的信息当然是二进制协议规范:
二进制协议尝试为端提供一个更有效的、可靠的协议,减少客户端 / 服务器端因处理协议而产生的 CPU 时间。
根据 Facebook 的测试,解析 ASCII 协议是 memcached 中消耗 CPU 时间最多的环节。所以,我们为什么不改进 ASCII 协议呢?

20memcached 的内存分配器是如何工作的?为什么不适用malloc/free!?为何要使用 slabs?

        实际上,这是一个编译时选项。默认会使用内部的 slab 分配器。您确实确实应该使用内建的 slab 分配器。最早的时候, memcached 只使用 malloc/free 来管理内存。然而,这种方式不能与 OS 的内存管理以前很好地工作。反复地 malloc/free造成了内存碎片,OS 最终花费大量的时间去查找连续的内存块来满足 malloc 的请求,而不是运行 memcached 进程。如果您不同意,当然可以使用 malloc !只是不要在邮件列表中抱怨啊
        slab 分配器就是为了解决这个问题而生的。内存被分配并划分成 chunks ,一直被重复使用。因为内存被划分成大小不等的 slabs ,如果 item 的大小与被选择存放它的 slab 不是很合适的话,就会浪费一些内存。 Steven Grimm 正在这方面已经做出了有效的改进。

21memcached 是原子的吗?

        所有的被发送到 memcached 的单个命令是完全原子的。如果您针对同一份数据同时发送了一个 set 命令和一个 get 命令,它们不会影响对方。它们将被串行化、先后执行。即使在多线程模式,所有的命令都是原子的,除非程序有 bug:)
        命令序列不是原子的。如果您通过 get 命令获取了一个 item ,修改了它,然后想把它 set memcached ,我们不保证这个 item 没有被其他进程( process ,未必是操作系统中的进程)操作过。在并发的情况下,您也可能覆写了一个被其他进程 set item
        memcached 1.2.5 以及更高版本,提供了 gets cas 命令,它们可以解决上面的问题。如果您使用 gets 命令查询某个 key item memcached 会给您返回该 item 当前值的唯一标识。如果您覆写了这个 item 并想把它写回到 memcached中,您可以通过 cas 命令把那个唯一标识一起发送给 memcached 。如果该 item存放在 memcached 中的唯一标识与您提供的一致,您的写操作将会成功。如果另一个进程在这期间也修改了这个 item ,那么该 item 存放在 memcached 中的唯一标识将会改变,您的写操作就会失败

22、如何实现集群中的 session 共享存储?

        Session 是运行在一台服务器上的,所有的访问都会到达我们的唯一服务器上,这样我们可以根据客户端传来的 sessionID ,来获取 session ,或在对应 Session 不存在的情况下(session 生命周期到了 / 用户第一次登录),创建一个新的 Session ;但是,如果我们在集群环境下,假设我们有两台服务器 A B ,用户的请求会由Nginx 服务器进行转发(别的方案也是同理),用户登录时, Nginx 将请求转发至服务器 A 上, A 创建了新的 session ,并将 SessionID 返回给客户端,用户在浏览其他页面时,客户端验证登录状态,Nginx 将请求转发至服务器 B ,由于 B 上并没有对应客户端发来 sessionId session ,所以会重新创建一个新的 session ,并且再将这个新的 sessionID 返回给客户端,这样,我们可以想象一下,用户每一次操作都有 1/2 的概率进行再次的登录,这样不仅对用户体验特别差,还会让服务器上的 session 激增,加大服务器的运行压力。为了解决集群环境下的 seesion 共享问题,共有 4 种解决方案:
1. 粘性 session
粘性 session 是指 Ngnix 每次都将同一用户的所有请求转发至同一台服务器上,即将用户与服务器绑定。
2. 服务器 session 复制
即每次 session 发生变化时,创建或者修改,就广播给所有集群中的服务器,使所有的服务器上的 session 相同。
3.session 共享
缓存 session ,使用 redis memcached
4.session 持久化
session 存储至数据库中,像操作数据一样才做 session

23memcached redis 的区别?

1 Redis 不仅仅支持简单的 k/v 类型的数据,同时还提供 list set zset hash等数据结构的存储。而 memcache 只支持简单数据类型,需要客户端自己处理复杂对象
2 Redis 支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用(PS :持久化在 rdb aof )。
3 、由于 Memcache 没有持久化机制,因此宕机所有缓存数据失效。 Redis 配置为持久化,宕机重启后,将自动加载宕机时刻的数据到缓存系统中。具有更好的灾备机制。
4 Memcache 可以使用 Magent 在客户端进行一致性 hash 做分布式。 Redis 支持在服务器端做分布式(PS:Twemproxy/Codis/Redis-cluster 多种分布式实现方式)
5 Memcached 的简单限制就是键( key )和 Value 的限制。最大键长为 250 个字符。可以接受的储存数据不能超过 1MB (可修改配置文件变大),因为这是典型 slab 的最大值,不适合虚拟机使用。而 Redis Key 长度支持到 512k
6 Redis 使用的是单线程模型,保证了数据按顺序提交。 Memcache 需要使用cas 保证数据一致性。CAS Check and Set )是一个确保并发一致性的机制,属于“ 乐观锁 范畴;原理很简单:拿版本号,操作,对比版本号,如果一致就操作,不一致就放弃任何操作cpu 利用。由于 Redis 只使用单核,而 Memcached 可以使用多核,所以平均每一个核上 Redis 在存储小数据时比 Memcached 性能更 高。而在 100k 以上的数据中,Memcached 性能要高于 Redis
7 memcache 内存管理:使用 Slab Allocation 。原理相当简单,预先分配一系列大小固定的组,然后根据数据大小选择最合适的块存储。避免了内存碎片。(缺点:不能变长,浪费了一定空间)memcached 默认情况下下一个 slab 的最大值为前一个的 1.25 倍。
8 redis 内存管理: Redis 通过定义一个数组来记录所有的内存分配情况, Redis采用的是包装的 malloc/free ,相较于 Memcached 的内存 管理方法来说,要简单很多。由于 malloc 首先以链表的方式搜索已管理的内存中可用的空间分配,导致内存碎片比较多

要想了解更多:

千题千解·Java面试宝典_时光の尘的博客-CSDN博客

相关文章:

互联网Java工程师面试题·Memcached 篇·第二弹

目录 10、memcached 如何实现冗余机制? 11、memcached 如何处理容错的? 12、如何将 memcached 中 item 批量导入导出? 13、如果缓存数据在导出导入之间过期了,您又怎么处理这些数据呢? 14、memcached 是如何做身份…...

特斯拉被称为自动驾驶领域的苹果

特斯拉的自动驾驶技术无疑是居于世界上领先地位的,有人形容特斯拉是自动驾驶汽车领域的苹果。特斯拉发布的Tesla Vision系统只配备了摄像头,不依靠雷达。 这并不是特斯拉唯一和其它对手不同的地方,他们的整个战略都是基于车队和销售产品,而其大多数竞争对手则销售自…...

stm32之HAL库操作PAJ75620

一、模块简介 手势模块PAJ7620主要利用IIC或SPI协议来实现数据的传输,本实验用的模块是以IIC来进行信息传输。支持电压从2.8v到3.6v, 正常可以选择3.3v。检测的距离从5到15cm, 可以检测9种手势,包括 右:编码为 0x01左:编码为 0x0…...

医学影像归档与通讯系统(PACS)系统源码 PACS三维图像后处理技术

医学影像归档与通讯系统(PACS)系统源码 PACS三维图像处理 医学影像归档与通讯系统(PACS)系统,是一套适用于从单一影像设备到放射科室、到全院级别等各种应用规模的医学影像归档与通讯系统。PACS集患者登记、图像采集、…...

web漏洞-PHP反序列化

目录 PHP反序列化序列化反序列化原理涉及技术利用危害CTF靶场 PHP反序列化 序列化 将对象转换成字符串 反序列化 相反,将字符串转换成对象。 数据格式的转换对象的序列化有利于对象的保存和传输,也可以让多个文件共享对象。 原理 未对用户输入的序列化字…...

Redis-分布式锁

分布式锁相关内容 超卖问题切入可以使用互斥锁给先获取到锁的线程加锁吗?使用redis分布式锁解决超卖问题setnx命令实现分布式锁为什么需要设置过期时间?Redis实现分布式锁如何合理控制锁的有效时长 redisson实现分布式锁 超卖问题切入 我们先来看一个项目…...

什么时候使用继承,好莱坞原则(设计模式与开发实践 P11+)

文章目录 好莱坞原则真的需要继承吗? 好莱坞原则 如果你熟悉继承方法、乃至模板方法模式后,就可以了解一个设计原则 好莱坞原则 新人演员把简历发给好莱坞,许久之后没有回应不耐烦打电话给好莱坞,只收到回应:不要来找…...

蓝桥等考Python组别十四级001

第一部分:选择题 1、Python L14 (15分) 运行下面程序,输出的结果是( )。 d {A: 501, B: 602, C: 703, D: 804} print(d[B]) 501602703804 正确答案:B 2、Python L14 (15分…...

TI单芯片毫米波雷达代码走读(二十七)—— 角度维(3D)处理之通道间幅相一致性补偿

TI单芯片毫米波雷达1642代码走读(〇)——总纲 书接上回,我们知晓了3D处理的主要流程,相信大家都已理解基本的原理。在正式进行数据分析之前还有一步关键的步骤需要说明,即通道间的幅相一致性补偿问题。 细心的朋友可能注意到,在3D处理的的原码中有两个函数我一直没有讲:…...

数据结构 2.2 单循环链表

2.单循环链表 data|next——>data|next——>data|next——>头节点 1.初始化链表 2.增加节点(头插法、尾插法) 3.删除节点 4.遍历链表 定义一个结构体,存放data域和指针域: typedef struct Node {//定义一个结构体&…...

矩阵距离——多源BFS

给定一个 N 行 M 列的 01 矩阵 A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为: dist(A[i][j],A[k][l])|i−k||j−l| 输出一个 N 行 M 列的整数矩阵 B,其中:B[i][j]min1≤x≤N,1≤y≤M,A[x][y]1dist(A[i][j],A[x][y]) 输入格式 第…...

关于在 Notion 中使用 Markdown 语法

关于在 Notion 中使用 Markdown 语法 习惯使用的 Markdown 的伙伴们应该知道,当需要加粗字体时,会首先输入 ** **,然后在里面填内容。 但是在 Notion 中,这个就不太行了。它所定义的规则是从前往后,也就是先键入**&…...

sigmoid和softmax函数有什么区别

Sigmoid函数和Softmax函数都是常用的激活函数,但它们的主要区别在于应用场景和输出结果的性质。 Sigmoid函数(也称为 Logistic函数): Sigmoid函数将输入值映射到0到1之间的连续实数范围,通常用于二元分类问题。 Si…...

第五章:最新版零基础学习 PYTHON 教程—Python 字符串操作指南(第七节 - Python 中使用 % 进行字符串格式化)

在Python中,可以通过不同的方法来实现对字符串所需的格式化。他们之中有一些是; 1) 使用 % 2) 使用 {} 3)使用模板字符串本文讨论使用 % 进行格式化。使用 % 的格式类似于 C 编程语言中的“printf”。%d – 整数 %f – 浮点数 %s – 字符串 %x – 十六进制 %o – 八进制 下面的…...

【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)

一,VMware下载地址: 百度网盘链接链接:百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https:/…...

Eclipse MAT解析headp dump,total size小于file size

1. 问题描述 使用Eclipse MAT分析20GB的heap dump文件 最后解析出来dump size只有1GB 2. 原因:heap dump中包含许多unreachable objects Eclipse MAT的官方文档,《Basic Tutorial》章节,有对上图的Overview page做介绍 针对total size小…...

【数据挖掘】2022年 Quiz 1-3 整理 带答案

目录 Quiz 1Quiz 2Quiz 3Quiz 1 Problem 1 (50%). Consider the set of training data shown below. Here, A, B, C C C are attributes, and D D...

AcWing 288. 休息时间,《算法竞赛进阶指南》,环形与后效性处理

288. 休息时间 - AcWing题库 在某个星球上,一天由 N 个小时构成,我们称 0 点到 1 点为第 1 个小时、1 点到 2 点为第 2 个小时,以此类推。 在第 i 个小时睡觉能够恢复 Ui 点体力。 在这个星球上住着一头牛,它每天要休息 B 个小…...

一文掌握Linux系统信息查看命令(CPU、内存、进程、网口、磁盘、硬件)

引言 大家好,欢迎来到我的技术博客!如果你是一名Linux系统管理员、开发者或者热衷于学习Linux系统的用户,那么你一定需要掌握查看系统信息的命令。在这篇博客中,我将为你介绍一些常用的Linux命令,帮助你快速了解和监控…...

UE5.1编辑器拓展【三、脚本化资产行为,删除无引用资产】

目录 需要考虑的问题 重定向的修复函数 代码: 删除无引用资产 代码 需要添加的头文件和模块 在我们删除资产的时候,会发现,有些资产在删除的时候会出现有被什么什么引用,还有的是没有被引用。 而我们如果直接选择一片去进行…...

防抖和节流的实现

防抖和节流的实现 什么是防抖和节流实现防抖和节流防抖节流 防抖和节流的应用场景 什么是防抖和节流 防抖和节流是前端开发中常用的两种性能优化技术。 为什么需要防抖和节流呢? 两者目的都是为了防止某个时间段内操作频繁触发,造成性能消耗。 防抖&…...

alsa pcm接口之阻塞和非阻塞打开和异步通知模式

阻塞和非阻塞打开(Blocked and non-blocked open) 当设备打开在一个阻塞或非阻塞模式,ALSA pcm api接口使用不同的行为,模式可以指定通过mode参数通过snd_pcm_open函数,blocked mode阻塞模式是默认打开方式,在这个模式下,行为表现为当资源被其他应用程序使用,应该阻…...

Python Random模块详解

Random模块详解 随机数 random模块 randint(a, b) 返回[a, b]之间的整数randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数 缺省值为1。random.randrange(1,7,2)choice(seq) 从非空序列的元素中随机挑选一个…...

Vue3 模糊搜索筛选

Vue3 模糊搜索筛选 环境&#xff1a; vue3 tselement plus 目标&#xff1a; 输入框输入内容&#xff0c;对展示的列表进行模糊搜索筛选匹配的内容。 代码如下&#xff1a; <div style"margin-top: 50px"><el-input v-model"valueInput" size&…...

【MVC】C# MVC基础知识点、原理以及容器和管道

给自己一个目标&#xff0c;然后坚持一段时间&#xff0c;总会有收获和感悟&#xff01; 国庆假期马上结束&#xff0c;闲暇时间&#xff0c;重温一遍C#关于MVC的技术&#xff0c;控制器、视图、模型&#xff0c;知识点和原理&#xff0c;小伙伴们还记得吗 目录 一、MVC知识点1…...

【kubernetes】基于prometheus的监控

目录 1 监控解决方案2 prometheus2.1 容器监控2.2 节点监控2.3 资源对象监控2.4 metrics--server 3 prometheus-operator vs kube-prometheus vs helm3.1 prometheus-operator3.2 kube-prometheus3.3 helm 参考文档 1 监控解决方案 从实现方案来说&#xff0c;监控分为3个部分…...

Gmail 将停止支持基本 HTML 视图

根据 Google 支持文档的更新内容&#xff0c;Gmail 将从明年 1 月起停止支持基本 HTML 视图。 ▲ Gmai 基本 HTML 视图界面 目前网页版 Gmail 提供两个界面&#xff1a;基本 HTML 视图和标准视图。停止支持基本 HTML 视图后&#xff0c;当前打开经典模式的基本 HTML 视图模式 …...

电影大师杂记

假期集中刷了好多书&#xff0c;游戏和电影&#xff0c;在虚拟世界里猛烈的各种闲逛&#xff0c;cyberpunk 2077到blade runner&#xff0c;到异形&#xff0c;到终结者&#xff0c;到星球大战&环太平洋&#xff0c;到工业光魔&#xff0c;还有各种编程的书。。。 hmmm&…...

聊聊分布式架构——RPC通信原理

目录 RPC通信的基本原理 RPC结构 手撸简陋版RPC 知识点梳理 1.Socket套接字通信机制 2.通信过程的序列化与反序列化 3.动态代理 4.反射 思维流程梳理 码起来 服务端时序图 服务端—Api与Provider模块 客户端时序图 RPC通信的基本原理 RPC&#xff08;Remote Proc…...

Android:实现手机前后摄像头预览同开

效果展示 一.概述 本博文讲解如何实现手机前后两颗摄像头同时预览并显示 我之前博文《OpenGLES&#xff1a;GLSurfaceView实现Android Camera预览》对单颗摄像头预览做过详细讲解&#xff0c;而前后双摄实现原理其实也并不复杂&#xff0c;粗糙点说就是把单摄像头预览流程写两…...

免费响应式网站建设/免费做网页的网站

美国智能家居市场直到目前为止还未真正迎来发展&#xff0c;其中一个最明显的例子无非就是创意产品社区与电子商务网站Quirky日前提交了破产保护&#xff0c;该公司也成为初创公司倒闭潮来临之后宣布破产的最大的初创公司之一。而且&#xff0c;Quirky公司正在接受针对旗下智能…...

网站架设软件/网站优化推广方案

题目 1798. 你能构造出连续值的最大数目【中等】 题解 为什么不是动态规划&#xff1f; 看着像一道01背包的问题&#xff0c;但是又没给背包容量&#xff0c;给了物品重量求背包容量的范围&#xff0c;和背包问题不符。还有一点是&#xff0c;可以看一下数据范围&#xff0…...

石家庄制作网站推广/seo站长综合查询

文章目录1. 选型原因2.Spring Secutity核心内容2.1 Spring Secutity中的用户信息2.2 密码加密2.3 Spring Security的配置2.4 认证过程2.5 过滤器和过滤链2.6 权限相关本章是Spring Security理论和概念的东西&#xff0c;没有实际的搭建产出&#xff0c;为下节做个铺垫。只是介绍…...

linux wordpress教程/石家庄百度关键词优化

题目描述Apple最近迷上了做幻方&#xff0c;Apple还是个中高手&#xff0c;只要你说个奇数N就能把N*N的幻方做出来。其实你可以比他做得更好的。Apple总是画得很乱&#xff0c;而你可以利用程序排得很整齐^_^ 幻方的要求&#xff1a;每一行&#xff0c;每一列&#xff0c;还有两…...

有没有免费做英语题的网站/深圳优化公司高粱seo较

题目 题目 做法 考虑部分数据(颜色较少)的&#xff1a;二分中位数\(mid\)&#xff0c;将\(v[i]1000(v[i]>mid)\) 具体二分操作&#xff1a;然后求出包含\(K\)种颜色的联通快最小的权值和&#xff0c;判断该权值和是否满足中位数为\(mid\)&#xff0c;从而调整范围 其中求权值…...

做笑话网站需要什么/2021全国大学生营销大赛

oracle中Update方法1.两表(多表)关联update -- 被修改值由另一个表运算而来 update customers a set city_name(select b.city_name from tmp_cust ...jQuery基础DOM和CSS操作$(#box).html();//获取 html 内容$(#box).text();//获取文本内容,会自动清理 html 标签$(#box).html(…...