自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (11)
  • 问答 (1)
  • 收藏
  • 关注

原创 springcloud 面试题

spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接, 我们只需要传入url及返回值类型即可。比如:即使其他所有服务都可用,由于服务 E 的不可用,那么用户请求 1、2、3 都会处于阻塞状态,等待服务 E 的响应。:服务的消费者在启动后,会定期的从 服务注册中心中获取 服务提供者的注册信息,这些信息以服务实例列表的形式返回给服务消费者,每个服务实例都包含了足够的信息以便服务消费者进行请求转发。

2024-09-29 09:09:45 1296

原创 Kafka 面试题

此时会有问题,当消费者刚拿到这个消息准备进行真正消费的时候,突然挂掉了,消息实际上并没有被消费,但是 offset 却被自动提交了。重试机制默认最多重试10次,每次重试的时间间隔为 0,即立即进行重试。:当没有明确指定 Partition 但消息有 key 时,Kafka 会计算 key 的哈希值,然后与该Topic 的分区数量取余,得到的余数就是要放入分区的ID。表示):生产者发送消息后,需要等待所有的同步副本(In-Sync Replicas,ISR)都成功接收到消息后,才会收到来自服务器的确认响应。

2024-09-25 20:20:49 1554

原创 MySQL 索引

索引下推(Index Condition Pushdown,简称 ICP)是MySQL 5.6版本中提供的一项索引优化功能,它允许存储引擎在索引遍历过程中,执行部分WHERE字句的判断条件,直接过滤掉不满足条件的记录,从而减少回表次数,提高查询效率。通常情况下,在使用索引进行查询时,MySQL 会根据索引获取到匹配的行的主键,然后再根据主键进行回表操作获取完整的行数据,之后再根据查询条件中的其他列进行筛选。

2024-09-24 10:08:48 833

原创 MySQL 日志

MySQL 日志 主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。

2024-09-22 15:03:04 1529

原创 MySQL锁机制

可以分为:全局锁、表级锁、行级锁。

2024-09-22 14:58:02 955

原创 MySQL 事务

MVCC(Multi-Version Concurrency Control)即多版本并发控制,是一种数据库管理系统中常用的并发控制机制,主要用于提高数据库的并发性能。在并发场景下,读、写会出现三种情况:①读-读并发、读-写并发、③写-写并发MySQL InnoDB 的 MVCC 就是用来实现并发情况下,读-写并发不用加锁的。注意,这里的 读-写 中的读 是指快照读。它可以在 隔离级别为 可重复读(解决了 脏读、不可重复读问题) 的情况下,解决幻读问题。

2024-09-22 14:54:16 1207

原创 JMM:Java内存模型

参考:https://javaguide.cn/java/concurrent/jmm.html、https://www.javabetter.cn/thread/jmm.html。

2024-09-19 15:46:15 775

原创 JVM 内存结构?

这里的JVM内存结构,是指。

2024-09-19 15:39:11 1154

原创 JVM 虚拟机的编译器、类加载过程、类加载器有哪些?

编译器可以分为:前端编译器、JIT 编译器、AOT编译器。在Java语言中,JDK安装目录中的就是编译器。它负责将Java源代码编译为字节码。因为处于编译的前期,也叫做前端编译器。Java源代码转化为 字节码之后,要运行它,有两种选择:JIT 编译器在程序运行时,对频繁执行的字节码进行即时编译,将其转换为本地机器码,从而提高程序的执行效率。在 HotSpot 虚拟机内置了两个即时编译器,分别称为 Client Compiler 和 Server Compiler。这两种不同的编译器衍生出两种不同的编译模式,

2024-09-19 14:50:58 1145

原创 JIT(即时编译)技术

