程序员小海绵_社区达人页

个人头像照片
程序员小海绵
已加入开发者社区2033

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布129篇文章
12条评论
已回答0个问题
0条评论
已发布0个视频
github地址

技术能力

兴趣领域
  • Java
  • 设计模式
  • 中间件
  • 数据库管理
  • 关系型数据库
  • SQL
  • NoSQL
  • Linux
  • 开发者
  • 程序员
擅长领域
技术认证

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

本科毕业于西安某211电子信息类专业,Java高级工程师,CSDN博客专家、Java领域优质创作者,专注于Java领域知识分享

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

2024年09月

  • 09.14 18:02:21
    发表了文章 2024-09-14 18:02:21

    【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析

    本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
  • 09.14 18:01:34
    发表了文章 2024-09-14 18:01:34

    什么是线程池?从底层源码入手,深度解析线程池的工作原理

    本文从底层源码入手,深度解析ThreadPoolExecutor底层源码,包括其核心字段、内部类和重要方法,另外对Executors工具类下的四种自带线程池源码进行解释。 阅读本文后,可以对线程池的工作原理、七大参数、生命周期、拒绝策略等内容拥有更深入的认识。
  • 09.14 18:00:37
    发表了文章 2024-09-14 18:00:37

    Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存

    三级缓存是Spring框架里,一个经典的技术点,它很好地解决了循环依赖的问题,也是很多面试中会被问到的问题,本文从源码入手,详细剖析Spring三级缓存的来龙去脉。
  • 09.14 18:00:00
    发表了文章 2024-09-14 18:00:00

    Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程

    从底层源码入手,通过代码示例,追踪AnnotationConfigApplicationContext加载配置类、启动Spring容器的整个流程,并对IOC、BeanDefinition、PostProcesser等相关概念进行解释
  • 09.14 17:58:32
    发表了文章 2024-09-14 17:58:32

    手写Spring源码(简化版)

    Spring包下的类、手写@ComponentScan注解、@Component注解、@Autowired注解、@Scope注解、手写BeanDefinition、BeanNameAware、InitializingBean、BeanPostProcessor 、手写AnnotationConfigApplicationContext
  • 09.14 17:56:50
    发表了文章 2024-09-14 17:56:50

    一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案

    MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
  • 09.14 17:56:09
    发表了文章 2024-09-14 17:56:09

    【JVM调优】如何进行JVM调优?一篇文章就够了!

    深入解读JVM性能的监控、定位和调优方案,阐述jps/stat/jstack、MAT等常用性能分析工具的使用,提出JVM参数、内存溢出、内存泄漏、CPU飙升、GC频繁等实际场景下JVM调优的方案。
  • 09.14 17:55:03
    发表了文章 2024-09-14 17:55:03

    【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)

    MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
  • 09.14 17:53:51
    发表了文章 2024-09-14 17:53:51

    Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL

    从基本特性、技术选型、字段类型、事务提交方式、SQL语句、分页方法等方面对比Oracle和MySQL的区别。
  • 09.14 17:52:04
    发表了文章 2024-09-14 17:52:04

    【禁用外键】为什么互联网大厂禁用外键约束?详谈外键的优缺点和使用场景

    从多个层面分析数据库外键的优缺点,并给出外键的使用场景和禁止使用的场景。
  • 09.14 17:51:21
    发表了文章 2024-09-14 17:51:21

    【幂等性大坑】事务提交前释放锁导致锁失效问题

    在事务中,使用了 Redis 分布式锁.这个方法一旦执行,事务生效,接着就 Redis 分布式锁生效,代码执行完后,先释放 Redis 分布式锁,然后再提交事务数据,最后事务结束。如果是表单重复提交场景,可以尝试给“订单号”等有唯一性的字段加唯一索引,这样重复提交时会因为唯一索引约束导致索引失效。5、如果表的一个字段,要作为另外一个表的外键,这个字段必须有唯一约束(或是主键),如果只是有唯一索引,就会报错。2、创建唯一约束,会自动创建一个同名的唯一索引,该索引不能单独删除,删除约束会自动删除索引。
  • 09.14 17:39:22
    发表了文章 2024-09-14 17:39:22

    HashMap底层原理:数据结构+put()流程+2的n次方+死循环+数据覆盖问题

    假如有T1、T2两个线程同时对某链表扩容,他们都标记头结点和第二个结点,此时T2阻塞,T1执行完扩容后链表结点顺序反过来,此时T2恢复运行再进行翻转就会产生环形链表,即B.next=A;采用2的指数进行扩容,是为了利用位运算,提高扩容运算的效率。JDK8中,HashMap采用尾插法,扩容时链表节点位置不会翻转,解决了扩容死循环问题,但是性能差了一点,因为要遍历链表再查到尾部。例如15(即2^4-1)的二进制为1111,31的二进制为11111,63的二进制为111111,127的二进制为1111111。
  • 09.14 17:37:28
    发表了文章 2024-09-14 17:37:28

    Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案

    根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
  • 09.14 17:33:16
    发表了文章 2024-09-14 17:33:16

    【JVM调优】如何进行JVM调优?一篇文章就够了!

    深入解读JVM性能的监控、定位和调优方案,阐述jps/stat/jstack、MAT等常用性能分析工具的使用,提出JVM参数、内存溢出、内存泄漏、CPU飙升、GC频繁等实际场景下JVM调优的方案。
  • 09.14 17:31:54
    发表了文章 2024-09-14 17:31:54

    【MySQL调优】如何进行MySQL调优?一篇文章就够了!

    MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
  • 09.14 17:31:13
    发表了文章 2024-09-14 17:31:13

    【阿里规约】阿里开发手册解读——数据库和ORM篇

    从命名规范、建表规范、查询规范、索引规范、操作规范等角度出发,详细阐述MySQL数据库使用过程中所需要遵循的各种规范。
  • 09.14 17:27:41
    发表了文章 2024-09-14 17:27:41

    【阿里规约】阿里开发手册解读——代码格式篇

    本文所有代码格式规范遵循《阿里规约》,从编码、换行符、空格规则、括号规则、字符数等方面展开,详细阐述方法参数、强制转换、运算符、缩进等元素的编写规范。
  • 09.14 17:26:56
    发表了文章 2024-09-14 17:26:56

    【阿里规约】阿里开发手册解读——命名规范篇

    本文中所有代码命名规范遵循《阿里规约》,从包名、类名、变量名等角度展开,详细阐述测试类、枚举类、数组、布尔型变量、方法等元素的命名规范。
  • 09.14 17:19:42
    发表了文章 2024-09-14 17:19:42

    设计模式——责任链

    OA系统的采购审批项目、职责链模式基本介绍、职责链模式解决 OA 系统采购审批项目
  • 09.14 17:19:03
    发表了文章 2024-09-14 17:19:03

    设计模式——观察者模式

    观察者模式介绍、观察者模式优化天气预报案例、JDK 的Observable类和Observer类
  • 09.14 17:18:24
    发表了文章 2024-09-14 17:18:24

    设计模式——模板模式

    模板方法模式、钩子方法、Spring源码AbstractApplicationContext类用到的模板方法
  • 09.14 17:17:44
    发表了文章 2024-09-14 17:17:44

    设计模式——代理模式

    静态代理、JDK动态代理、Cglib 代理
  • 09.14 17:17:08
    发表了文章 2024-09-14 17:17:08

    【Java笔记+踩坑】设计模式——原型模式

    对比原型模式和传统方式的实现思路、代码方案、优缺点,阐述原型模式的使用场景,以及深拷贝、浅拷贝等相关概念,并扩展原型模式在Spring源码中的应用。
  • 09.14 17:16:37
    发表了文章 2024-09-14 17:16:37

    设计模式——工厂模式

    工厂模式介绍、静态简单工厂模式、工厂方法模式、抽象工厂模式、JDK 源码分析
  • 09.14 17:15:58
    发表了文章 2024-09-14 17:15:58

    设计模式——设计模式介绍和单例设计模式

    饿汉式(静态常量)、饿汉式(静态代码块)、懒汉式(线程不安全)、懒汉式(线程安全,同步方法)、懒汉式(线程不安全,同步代码块)、双重检查(推荐,线程安全、懒加载)、静态内部类(推荐)、枚举(推荐)
  • 09.14 17:15:15
    发表了文章 2024-09-14 17:15:15

    设计模式——设计模式简介和七大原则

    设计模式的目的和核心原则、单一职责原则、接口隔离原则、依赖倒转原则、里氏替换原则、开闭原则、迪米特法则、合成复用原则
  • 09.14 17:13:41
    发表了文章 2024-09-14 17:13:41

    【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)

    MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
  • 09.14 17:12:44
    发表了文章 2024-09-14 17:12:44

    【阿里规约】阿里开发手册解读——数据库和ORM篇

    从命名规范、建表规范、查询规范、索引规范、操作规范等角度出发,详细阐述MySQL数据库使用过程中所需要遵循的各种规范。
  • 09.14 17:11:58
    发表了文章 2024-09-14 17:11:58

    一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案

    MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
  • 09.14 17:11:19
    发表了文章 2024-09-14 17:11:19

    【MySQL调优】如何进行MySQL调优?一篇文章就够了!

    MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
  • 09.14 17:08:51
    发表了文章 2024-09-14 17:08:51

    MySQL高级篇——MVCC多版本并发控制

    什么是MVCC、快照读与当前读、隐藏字段、Undo Log版本链、ReadView、举例说明、InnoDB 解决幻读问题
  • 09.14 17:08:09
    发表了文章 2024-09-14 17:08:09

    MySQL高级篇——覆盖索引、前缀索引、索引下推、SQL优化、主键设计

    覆盖索引、前缀索引、索引下推、SQL优化、EXISTS 和 IN 的区分、建议COUNT(*)或COUNT(1)、建议SELECT(字段)而不是SELECT(*)、LIMIT 1 对优化的影响、多使用COMMIT、主键设计、自增主键的缺点、淘宝订单号的主键设计、MySQL 8.0改造UUID为有序
  • 09.14 17:07:26
    发表了文章 2024-09-14 17:07:26

    MySQL高级篇——排序、分组、分页优化

    排序优化建议、案例验证、范围查询时索引字段选择、filesort调优、双路排序和单路排序、分组优化、带排序的深分页优化
  • 09.14 17:06:25
    发表了文章 2024-09-14 17:06:25

    MySQL高级篇——关联查询和子查询优化

    左外连接:优先右表创建索引,连接字段类型要一致、内连接:驱动表由数据量和索引决定、 join语句原理、子查询优化:拆开查询或优化成连接查询
  • 09.14 17:05:46
    发表了文章 2024-09-14 17:05:46

    MySQL高级篇——索引失效的11种情况

    索引优化思路、要尽量满足全值匹配、最佳左前缀法则、主键插入顺序尽量自增、计算、函数导致索引失效、类型转换(手动或自动)导致索引失效、范围条件右边的列索引失效、不等于符号导致索引失效、is not null、not like无法使用索引、左模糊查询导致索引失效、“OR”前后存在非索引列,导致索引失效、不同字符集导致索引失败,建议utf8mb4
  • 09.14 17:04:45
    发表了文章 2024-09-14 17:04:45

    MySQL高级篇——性能分析工具

    MySQL的慢查询日志,用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long-query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为 10,意思是运行10秒以上(不含10秒)的语句,认为是超出了我们的最大忍耐时间值。它的主要作用是,帮助我们发现那些执行时间特别长的 SOL 查询,并且有针对性地进行优化,从而提高系统的整体效率。当我们的数据库服务器发生阻塞、运行变慢的时候,检查一下慢查询日志,找到那些慢查询,对解决问题很有帮助。
  • 09.14 17:00:22
    发表了文章 2024-09-14 17:00:22

    MySQL高级篇——索引的创建与设计原则

    索引的分类与使用、MySQL8.0索引新特性、适合创建索引的情况、不适合创建索引的情况
  • 09.14 16:59:29
    发表了文章 2024-09-14 16:59:29

    MySQL高级篇——存储引擎和索引

    MyISAM:不支持外键和事务,表锁不适合高并发,只缓存索引,内存要求低,查询快MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM不支持事务、行级锁、外键,有一个毫无疑问的缺陷就是崩溃后无法安全恢复。5.5之前默认的存储引擎优势是访问的速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用针对数据统计有额外的常数存储。故而 count(*) 的查询效率很高表名.frm 存储表结构;表名.MYD 存储数据 (MYData);
  • 09.14 16:56:04
    发表了文章 2024-09-14 16:56:04

    【Java面试题汇总】设计模式篇(2023版)

    谈谈你对设计模式的理解、七大原则、单例模式、工厂模式、代理模式、模板模式、观察者模式、JDK中用到的设计模式、Spring中用到的设计模式
  • 09.14 16:55:21
    发表了文章 2024-09-14 16:55:21

    【Java面试题汇总】MySQL数据库篇(2023版)

    聚簇索引和非聚簇索引、索引的底层数据结构、B树和B+树、MySQL为什么不用红黑树而用B+树、数据库引擎有哪些、InnoDB的MVCC、乐观锁和悲观锁、ACID、事务隔离级别、MySQL主从同步、MySQL调优
  • 09.14 16:54:38
    发表了文章 2024-09-14 16:54:38

    【Java面试题汇总】Redis篇(2023版)

    Redis的数据类型、zset底层实现、持久化策略、分布式锁、缓存穿透、击穿、雪崩的区别、双写一致性、主从同步机制、单线程架构、高可用、缓存淘汰策略、Redis事务是否满足ACID、如何排查Redis中的慢查询
  • 09.14 16:53:57
    发表了文章 2024-09-14 16:53:57

    【Java面试题汇总】ElasticSearch篇(2023版)

    倒排索引、MySQL和ES一致性、ES近实时、ES集群的节点、分片、搭建、脑裂、调优。
  • 09.14 16:52:16
    发表了文章 2024-09-14 16:52:16

    【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)

    Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
  • 09.14 16:51:35
    发表了文章 2024-09-14 16:51:35

    【Java面试题汇总】Spring篇(2023版)

    IoC、DI、aop、事务、为什么不建议@Transactional、事务传播级别、@Autowired和@Resource注解的区别、BeanFactory和FactoryBean的区别、Bean的作用域,以及默认的作用域、Bean的生命周期、循环依赖、三级缓存、
  • 09.14 16:50:46
    发表了文章 2024-09-14 16:50:46

    【Java面试题汇总】JVM篇(2023版)

    JVM内存模型、双亲委派模型、类加载机制、内存溢出、垃圾回收机制、内存泄漏、垃圾回收流程、垃圾回收器、G1、CMS、JVM调优
  • 09.14 16:50:08
    发表了文章 2024-09-14 16:50:08

    【Java面试题汇总】多线程、JUC、锁篇(2023版)

    线程和进程的区别、CAS的ABA问题、AQS、哪些地方使用了CAS、怎么保证线程安全、线程同步方式、synchronized的用法及原理、Lock、volatile、线程的六个状态、ThreadLocal、线程通信方式、创建方式、两种创建线程池的方法、线程池设置合适的线程数、线程安全的集合?ConcurrentHashMap、JUC
  • 09.14 16:48:02
    发表了文章 2024-09-14 16:48:02

    【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)

    String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
  • 09.14 16:46:38
    发表了文章 2024-09-14 16:46:38

    【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)

    Java的特点和优点,、Java 8的新特性、面向对象、基本数据类型和引用类型、自动拆装箱与自动装箱、==与equals()的区别、为什么重写equals()就要重写hashcode()、抽象类和接口的区别、重载和重写的区别、四种引用方式、wt()和sleep()的区别、java方法是值传递还是引用传递?访问修饰符、static、final、this和super、volatile的用法及原理
  • 09.14 16:22:55
    发表了文章 2024-09-14 16:22:55
  • 09.14 16:22:16
    发表了文章 2024-09-14 16:22:16

    学成在线笔记+踩坑(12)——用户认证

    连接用户中心数据库、账号密码认证、验证码认证
  • 发表了文章 2024-09-14

    【幂等性大坑】事务提交前释放锁导致锁失效问题

  • 发表了文章 2024-09-14

    Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL

  • 发表了文章 2024-09-14

    【禁用外键】为什么互联网大厂禁用外键约束?详谈外键的优缺点和使用场景

  • 发表了文章 2024-09-14

    什么是线程池?从底层源码入手,深度解析线程池的工作原理

  • 发表了文章 2024-09-14

    【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析

  • 发表了文章 2024-09-14

    Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程

  • 发表了文章 2024-09-14

    手写Spring源码(简化版)

  • 发表了文章 2024-09-14

    一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案

  • 发表了文章 2024-09-14

    Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存

  • 发表了文章 2024-09-14

    【JVM调优】如何进行JVM调优?一篇文章就够了!

  • 发表了文章 2024-09-14

    【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)

  • 发表了文章 2024-09-14

    HashMap底层原理:数据结构+put()流程+2的n次方+死循环+数据覆盖问题

  • 发表了文章 2024-09-14

    Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案

  • 发表了文章 2024-09-14

    【阿里规约】阿里开发手册解读——数据库和ORM篇

  • 发表了文章 2024-09-14

    【MySQL调优】如何进行MySQL调优?一篇文章就够了!

  • 发表了文章 2024-09-14

    【JVM调优】如何进行JVM调优?一篇文章就够了!

  • 发表了文章 2024-09-14

    设计模式——责任链

  • 发表了文章 2024-09-14

    设计模式——代理模式

  • 发表了文章 2024-09-14

    设计模式——观察者模式

  • 发表了文章 2024-09-14

    设计模式——模板模式

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