WangBai_个人页

个人头像照片 WangBai
个人头像照片
75
0
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2024年12月

  • 12.04 21:18:22
    发表了文章 2024-12-04 21:18:22

    Mybatis映射关系

    简介:本文介绍了MyBatis框架中四种常见的关系映射方式,包括一对一、一对多、多对一及多对多。一对一通过简单属性映射实现;一对多通过在主对象中添加集合属性并使用`<collection>`标签映射子对象集合;多对一则利用`<association>`标签在主对象中映射单个子对象;多对多需引入第三方类,分别在两个主对象中添加对方的集合属性,并通过`<collection>`标签实现映射。
  • 12.04 21:17:28
    发表了文章 2024-12-04 21:17:28

    什么情况下不应该创建索引?

    索引应避免在很少使用的列、数据值少的列、text/image/bit类型列上创建,因为这些情况下索引不仅无助于提升查询速度,还会降低系统维护效率,增加存储开销。当数据修改频率远高于查询时,也不宜创建索引。
  • 12.04 21:13:58
    发表了文章 2024-12-04 21:13:58

    数据库的行级锁与表锁?

    表锁:存储引擎在SQL数据读写请求前对涉及的表加锁,分共享读锁和独占写锁,读锁阻塞写,写锁阻塞读写,易发锁冲突,并发性低。行级锁:InnoDB支持,通过索引加锁,提高并发性,但可能引起死锁,需注意索引使用,适用于避免不可重复读场景。
  • 12.04 21:13:52
    发表了文章 2024-12-04 21:13:52

    数据库分库分表的原因?

    分库分表通过减少单库单表负担来提升查询性能。垂直切分按业务耦合度将表或列分布于不同库或表中,减少数据量,优化性能。水平切分则按数据逻辑关系将表分散至多库多表,减小单表数据量,实现分布式处理。选择方式需根据具体需求决定。
  • 12.04 21:13:48
    发表了文章 2024-12-04 21:13:48

    MySQL引擎InnoDB和MyISAM的区别?

    InnoDB是MySQL默认的事务型存储引擎,支持事务、行级锁、MVCC、在线热备份等特性,主索引为聚簇索引,适用于高并发、高可靠性的场景。MyISAM设计简单,支持压缩表、空间索引,但不支持事务和行级锁,适合读多写少、不要求事务的场景。
  • 12.04 21:12:42
    发表了文章 2024-12-04 21:12:42

    脏读、幻读、不可重复读的定义?

    脏读、不可重复读和幻读是数据库事务处理中的三种异常现象。脏读指读取未提交的修改数据;不可重复读指同一事务中多次读取数据不一致;幻读指读取记录范围时,前后读取结果数量不一致。这些现象通常由并发事务操作引起。
  • 12.04 21:12:37
    发表了文章 2024-12-04 21:12:37

    数据库执行查询请求的过程?

    客户端发起TCP连接请求,服务端通过连接器验证主机信息、用户名及密码,验证通过后创建专用进程处理交互。服务端进程缓存以减少创建和销毁线程的开销。后续步骤包括缓存查询(8.0版后移除)、语法解析、查询优化及存储引擎调用,最终返回查询结果。
  • 12.04 21:12:32
    发表了文章 2024-12-04 21:12:32

    InnoDB为什么使用自增id作为主键?

    MySQL以数据页(默认16K)为单位存储数据。自增ID主键时,写满一页直接申请新页;非自增ID主键需保持索引有序,插入数据可能引发页分裂,即需将部分数据移至新页,影响插入效率。
  • 12.04 21:11:31
    发表了文章 2024-12-04 21:11:31

    什么是聚簇索引及其优缺点?

    聚簇索引是InnoDB存储引擎中的一种数据存储方式,通过主键构建B+树,叶子节点存储整行数据。主键索引即为聚簇索引,若无主键则选择非空唯一索引或隐式创建主键。非聚簇索引(辅助索引)的叶子节点存储主键值,访问数据需两次查找。聚簇索引优势在于数据访问速度快,尤其适合主键的排序和范围查询;但插入和更新操作成本较高,建议使用自增ID作为主键。
  • 12.04 21:11:22
    发表了文章 2024-12-04 21:11:22

    数据库索引采用B+树不采用B树的原因?

    B+树优化了数据存储和查询效率,数据仅存于叶子节点,便于区间查询和遍历,磁盘读写成本低,查询效率稳定,特别适合数据库索引及范围查询。
  • 12.04 21:08:32
    发表了文章 2024-12-04 21:08:32

    Maven的生命周期

    Maven生命周期分为清理、构建和站点生成三部分,每部分含多个固定顺序执行的阶段。清理包括pre-clean和clean;构建涵盖validate、compile、test、package、install及deploy;站点生成则有pre-site、site、post-site与site-deploy。
  • 12.04 21:08:27
    发表了文章 2024-12-04 21:08:27

    maven 用来做什么

    Maven 是一款流行的 Java 项目管理工具,支持项目构建、依赖管理和信息管理。它通过自动化构建流程、中央与本地仓库的依赖管理、项目元数据维护、生成各类项目报告及协助项目部署,极大提升了开发效率和项目管理的便捷性。
  • 12.04 21:08:23
    发表了文章 2024-12-04 21:08:23

    如果使用git产生了冲突,你是怎么解决的?

    在团队开发中,若多人同时修改同一代码位置,拉取时可能会产生冲突。解决冲突需及时与同事沟通确认问题,并使用IDEA等工具进行版本对比,选择合适代码保留。解决步骤包括:查看冲突文件、删除多余代码及标记、使用git add标记冲突已解决、最后git commit提交修改,必要时git push推送更改。
  • 12.04 21:07:21
    发表了文章 2024-12-04 21:07:21

    docker的默认网络模式有哪些

    Docker 默认网络模式包括:1) bridge:默认模式,各容器分配独立IP,可通过名称或IP通信;2) host:容器与宿主机共享网络命名空间,性能最优但有安全风险;3) none:容器隔离无网络配置,适用于仅需本地通信的场景。
  • 12.04 21:07:17
    发表了文章 2024-12-04 21:07:17

    es采用什么数据结构

    索引(index)用于区分不同类别的数据,如账户(Account)和书本(Book)。类型(type)定义索引内的数据种类,例如账户类型包括访客、普通用户、管理员。文档(document)代表具体的数据记录,字段(field)则是文档中的具体信息项。
  • 12.04 21:07:11
    发表了文章 2024-12-04 21:07:11

    es索引文档过程

    Elasticsearch 索引文档流程:先通过 REST API 或客户端创建索引,定义文档结构的映射;接着索引 JSON 格式的文档,Elasticsearch 解析、索引并存储;最后,文档以倒排索引形式存储,支持高效全文搜索。
  • 12.04 21:05:56
    发表了文章 2024-12-04 21:05:56

    redis内存淘汰策略

    Redis支持8种内存淘汰策略,包括noeviction、volatile-ttl、allkeys-random、volatile-random、allkeys-lru、volatile-lru、allkeys-lfu和volatile-lfu。这些策略分别针对所有键或仅设置TTL的键,采用随机、LRU(最近最久未使用)或LFU(最少频率使用)等算法进行淘汰。
  • 12.04 21:05:49
    发表了文章 2024-12-04 21:05:49

    redis红锁

    在Redis集群中,若请求分布式锁成功后Master宕机且Slave未同步此锁,会导致锁被多次获取。为解决此问题,可对集群每个节点加锁,当大多数节点(N/2+1)加锁成功时,视为获取锁成功。尽管Redisson实现了红锁,但其无法确保每个锁分布在不同Master上,因此建议直接使用Redisson的普通锁。
  • 12.04 21:05:45
    发表了文章 2024-12-04 21:05:45

    MQ如何保障发送消息可靠

    简易做法包括开启生产者重试及确认机制。更可靠但复杂的方案则涉及将消息存入数据库,通过状态码管理发送状态,结合定时任务检查并重发未成功发送的消息,同时利用确认回调确保消息发送成功。
  • 12.04 21:03:41
    发表了文章 2024-12-04 21:03:41

    redis持久化策略

    Redis 提供了两种主要的持久化策略:RDB(Redis DataBase)和AOF(Append Only File)。RDB通过定期快照将内存数据保存为二进制文件,适用于快速备份与恢复,但可能因定期保存导致数据丢失。AOF则通过记录所有写操作来确保数据安全性,适合频繁写入场景,但文件较大且恢复速度较慢。两者结合使用可增强数据持久性和恢复能力,同时Redis还支持复制功能提升数据可用性和容错性。
  • 12.04 21:03:36
    发表了文章 2024-12-04 21:03:36

    redis主从集群与分片集群的区别

    主从集群通过主节点处理写操作并向从节点广播读操作,从节点处理读操作并复制主节点数据,优点在于提高读取性能、数据冗余及故障转移。分片集群则将数据分散存储于多节点,根据规则路由请求,优势在于横向扩展能力强,提升读写性能与存储容量,增强系统可用性和容错性。主从适用于简单场景,分片适合大规模高性能需求。
  • 12.04 21:03:31
    发表了文章 2024-12-04 21:03:31

    redis常见数据类型

    Redis 是一种基于内存的键值存储数据库,支持字符串、哈希表、列表、集合及有序集合等多种数据类型,每种类型均有特定用途与适用场景,提供丰富的命令操作,适用于高速数据访问与处理。
  • 12.04 21:02:21
    发表了文章 2024-12-04 21:02:21

    分布式锁的实现方案有哪些

    分布式锁用于协调跨多个节点的任务执行。基于数据库的分布式锁利用唯一性约束或悲观锁确保锁的唯一性;Redis 实现则依赖 SETNX 指令或 redisson 客户端,通过原子操作保证互斥性;ZooKeeper 通过临时顺序节点与 Watch 机制,实现锁的竞争、释放及获取。
  • 12.04 21:02:17
    发表了文章 2024-12-04 21:02:17

    什么场景下要使用分布式锁

    分布式锁用于确保多节点环境下的资源互斥访问、避免重复操作、控制并发流量、防止竞态条件及任务调度协调,常见于防止超卖等问题。
  • 12.04 21:02:11
    发表了文章 2024-12-04 21:02:11

    柔性事务与刚性事务的区别

    柔性事务遵循BASE理论,强调系统在面对高并发和分布式环境时的基本可用性和最终一致性。与之相对,刚性事务严格遵守ACID原则,确保操作的原子性、一致性、隔离性和持久性,适用于对数据完整性和准确性要求极高的场景。
  • 12.04 20:58:03
    发表了文章 2024-12-04 20:58:03

    SEATA模式

    Seata 是一款开源的分布式事务解决方案,支持多种事务模式以适应不同的应用场景。其主要模式包括:AT(TCC)模式,事务分三阶段执行;TCC 模式,提供更灵活的事务控制;SAGA 模式,基于状态机实现跨服务的事务一致性;XA 模式,采用传统两阶段提交协议确保数据一致性。
  • 12.04 20:57:58
    发表了文章 2024-12-04 20:57:58

    二阶段提交

    二阶段提交(2PC)是分布式系统中确保多参与方事务一致性的经典协议。分为准备与提交两阶段:准备阶段,协调者向各参与方发送准备请求,收集响应;提交阶段,若所有准备成功,则协调者发送提交请求,否则发送回滚指令。
  • 12.04 20:57:54
    发表了文章 2024-12-04 20:57:54

    分布式事务

    CAP定理指出,分布式系统在一致性(C)、可用性(A)和分区容错性(P)中最多只能同时满足两项。而BASE理论则提供了一种解决思路,通过基本可用、软状态和最终一致性来设计系统,以适应分布式环境下的挑战。
  • 12.04 20:56:33
    发表了文章 2024-12-04 20:56:33

    Nginx限流怎么做

    Nginx 通过 limit_req 模块实现限流,保护后端服务器。配置示例中,定义了限流区域 `limit`,每秒允许 10 个请求,客户端 IP 超过限流后允许 20 个突发请求,超出则立即返回 503 错误。
  • 12.04 20:56:26
    发表了文章 2024-12-04 20:56:26

    Nginx的负载均衡

    Nginx 是一款高性能的Web服务器与反向代理服务器,支持负载均衡功能,能有效提升系统性能与可靠性。其负载均衡策略包括基于轮询和权重的分配方法,以及IP哈希、最小连接数等算法,可根据实际需求灵活选择。
  • 12.04 20:56:22
    发表了文章 2024-12-04 20:56:22

    什么是CDN服务

    CDN(内容分发网络)是全球分布的服务器网络,旨在加速互联网内容的传输。它通过将内容缓存至靠近用户的服务器,减少延迟,提升访问速度与性能,同时实现负载均衡、减轻源服务器压力并提供安全防护。广泛应用于网站加速、视频直播等领域,优化用户体验。
  • 12.04 20:55:23
    发表了文章 2024-12-04 20:55:23

    什么是反向代理

    反向代理是一种部署在服务器前端的代理技术,它接收客户端请求并转发给内部服务器,对外隐藏真实服务器。其主要功能包括负载均衡、安全防护和缓存加速,有效提升服务器性能和安全性。
  • 12.04 20:55:19
    发表了文章 2024-12-04 20:55:19

    什么是正向代理

    正向代理是网络代理的一种形式,作为客户端与外部服务器间的中介,接收并转发客户端请求至目标服务器,再将服务器响应转回给客户端。适用于访问受限资源、保护隐私及跨境访问等场景,增强客户端的灵活性和安全性。
  • 12.04 20:55:12
    发表了文章 2024-12-04 20:55:12

    过滤器实现方式

    Spring Cloud Gateway 的过滤器用于处理HTTP请求和响应,支持日志记录、请求转发、权限校验等。内置过滤器如AddRequestHeader、RewritePath、SetStatus等,可自定义以满足特定需求。
  • 12.04 20:53:49
    发表了文章 2024-12-04 20:53:49

    Hystrix和Sentinel有什么异同

    Hystrix 和 Sentinel 是提升微服务架构稳定性的流行组件,均支持服务熔断与限流,提供实时监控。Hystrix 通过线程池和信号量实现服务隔离,Sentinel 基于流量控制和系统负载保护,各有特色。
  • 12.04 20:53:43
    发表了文章 2024-12-04 20:53:43

    常见的Ribbon/Spring LoadBalancer的负载均衡策略

    自SpringCloud 2020版起,Ribbon被弃用,转而使用Spring Cloud LoadBalancer。Ribbon支持轮询、随机、加权响应时间和重试等负载均衡策略;而Spring Cloud LoadBalancer则提供轮询、随机及Nacos负载均衡策略,基于Reactor实现,更高效灵活。
  • 12.04 20:53:04
    发表了文章 2024-12-04 20:53:04

    Nacos与Eureka的区别

    Eureka和Nacos均支持服务注册发现、基于心跳的健康检查及AP模式下的集群数据同步。主要区别在于:心跳频率、服务剔除机制、服务检测与清理周期不同,Nacos还额外提供配置管理功能。
  • 12.04 20:52:02
    发表了文章 2024-12-04 20:52:02

    Eureka服务注册流程

    Eureka 是一款用于服务注册与发现的工具。服务提供者启动时向 Eureka 服务器注册自身信息,定期发送心跳保持活跃状态。服务消费者通过 Eureka 获取服务列表并调用。服务下线时主动通知 Eureka 移除实例信息。
  • 12.04 20:51:18
    发表了文章 2024-12-04 20:51:18

    MyBatis缓存机制

    MyBatis提供两级缓存机制:一级缓存(Local Cache)默认开启,作用范围为SqlSession,重复查询时直接从缓存读取;二级缓存(Second Level Cache)需手动开启,作用于Mapper级别,支持跨SqlSession共享数据,减少数据库访问,提升性能。
  • 12.04 20:49:52
    发表了文章 2024-12-04 20:49:52

    Spring容器中的bean是线程安全的吗?

    Spring容器中的bean默认为单例模式,多线程环境下若操作共享成员变量,易引发线程安全问题。Spring未对单例bean做线程安全处理,需开发者自行解决。通常,Spring bean(如Controller、Service、Dao)无状态变化,故多为线程安全。若涉及线程安全问题,可通过编码或设置bean作用域为prototype解决。
  • 12.04 20:49:02
    发表了文章 2024-12-04 20:49:02

    SQL优化方面的经验

    在项目中优化SQL查询执行效率,主要从表设计、索引创建与使用三个维度考虑。表设计包括合理选择数据类型、主键设计等;索引创建关注大表、常用查询条件字段,区分度高的列优先建索引;使用时避免索引失效,利用explain检查执行计划。高级优化可采用读写分离和分库分表策略。
  • 12.04 20:47:39
    发表了文章 2024-12-04 20:47:39

    为什么MySQL索引结构是B+tree ?

    在MySQL中,为了提高检索效率和稳定性,采用了B+树作为索引的数据结构。相比二叉树或B树,B+树的非叶子节点仅存储key和指针,使得每页能容纳更多key,树的层级更浅,检索更快;所有数据集中在叶子节点,形成双向链表,利于区间查询。以16KB页为例,三层B+树可容纳约2190万条数据。
  • 12.04 20:46:28
    发表了文章 2024-12-04 20:46:28

    Cookie会话跟踪的原理

    会话跟踪技术包括Cookie和Session。Cookie是客户端技术,首次访问时服务器通过Set-Cookie响应头发送Cookie,浏览器保存并在后续请求中通过Cookie请求头回传,实现会话跟踪。但Cookie易被用户修改或禁用,安全性较低。Session则是服务器端技术,每次会话生成唯一的Session ID,通过Cookie传递给客户端,客户端在后续请求中携带此ID,服务器据此识别会话。Session更安全,但在集群环境中需解决会话共享问题。
  • 12.04 20:44:40
    发表了文章 2024-12-04 20:44:40

    字符串反转

    该段代码源自LeetCode 344题,涉及字符串反转问题,并可延伸至LeetCode 151题(反转单词)。采用双指针方法,通过初始化两个指针分别指向数组的首尾,然后不断交换两指针所指元素,直至两指针相遇,完成字符串或数组的反转操作。示例代码展示了如何使用此方法实现字符串的反转功能。
  • 12.04 20:43:24
    发表了文章 2024-12-04 20:43:24

    常见的排序算法

    简介:本文介绍了排序算法的基础知识,包括常见的几种排序方法及其时间复杂度,特别区分了基于比较和非比较的排序算法。对于初学者,建议掌握基本概念;而对于进阶学习者,则需深入了解各类算法的特点、适用场景及其实现细节,如快排、归并在不同数据条件下的表现,以及非比较排序算法在特定情况下的优势。
  • 12.04 20:42:20
    发表了文章 2024-12-04 20:42:20

    项目中密码如何存储?

    密码存储安全至关重要。直接存储明文或仅使用MD5、SHA-2等哈希算法存在彩虹表攻击风险。为增强安全性,可提示用户设置复杂密码,或在密码中加入“盐值”并多次迭代哈希,增加破解难度。BCrypt算法因其多重迭代、加盐及可调成本因子,成为更安全的选择。
  • 12.04 20:41:33
    发表了文章 2024-12-04 20:41:33

    对称加密、非对称加密、哈希摘要

    对称加密使用同一密钥进行加解密,速度快但需保密;非对称加密采用公钥加密、私钥解密,公钥可公开,安全性高但速度较慢,双向通信需双方各持一对密钥;哈希摘要是从数据中提取特征,用于数据完整性校验,不同数据的哈希值几乎不会相同。