和。客户端编译器(Client Compiler):也被称为 C1 编译器。C1 编译器会对代码进行简单的优化,并专注于提高编译速度。服务端编译器(Server Compiler):也被称为 C2 编译器。它是为了长时间运行的服务器端应用程序而设计的,因此在启动时可能会比 C1 编译器慢。C2 编译器会进行更复杂的优化,如全局优化、内联等,以获得更高的运行效率。JIT (即时编译) 中讲到【当JVM发现某个方法或代码块运行时执行的很频繁,就会认为是“热点代码(Hot Spot Code)”】。

2024-09-19 14:32:01 672

原创 Netty 相关问题

NIO是Java 1.4版本引入的,它支持面向缓冲区的I/O操作,可以更高效地处理数据。在AIO模型中,I/O操作是异步的,当发起一个I/O请求后,系统会立即返回,不会阻塞当前线程,当I/O操作完成时,系统会通过回调函数来通知应用程序。:在BIO模型中,服务器为每个客户端连接都创建一个线程来处理,这意味着每个线程都是阻塞的,即在等待I/O操作完成时,线程会被挂起,直到操作完成。是NIO中存放数据的地方。缺点是当客户端数量增多时,线程数量也会线性增加,这会导致资源消耗大,性能下降,特别是在高并发场景下。

2024-09-12 22:45:00 1139

原创 redis的 stream数据类型实现 消息队列?

redis的 stream数据类型实现 消息队列?redis的消息队列可以通过:PUB/SUB,订阅/发布模式:缺点是发布订阅模式是,如果出现网络断开、Redis 宕机等,消息就会被丢弃;使用列表 List 实现:支持了持久化,。。

2024-09-10 00:16:17 597

原创 redis 作为发布、订阅服务时的原理?

命令可以退订指定的频道, 这个命令执行的是订阅的反操作: 它从 pubsub_channels 字典的给定频道(键)中, 删除关于当前客户端的信息, 这样被退订频道的信息就不会再发送给这个客户端。命令, 程序首先根据 channel 定位到字典的键, 然后将信息发送给字典值链表中的所有客户端。(图中的pubsub_channels)实现的,这个字典就用于保存订阅频道的信息。频道(channel)所有订阅此频道的 订阅者 都会收到该频道的消息。订阅者 可以订阅一个或多个频道(channel);

2024-09-09 23:15:15 370

原创 springboot 的共享session方案?

因为Http协议是无状态的,而客户端与服务器之间的交互过程可以看成是一次会话,当会话结束后,服务器并不能记录会话的状态。所以服务器采用了一种技术去记录服务器和客户端会话状态,这种技术就是Session。Cookie是通过服务器通知客户端在客户端中保存一小块数据(键值对)的一种技术。所以Cookie是存储在客户端中的,并且客户端有了Cookie后每次请求服务器都会携带上Cookie的数据,每个Cookie的大小不能超过4kb。Session的创建及获取流程。

2024-09-09 17:40:32 1201

原创 redis常见的数据类型?

签到统计时,每个用户一天的签到用 1 个 bit 位就能表示,一个月(假设是 31 天)的签到情况用 31 个 bit 位就可以,而一年的签到也只需要用 365 个 bit 位,根本不用太复杂的集合类型。使用场景:Bitmap 类型非常适合二值状态统计的场景,这里的二值状态就是指集合元素的取值就只有 0 和 1 两种,在记录海量数据时,Bitmap 能够有效地节省内存空间。:Hash 类型的 (key,field, value) 的结构与对象的(对象id, 属性, 值)的结构相似,也可以用来存储对象。

2024-09-09 15:43:21 1227

原创 redission中的锁分类

redis分布式锁的实现主要是依靠setnx和expire两个命令完成。注意:由于setnx和expire是两个命令,会存在如果setnx是成功的,但是expire设置失败,一旦出现了释放锁失败,或 者没有手工释放,那么这个锁永远被占用,其他线程永远也抢不到锁。这种情况有两种解决办法:使用set命令时,同时设置过期时间。不再单独是使用expire命令。seconds:设置失效时长,单位秒 、PXmilliseconds:设置失效时长,单位毫秒NX。

