javaedge_社区达人页

关注公众号:JavaEdge,后台回复面试,领取更多大厂求职资源。曾在百度、携程、华为等大厂搬砖,专注Java生态各种中间件原理、框架源码、微服务、中台等架构设计及落地实战,只生产硬核干货!

暂无精选文章
暂无更多信息

2023年05月

  • 05.05 19:29:44
    发表了文章 2023-05-05 19:29:44

    HDFS 为何在大数据领域经久不衰?

    Hadoop实现的一个分布式文件系统(Hadoop Distributed File System),简称HDFS 源自于Google的GFS论文,发表于2003年,HDFS是GFS的克隆版
  • 05.05 18:43:32
    发表了文章 2023-05-05 18:43:32

    代码重构实战-将值对象改为引用对象(Change Value to Reference)

    一个数据结构中可能包含多个记录,而这些记录都关联到同一个逻辑数据结构。例如,我可能会读取一系列订单数据,其中有多条订单属于同一个顾客。遇到这样的共享关系,既能将顾客信息作为值对象看待,也能将其视为引用对象
  • 05.05 18:41:22
    发表了文章 2023-05-05 18:41:22

    祖传shi山代码重构实战(01)-Extract Class提炼类

    某个类做了应该由两个类做的事。 建立一个新类,将相关的字段和函数从旧类移到新类。
  • 05.05 18:37:13
    发表了文章 2023-05-05 18:37:13

    千万级用户系统的SQL调优实战

    某系统需要对特定的大量用户推送一些消息: 促销活动 让你办卡 有个特价商品
  • 05.05 18:35:04
    发表了文章 2023-05-05 18:35:04

    用户系统设计

    注册、登录、查询、用户信息修改,哪个需求量最大? 支持100M DAU。注册,登录,信息修改 QPS 约 100M * 0.1 / 86400 ~ 100 0.1 = 平均每个用户每天登录+注册+信息修改 Peak = 100 * 3 = 300
  • 05.05 18:30:01
    发表了文章 2023-05-05 18:30:01

    Spring Framework 6.x强势发布

    基于JSR-330的**@Inject注解将在Jakarta.Inject中。 基于JSR-250的注解@PostConstruct和@Predestroy**将在jakarta.annotation。 暂时,Spring也一直检测到其javax等价物,涵盖预编译的二进制二进制文件中的常用使用。 由于jakarta ee迁移,数据访问和事务,请务必使用Hibernate-Core-Jakarta Artifact升级到Hibernate Orm 5.6.x,以及切换您的javax.persistence接口到jakarta.persistence。
  • 05.05 18:28:54
    发表了文章 2023-05-05 18:28:54

    synchronize偏向锁底层实现原理

    无多线程竞争时,减少不必要的轻量级锁执行路径。大多数情况下,锁不仅不存在多线程竞争,而且总是由同一条线程去多次获得锁,为了让线程获得锁的性能代价更低而引入了偏向锁。
  • 05.05 18:26:16
    发表了文章 2023-05-05 18:26:16

    MySQL的普通索引和唯一索引到底什么区别?

    普通索引可重复,唯一索引和主键一样不能重复。 唯一索引可作为数据的一个合法验证手段,例如学生表的身份证号码字段,人为规定该字段不得重复,那么就使用唯一索引。(一般设置学号字段为主键)
  • 05.05 18:22:56
    发表了文章 2023-05-05 18:22:56

    为什么范围后索引会失效 存储引擎不能使用索引中范围条件右边的列

    比如说有三个字段 a b c,建立复合索引a_b_c。此时叶子节点的数据排序后可能为
  • 05.05 18:21:29
    发表了文章 2023-05-05 18:21:29

    阿里三面:MySQL回表的性能伤害有多大?

    1 回表的性能消耗 无论单列索引 or 联合索引,一个索引就对应一个独立的B+索引树,索引树节点仅包含
  • 05.05 18:20:13
    发表了文章 2023-05-05 18:20:13

    一个表中索引的数量是不是越多越好?

    往InnoDB表新增数据时,都会基于主键给自动建立聚簇索引。 随着我们不停的在表里插入数据,会不停的在数据页里插入数据。一个数据页放满后,就会分裂成多个数据页,这时就需要索引页去指向各个数据页。
  • 05.05 18:19:10
    发表了文章 2023-05-05 18:19:10

    新增数据时,MySQL索引树的自调整过程

    刚开始你一个表建好后,就一个数据页,就是聚簇索引的一部分,而且还是空的。若你插入数据,就是直接往这数据页里插入,也没必要给他弄索引页
  • 05.05 18:17:37
    发表了文章 2023-05-05 18:17:37

    MySQL二级索引的查询过程

    聚簇索引就是innodb默认创建的基于主键的索引结构,而且表里的数据就是直接放在聚簇索引里,作为叶节点的数据页:
  • 05.05 18:15:50
    发表了文章 2023-05-05 18:15:50

    MySQL聚簇索引物理结构及主键查询过程

    数据页分裂的过程,在你不停往表里灌入数据时,会搞出来一个个数据页,若你的主键非自增,他可能会有一个数据行挪动过程,保证你下一个数据页的主键值都大于上一个数据页的主键值。
  • 05.05 18:14:36
    发表了文章 2023-05-05 18:14:36

    更新数据时,MySQL的聚簇索引是如何变化的?

    文章已收录在我的 GitHub 仓库,欢迎Star/fork: Java-Interview-Tutorial 听说点赞、评论、收藏的人长得都很好看哦。
  • 05.05 18:13:26
    发表了文章 2023-05-05 18:13:26

    线上MySQL频繁抖动的性能优化实战

    平时执行的更新语句,都是从磁盘上加载数据页到DB内存的缓存页,接着就直接更新内存里的缓存页,同时还更新对应的redo log写入一个buffer中。
  • 05.05 18:11:45
    发表了文章 2023-05-05 18:11:45

    MySQL如何加锁避免并发事务导致的脏写?

    多个事务同时并发更新一行数据时, 就有脏写问题。脏写绝对不允许,可依靠锁机制让多个事务更新一行数据的时候串行化,避免同时更新一行数据。
  • 05.05 18:09:38
    发表了文章 2023-05-05 18:09:38

    Spring获取FactoryBean本身

    可从容器中获取相应的bean对象. 若beanName对应的是一个FactroyBean,容器会自动调用FactoryBean的getObject()方法来加工生成一个bean。
  • 05.05 18:02:00
    发表了文章 2023-05-05 18:02:00

    Spring Aware接口详解

    若 Spring 检测到 bean 实现了 Aware 接口,则会为其注入相应的依赖。所以通过让bean 实现 Aware 接口,则能在 bean 中获得相应的 Spring 容器资源。
  • 05.05 17:52:12
    发表了文章 2023-05-05 17:52:12

    支付流程时序图

    支付流程时序图
  • 05.05 17:51:26
    发表了文章 2023-05-05 17:51:26

    线上MySQL不可用,报错数据库无法连接

    ERROR 1040(HY000): Too many connections:DB连接池里已有太多连接,不能再和你建立新连接。
  • 05.05 17:48:21
    发表了文章 2023-05-05 17:48:21

    MySQL日志顺序读写及数据文件随机读写原理

    MySQL在实际工作时候的两种数据读写机制: 对redo log、binlog这种日志进行的磁盘顺序读写 对表空间的磁盘文件里的数据页进行的磁盘随机读写
  • 05.05 17:46:15
    发表了文章 2023-05-05 17:46:15

    MySQL的Buffer Pool线程安全吗?

    假设MySQL同时接收到了多个请求,他自然会用多线程处理,那这多线程就可能会同时访问BP,即同时操作里面的缓存页,同时操作一个free链表、flush链表、lru链表。现在多线程来并发的访问这个BP,此时他们都是在访问内存里的一些共享数据结构,如缓存页、各种链表,必要加锁,然后让一个线程先完成一系列操作,比如说加载数据页到缓存页,更新free、lru链表,然后释放锁,接着下个线程再执行操作。
  • 05.05 17:44:58
    发表了文章 2023-05-05 17:44:58

    Buffer Pool缓存页不够时,如何淘汰缓存?

    执行CRUD都会将磁盘数据页加载到缓存页,那在加载数据到缓存页时,必然是要加载到空闲缓存页,所以必须要从free中找个空闲缓存页,然后把磁盘数据页加载到该空闲缓存页
  • 05.05 17:41:36
    发表了文章 2023-05-05 17:41:36

    图解MySQL系列(4)-Buffer Pool中的free链表

    Buffer Pool中有N多缓存页,每个缓存页还有个描述信息。DB启动后,按BP大小向os申请一块内存区域,作为BP的内存区域。 当内存区域申请完后,DB按默认缓存页及对应描述信息快,在BP中划出一块块内存,当DB把BP划分完后
  • 05.05 17:37:00
    发表了文章 2023-05-05 17:37:00

    图解MySQL系列(2)-SQL实战研究InnoDB架构设计

    业务系统通过一个数据库连接发给MySQL,经过SQL接口、解析器、优化器、执行器,解析SQL语句,生成执行计划,接着由执行器负责执行该计划,调用InnoDB的接口去实际执行。
  • 05.05 17:31:07
    发表了文章 2023-05-05 17:31:07

    MySQL架构设计

    系统只要能从数据库连接池获取到一个数据库连接,就能执行CRUD。可通过数据库连接将待执行SQL发给MySQL。
  • 05.05 17:25:21
    发表了文章 2023-05-05 17:25:21

    Java业务系统是怎么和MySQL交互的?

    但使用MySQL时,总会遇到各种烦人问题,什么偶尔死锁、性能丢人、各种异常报错。一般人都会Google博客,尝试解决问题,最后虽然是解决了问题,但可能也没搞懂背后原理。
  • 05.05 17:21:44
    发表了文章 2023-05-05 17:21:44

    LeetCode:搜索二维矩阵题解

    请写出一个高效的在m*n矩阵中判断目标值是否存在的算法,矩阵具有如下特征: 每一行的数字都从左到右排序 每一行的第一个数字都比上一行最后一个数字大
  • 05.05 17:15:09
    发表了文章 2023-05-05 17:15:09

    Java NIO为何导致堆外内存OOM了?

    某天报警:某台机器部署的一个服务突然无法访问。谨记第一反应登录机器查看日志,因为服务挂掉,很可能因OOM。这个时候在机器的日志中发现了如下的一些信息
  • 05.05 17:11:28
    发表了文章 2023-05-05 17:11:28

    2022年最新版Spring专项面试突击

    Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。
  • 05.05 17:06:23
    发表了文章 2023-05-05 17:06:23

    如何优化生产环境的Full GC?

    大部分工程师开发完一个系统后,部署生产环境的时候往往不对JVM进行参数设置,直接用默认JVM参数,这绝对是系统负载逐渐增高的时最大问题 如你不设置-Xmx、-Xms之类的堆内存大小,你启动一个系统,可能默认就给你几百MB的堆内存大小,新生代和老年代可能都是几百M。
  • 05.05 17:00:29
    发表了文章 2023-05-05 17:00:29

    手把手教你如何写出完美的JVM的Young GC

    模拟JVM的Young GC JVM参数示范(基于JDK 1.8)
  • 05.05 16:53:58
    发表了文章 2023-05-05 16:53:58

    一文搞懂Y-GC和Full GC的触发条件

    1 Young GC触发时机 一般在新生代Eden区满后触发,采用复制算法回收新生代垃圾。
  • 05.05 16:52:38
    发表了文章 2023-05-05 16:52:38

    Java8原子弹类之LongAdder源码分析

    JDK 8开始,针对Long型的原子操作, Java又提供了LongAdder. LongAccumulator; 针对Double类型,Java提供了DoubleAdder、DoubleAccumulator。
  • 05.05 16:49:23
    发表了文章 2023-05-05 16:49:23

    阿里二面:说说JVM的Stop the World?

    此时必然触发Minor GC,有专门GC线程执行GC,且对不同内存区域有不同垃圾回收器,这相当于GC线程和垃圾回收器配合,使用自己的GC算法对指定内存区域执GC
  • 05.05 16:46:14
    发表了文章 2023-05-05 16:46:14

    Spring中的单例模式使用

    1 spring单例 V.S 设计模式的单例 • 设计模式单例,在整个应用中只有一个实例 • spring单例,在一个IoC容器中只有一个实例 Spring框架对单例的支持是采用单例注册表 但spring中的单例也不影响应用并发访问。大多数时候客户端都在访问我们应用中的业务对象,为减少并发控制,不应在业务对象中设置那些容易造成出错的成员变量。
  • 05.05 16:41:18
    发表了文章 2023-05-05 16:41:18

    都2022年了,还不会对称加密和非对称加密算法?

    下单做一次支付,若还是使用HTTP协议,可能会被黑客盯上。 你发送个请求,买娃娃,但该网络包被截获,于是在服务器回复你之前,黑客先假装自己就是电商网站,然后给你回复一个假消息:“好呀,来把银行卡号、密码拿来。”
  • 05.05 16:38:52
    发表了文章 2023-05-05 16:38:52

    彻底理解对象内存分配及Minor GC和Full GC全过程

    某数据计算系统,日处理亿级数据量。系统不断从各种数据源提读数据,加载到JVM内存进行计算处理
  • 05.05 16:34:29
    发表了文章 2023-05-05 16:34:29

    Java编程最佳实践之多态

    多态是面向对象编程语言中,继数据抽象和继承之外的第三个重要特性。 多态提供了另一个维度的接口与实现分离,以解耦做什么和怎么做。多态不仅能改善代码的组织,提高代码的可读性,而且能创建有扩展性的程序——无论在最初创建项目时还是在添加新特性时都可以“生长”的程序。
  • 05.05 16:24:11
    发表了文章 2023-05-05 16:24:11

    滴滴二面:Kafka是如何读写副本消息的?

    无论是读取副本还是写入副本,都是通过底层的Partition对象完成的,而这些分区对象全部保存在上节课所学的allPartitions字段中。可以说,理解这些字段的用途,是后续我们探索副本管理器类功能的重要前提。
  • 05.05 16:19:36
    发表了文章 2023-05-05 16:19:36

    见证法王的诞生

    转眼间,2021 进入倒计时,2022 年的元旦就要到了,马上就要变成编程两年半时长的java程序员了。 2021是比较稳定的一年了,也是在今年,职业发展才走上了正轨。
  • 05.05 16:18:15
    发表了文章 2023-05-05 16:18:15

    网易三面:说说Kafka的Follower是如何拉取Leader消息的?

    搞懂AbstractFetcherThread的processPartitionData、truncate、buildFetch方法,就掌握了拉取线程的处理逻辑。最后搞懂串联起这三个方法的doWork方法就能完整理解Follower副本应用拉取线程(即ReplicaFetcherThread线程),从Leader副本获取消息并处理的流程了。
  • 05.05 16:12:44
    发表了文章 2023-05-05 16:12:44

    美团二面:详细说说Kafka拉消息的过程?

    AbstractFetcherThread:拉取消息的步骤 副本机制是Kafka实现数据高可靠性的基础:同一个分区下的多个副本分散在不同的Broker机器上,它们保存相同的消息数据以实现高可靠性。那如何确保所有副本上的数据一致性呢?最常见方案当属Leader/Follower备份机制(Leader/Follower Replication)。
  • 05.05 15:01:56
    发表了文章 2023-05-05 15:01:56

    腾讯三面:说说Kafka的分区状态机的实现原理?

    1 我为何读这源码? PartitionStateMachine,分区状态机负责管理Kafka分区状态的转换,类似ReplicaStateMachine。
  • 05.05 14:52:42
    发表了文章 2023-05-05 14:52:42

    字节终面:说说Kakfa副本状态机的实现原理?

    ReplicaStateMachine是内部组件,一般用户感觉不到存在,但搞懂它,对从根本定位一些数据不一致问题大有裨益。 部署3-Broker(A、B和C)Kafka集群,版本2.0.0。在这3个Broker上创建一个单分区、双副本主题。
  • 发表了文章 2025-04-18

    释放数据潜力:利用 MCP 资源让大模型读懂你的服务器

  • 发表了文章 2025-02-11

    免费+数据安全!手把手教你在PC跑DeepSeek-R1大模型,小白也能秒变AI大神!

  • 发表了文章 2025-02-11

    DeepSeek-R1论文细节时间线梳理

  • 发表了文章 2025-02-11

    三分钟让Dify接入Ollama部署的本地大模型!

  • 发表了文章 2025-02-11

    Java工程师如何理解张量?

  • 发表了文章 2025-01-02

    【阿里云云服务诊断】调研报告

  • 发表了文章 2024-11-01

    ES常见Index API操作最佳实践!

  • 发表了文章 2024-10-31

    Elasticsearch 复制模型揭秘:如何保持数据一致性?

  • 发表了文章 2024-10-30

    set 方法是坏味道?

  • 发表了文章 2024-10-29

    Java8函数式接口Function<T, R> 的意义和应用场景

  • 发表了文章 2024-10-28

    为什么“低代码”是未来趋势?

  • 发表了文章 2024-10-27

    全面理解Maven Compiler Plugin-Maven编译插件

  • 发表了文章 2024-10-26

    不懂数据分析思维?怪不得你一直被淘汰!

  • 发表了文章 2024-10-25

    Java 中线程和纤程Fiber的区别是什么?

  • 发表了文章 2024-10-24

    真没想到!虚拟线程竟然这样提高程序效率!

  • 发表了文章 2024-10-23

    颠覆编程!通义灵码、包阅AI、CodeGeeX三大AI助手解锁无限潜力!

  • 发表了文章 2024-10-22

    Redis Quicklist 竟让内存占用狂降50%?

  • 发表了文章 2024-10-21

    别再用老旧架构了!单元化构建超强弹性和容错系统!

  • 发表了文章 2024-10-20

    单元化架构,分布式系统的新王!

  • 发表了文章 2024-10-19

    Java21虚拟线程:我的锁去哪儿了?

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2020-05-12

    Java 为什么不支持多继承? #Java

    因为 c++里类的多继承问题太多,前面两个也都说了,但为了持有这个特性,更简单的接口来了
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息