2024年11月

  • 11.24 16:29:20
    发表了文章 2024-11-24 16:29:20

    使用Kafka? 有什么好处 ?

    选择Kafka作为中间件,因其高吞吐量适合处理大量用户行为数据,支持实时推荐和运营看板展示。Kafka优点包括提升吞吐量、故障隔离、低耦合度和流量削峰,但也增加了架构复杂性和对Broker的依赖。
  • 发表了文章 2024-12-04

    Mybatis映射关系

  • 发表了文章 2024-12-04

    什么情况下不应该创建索引?

  • 发表了文章 2024-12-04

    MySQL引擎InnoDB和MyISAM的区别?

  • 发表了文章 2024-12-04

    数据库分库分表的原因?

  • 发表了文章 2024-12-04

    数据库执行查询请求的过程?

  • 发表了文章 2024-12-04

    数据库的行级锁与表锁?

  • 发表了文章 2024-12-04

    InnoDB为什么使用自增id作为主键?

  • 发表了文章 2024-12-04

    脏读、幻读、不可重复读的定义?

  • 发表了文章 2024-12-04

    maven 用来做什么

  • 发表了文章 2024-12-04

    redis常见数据类型

  • 发表了文章 2024-12-04

    什么是聚簇索引及其优缺点?

  • 发表了文章 2024-12-04

    如果使用git产生了冲突,你是怎么解决的?

  • 发表了文章 2024-12-04

    数据库索引采用B+树不采用B树的原因?

  • 发表了文章 2024-12-04

    什么场景下要使用分布式锁

  • 发表了文章 2024-12-04

    MQ如何保障发送消息可靠

  • 发表了文章 2024-12-04

    es采用什么数据结构

  • 发表了文章 2024-12-04

    redis持久化策略

  • 发表了文章 2024-12-04

    es索引文档过程

  • 发表了文章 2024-12-04

    redis红锁

  • 发表了文章 2024-12-04

    redis主从集群与分片集群的区别

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息