2024-09-06 23:41:43 925 1

原创 HashMap 与 ConcurrentHashMap

size:是HashMap中实际存在的键值对数量。注意,size与 table数组的长度length是不一样的。(也叫 哈希数组、哈希槽位 数组、散列表)。Node类作为HashMap中的一个内部类,每个 Node 包含了一个 key-value 键值对。其中的next属性就是在哈希冲突之后,使用链地址法解决哈希冲突。如下图所示,散列表(table桶数组)中的每个元素就是一个Node。散列表(table桶数组)的长度length(Capacity)默认值是16。

2024-09-06 16:12:45 879

转载 Java中的锁分类

自旋锁(Spin Lock)是一种简单的锁机制,用于多线程环境中的同步控制,它的工作原理是当一个线程试图获取已经被另一个线程持有的锁时,该线程不会立即进入睡眠状态(阻塞),而是不断地循环检查锁是否已经被释放,直到获取到锁为止。轻量级锁的作用主要是减少线程上下文切换的开销,通过自旋(spin-wait)的方式让线程在一段时间内等待锁的释放,而不是立即挂起线程,这样在锁竞争不是很激烈的情况下,能够快速获得锁,提高程序的响应速度和并发性能。非公平锁是指多个线程获取锁的顺序是不确定的,不按照申请锁的顺序来排队。

2024-07-23 23:15:32 50

原创 华为OD机试题-贪心歌手

歌手准备从 A 城去 B 城参加演出输出歌手在旅途中最多能挣多少钱。第一行两个数字 T 和 N,中间用空格隔开。第二行 N+1 个数字,中间用空格隔开。代表每两座城市之间耗费的时间。其总和 ≤ T。接下来 N 行,每行两个数字 M 和 D,中间用空格隔开。代表每个城市的输入预期。说明。

2024-07-09 11:27:25 529

原创 华为OD机试题-精准核酸检测

为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准圈定可能被感染的人群。现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹的交叉。现在给定一组确诊人员编号(X1,X2,X3…Xn) 在所有人当中,找出哪些人需要进行核酸检测,输出需要进行核酸检测的人数。(注意:确诊病例自身不需要再做核酸检测)需要进行核酸检测的人,是病毒传播链条上的所有人员,即有可能通过确诊病例所能传播到的所有人。

2024-07-08 19:18:36 367

原创 华为OD机试题-寻找身高相近的小朋友

小明今年升学到小学一年级Q,来到新班级后发现其他小朋友们身高参差不齐,然后就想基于各小朋友和自己的身高差对他们进行排序,请帮他实现排序。输入描述:第一行为正整数H和N,0<H<200,为小明的身高,0<N<50,为新班级其他小朋友个数第二行为N个正整数H1-HN,分别是其他小朋友的身高,取值范围0<Hi200(1<==N),N个正整数各不相同输出描述:输出排席结果,各正整数以空格分割。

2024-07-08 17:44:47 363

原创 华为OD机试题-提取字符串中最长数学表达式

【代码】华为OD机试题-提取字符串中最长数学表达式。

2024-07-08 15:49:57 253

原创 华为OD机试题- API 集群负载统计

题目描述某个产品的RESTful API集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。RESTful API是由多个层级构成,层级之间使用 / 连接,如 /A/B/C/D 这个地址,A属于第一级,B属于第二级,C属于第三级,D属于第四级。现在负载均衡模块需要知道给定层级上某个名字出现的频次,未出现过用0表示,实现这个功能。输入描述。

2024-07-08 11:49:41 332

原创 华为OD机试题-字符串重新排列

字符串重新排列给定一个字符串s,s包括以空格分隔的若干个单词,请对s进行如下处理后输出:1、单词内部调整:对每个单词字母重新按字典序排序2、单词间顺序调整:1)统计每个单词出现的次数,并按次数降序排列2)次数相同,按单词长度升序排列3)次数和单词长度均相同,按字典升序排列请输出处理后的字符串,每个单词以一个空格分隔。输入描述:一行字符串,每个字符取值范围:【a-ZA-Z0-9】以及空格,字符串长度范围:【1,1,1000】

2024-07-08 11:32:59 329

原创 【华为OD机试题】停车场车辆统计

车辆大小不一,小车占一个车位(长度1),货车占两个车位(长度2),卡车占三个车位(长度3),统计停车场最少可以停多少辆车,返回具体的数目。整型字符串数组cars[],其中1表示有车,0表示没车,数组长度小于1000。特定大小的停车场,数组cars[]表示,其中1表示有车,0表示没车。要想停最少的车,那就是要让有车的地方尽可能的都是卡车。整型数字字符串,表示最少停车数目。

2024-07-07 16:23:50 189

原创 MySQL调优(通过执行计划查看执行过程)

具体优化方案,参考:https://blog.csdn.net/qq_40991313/article/details/131059110。上一步骤【排查慢查询日志】中找到了 慢SQL语句之后,现在通过分析该 慢SQL语句 的执行计划,分析出具体慢的原因。todo:后续可根据实际使用情况,将优化方案具体的的梳理出来…)监控MySQL,发现查询性能变慢,报警提醒运维人员。通过分析完执行计划之后,接下来就开始制定优化方案了。的SQL语句,会被写入到慢查询日志文件中或者。此时,可以使用慢日志分析工具。

2024-07-04 20:36:05 532

原创 为什么127.0.0.1和localhost之间算跨域?

跨域问题是指在浏览器中,当一个网页向不同域名、不同端口或不同协议的资源发起请求时,会受到限制。这是由浏览器的**同源策略(Same-Origin Policy)**所导致的安全限制。同源策略规定,浏览器允许页面中加载的脚本只与其来源相同的资源进行交互,包括协议(http或https)、主机/域名(domain)、端口(port)。同源策略的主要目的是保护用户的隐私和安全,防止恶意网站通过脚本获取用户的敏感信息或执行恶意操作。

2024-07-01 17:39:48 1615

原创 Redis Cluster 模式 的具体实施细节是什么样的?

Redis cluster 是一种的 Redis 分布式集群解决方案。通过分配到多个主节点之间(每个主节点 都是)、,实现了高可用和高性能。

2024-07-01 16:41:52 853 1

原创 哨兵模式--哨兵节点的功能?

哨兵节点的主要功能有:哨兵(Sentinel)会给 主、从节点 发送 命令:在集群监控中,如果 主节点 被视为 客观下线。就会触发 自动切换主节点。选举新的主节点 的条件是(按照如下顺序进行筛选):选举完新主节点之后,还需要:哨兵之间可以相互通信,主要归功于 Redis 的 pub/sub (发布/订阅)机制。具体步骤:主要分为两部分:步骤:注意:这里的投票逻辑是:Raft 算法的核心是 “先下手为强”,谁率先发出了拉票请求,谁就有更大的概率成为 leader。前 步是检测 当前主节点是否客观下线的。检测当

2024-06-28 19:12:14 1018

原创 MySQL中,不能在一个DML(数据操纵语言,如INSERT, UPDATE, DELETE)语句中直接引用目标表进行子查询

java.sql.SQLException: You can't specify target table 'xxx' for update in FROM clause] with root cause`

2024-05-30 15:02:17 540

原创 Apifox自动化测试

后置操作中如何提取接口响应数据?问1:如何在接口之间互相传递数据?答:主要在【后置操作】中添加。

2024-04-12 15:29:27 299

原创 【springboot】项目启动时打印全部接口方法

【springboot】项目启动时打印全部接口方法

2024-04-09 09:03:56 629 2

原创 【面试】为什么HashMap的数组长度一定要二的幂次

首先,在查找该元素存放之后的索引位置时,是先计算他的hash值(由hashCode()得到),这个值很大-2147483648(-2^31)到2147483647(2^31-1)。然后,要通过hash值得到元素的索引位置,就需要将得到的hash值映射在数组大小的范围内。就需要进行求模运算,但是运算在计算机中效率较低。而与运算可以替代运算,并且效率高。位移运算在计算机硬件中通常是通过简单的电路来实现的,可以在一个时钟周期内完成。而求余运算则需要复杂的除法器电路,需要多个时钟周期才能完成。但是,

2023-11-30 13:53:47 195

原创 数学基础知识

参考:数学乐:https://www.shuxuele.com/质数(素数):只能被 1 或自己整除,并且一定要是大于 1 的整数。

2023-11-28 15:16:16 84

原创 Git 操作

部分是对本次 commit 的详细描述,可以分成多行。(有多种规范,其中 Angular 规范使用广泛。

2023-11-02 14:00:44 300

原创 springboot中的properties配置文件:MySQL密码添加双引号会报错

在springboot项目中,如果使用的配置文件是。格式中,添加双引号则。

2023-08-18 17:09:59 544

原创 [1] JavaScript 介绍

介绍JavaScript的由来、组成、用途

2022-11-30 22:18:56 269 1

原创 [问题] java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)

如果可以,那就很有可能是 springboot 把你上面配置文件的 密码当做八进制的数处理了,结果可想而知,肯定出错了。如果连接不成功,那就说明你的 用户名、密码 可能是错的, 那就改成正确的输入就行了。可不可以在cmd中连接mysql成功。

2022-11-29 09:23:43 634

原创 [动态规划] 6 背包问题

参考:动态规划之背包问题动态规划之背包问题系列背包问题-笔记整理动态规划:完全背包、多重背包《背包九讲》注:本文内容大多来源于《背包九讲》。目前,只学习了:0-1背包问题完全背包多重背包(其中“可行性问题 O(V N) 的算法”暂时未看)1 概念背包问题是一类经典的动态规划问题。1.1 什么是背包问题维基百科-背包问题:背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,.

2021-09-03 14:56:05 341

原创 [动态规划-练习] 5 最长公共子序列问题详解

参考:详解最长公共子序列问题,秒杀三道动态规划题目两个字符串的最小 ASCII 删除和原作者总结出来的解决算法的一个技巧:把大的问题细化到一个点,先研究在这个小的点上如何解决问题,然后再通过递归/迭代的方式扩展到整个问题。本文从「最长公共子序列问题」展开,总结三道子序列问题,解这道题仔细讲讲这种子序列问题的套路,你就能感受到这种思维方式了。1 最长公共子序列计算1143. 最长公共子序列(Longest Common Subsequence,简称 LCS)是一道经典的动态规划题目:力.

2021-07-13 22:08:36 471 1

grd的高程数据的下载

grd格式的高程文件数据,可以用globalmapper转换成dem,grd等其他格式,可以用于测试。

2020-09-03

glutdlls37beta.rar

该压缩包包含OpenGL所需要的glut库的5个文件,使用方法也包含在其中。该压缩包包含OpenGL所需要的glut库的5个文件,使用方法也包含在其中。

2019-11-12

keygen.exe

安装包可以去官网下载中文版的。这个是注册机。安装教程:https://www.dqrj.name/forum.php?mod=viewthread&tid=32&highlight=mind+manager

2019-08-09

WebPage.rar

WebPage.rar WebPage.cpp

2019-08-03

VC++之MFC类库中文手册().rar

VC++之MFC类库中文手册

2019-07-19

VC++之MFC类库中文手册.chw

VC++之MFC类库中文手册

2019-07-18

CSharpSamples.rar

VS2015自带案例

2019-07-17

迅雷(极速)1.0.35.366.rar

迅雷极速版

2019-07-14

QGIS 2 Cookbook.pdf

QGIS教程(第二版)原版 QGIS 2 Cookbook

2019-07-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除