自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(352)
  • 资源 (2)
  • 收藏
  • 关注

原创 谷粒商城笔记+踩坑汇总篇

环境的搭建、商品服务-三级分类、品牌服务、阿里云云存储+JSR303数字校验+统一异常处理、spu+sku、分页拦截器、商品服务、仓库服务、Nginx反向代理,thymeleaf+动态展示三级分类、缓存与分布式锁,Redisson+缓存数据一致性、ElasticSearch检索服务、异步和线程池、商品详情搭建+异步编排、认证服务、阿里云短信+验证码防刷+BCrypt加密、用户名密码登录+微博社交登录+SpringSession+xxl-sso单点登录、购物车、订单服务、幂等性、库存自动解锁。MQ延迟队列

2022-09-29 00:02:28 12848 15

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

本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。

2022-09-01 17:20:23 25390 24

原创 Java的类是怎样在虚拟机中加载的?详细阐述JVM的加载、验证和解析过程

详细阐述JVM的类加载机制,并对JVM内存模型、双亲委派等底层原理进行引申和解释。

2024-04-25 07:45:00 499

原创 JDK编译生成的.class字节码文件是什么?从底层结构到代码验证,深度解析Java字节码文件

从Java字节码文件的基础单位,到常量池、属性、访问标识符,搭配javap命令和HEX-Editor插件,深入剖析类的class文件

2024-04-16 07:45:00 838

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

从底层源码入手,通过代码示例,演示AnnotationConfigApplicationContext加载配置类、启动Spring容器的整个流程,并对IOC、BeanDefinition、PostProcesser等相关概念进行解释

2024-04-02 07:45:00 772

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

从命名规范、建表规范、查询规范、索引规范、操作规范等角度出发,详细阐述MySQL数据库使用过程中所需要遵循的各种规范。

2024-03-12 07:45:00 984

原创 Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)

从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。

2024-01-05 07:45:00 2519

原创 什么是JVM的内存模型?详细阐述Java中局部变量、常量、类名等信息在JVM中的存储位置

从类加载子系统、运行时数据区、执行引擎入手,详细阐述JVM内存模型,以及Java局部变量、常量、类名等信息的存储位置

2023-12-01 20:03:55 1257 2

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

本文所有代码格式规范遵循《阿里规约》,从编码、换行符、空格规则、括号规则、字符数等方面展开,详细阐述方法参数、强制转换、运算符、缩进等元素的编写规范。

2023-11-08 07:45:00 1460

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

本文中所有代码命名规范遵循《阿里规约》,从包名、类名、变量名等角度展开,详细阐述测试类、枚举类、数组、布尔型变量、方法等元素的命名规范。

2023-11-03 07:45:00 856

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

对比原型模式和传统方式的实现思路、代码方案、优缺点,阐述原型模式的使用场景,以及深拷贝、浅拷贝等相关概念,并扩展原型模式在Spring源码中的应用。

2023-10-26 07:45:00 316

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

倒排索引、MySQL和ES一致性、ES近实时、ES集群的节点、分片、搭建、脑裂、调优。

2023-10-25 15:45:00 493

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

MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。

2023-10-17 07:45:00 2453 1

原创 谷粒商城笔记+踩坑(25)——整合Sentinel实现流控和熔断降级

先简单介绍熔断、降级等核心概念,然后阐述SpringBoot整合Sentinel的实现方式,最后介绍Sentinel在本项目中的应用。

2023-10-13 07:45:00 541 1

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

深入解读JVM性能的监控、定位和调优方案,阐述jps/stat/jstack、MAT等常用性能分析工具的使用,提出JVM参数、内存溢出、内存泄漏、CPU飙升、GC频繁等实际场景下JVM调优的方案。

2023-09-21 07:45:00 4690

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

从基本特性、技术选型、字段类型、事务提交方式、SQL语句、分页方法等方面对比Oracle和MySQL的区别。

2023-08-11 07:45:00 8651 2

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

从多个层面分析数据库外键的优缺点,并给出外键的使用场景和禁止使用的场景。

2023-07-30 16:04:37 1174

原创 【23年7月21日更新】宝塔+青龙面板+Maiark短信登录搭建教程

购买云服务器+搭建宝塔面板+安装青龙面板+搭建Maiark短信登录,一条龙,适合新手和小白

2023-07-24 17:00:00 10410 29

原创 【Java笔记+踩坑】Spring Data JPA

从常用注解、实体类和各层编写方法入手,详细介绍JPA框架在增删改查等方面的基本用法,以及填充用户名日期、分页查询等高级用法。

2023-07-20 07:45:00 138

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

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

2023-07-12 07:45:00 1022

原创 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。

2023-07-10 07:45:00 734 4

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

根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案

2023-06-22 07:45:00 1703

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

IoC、DI、aop、事务、为什么不建议@Transactional、事务传播级别、@Autowired和@Resource注解的区别、BeanFactory和FactoryBean的区别、Bean的作用域,以及默认的作用域、Bean的生命周期、循环依赖、三级缓存、

2023-06-15 07:45:00 1877

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

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

2023-06-06 07:45:00 7950 4

原创 手写Spring源码(简化版)

Spring包下的类、手写@ComponentScan注解、@Component注解、@Autowired注解、@Scope注解、手写BeanDefinition、BeanNameAware、InitializingBean、BeanPostProcessor 、手写AnnotationConfigApplicationContext

2023-05-26 07:45:00 1344

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

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

2023-05-24 07:45:00 2664

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

排序优化建议、案例验证、范围查询时索引字段选择、filesort调优、双路排序和单路排序、分组优化、带排序的深分页优化

2023-05-23 07:45:00 1762

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

左外连接:优先右表创建索引,连接字段类型要一致、内连接:驱动表由数据量和索引决定、 join语句原理、子查询优化:拆开查询或优化成连接查询

2023-05-22 07:45:00 2017

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

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

2023-05-21 07:45:00 11063 10

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

连接用户中心数据库、账号密码认证、验证码认证

2023-05-13 07:45:00 1353

原创 学成在线笔记+踩坑(11)——认证授权介绍、网关认证,SpringSecurity+JWT+OAuth2

认证授权介绍、网关认证,SpringSecurity+JWT+OAuth2

2023-05-12 07:45:00 2363 1

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

String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射

2023-05-06 07:45:00 2121

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

谈谈你对设计模式的理解、七大原则、单例模式、工厂模式、代理模式、模板模式、观察者模式、JDK中用到的设计模式、Spring中用到的设计模式

2023-05-04 07:45:00 1985

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

聚簇索引和非聚簇索引、索引的底层数据结构、B树和B+树、MySQL为什么不用红黑树而用B+树、数据库引擎有哪些、InnoDB的MVCC、乐观锁和悲观锁、ACID、事务隔离级别、MySQL主从同步、MySQL调优

2023-05-03 12:15:00 3473

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

什么是MVCC、快照读与当前读、隐藏字段、Undo Log版本链、ReadView、举例说明、InnoDB 解决幻读问题

2023-05-03 07:45:00 1088

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

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

2023-05-01 21:34:48 3432

原创 设计模式——观察者模式

观察者模式介绍、观察者模式优化天气预报案例、JDK 的Observable类和Observer类

2023-05-01 00:27:34 1395

原创 设计模式——模板模式

模板方法模式、钩子方法、Spring源码AbstractApplicationContext类用到的模板方法

2023-04-30 21:03:48 1338

原创 设计模式——代理模式

静态代理、JDK动态代理、Cglib 代理

2023-04-30 14:05:22 1447

原创 设计模式——工厂模式

工厂模式介绍、静态简单工厂模式、工厂方法模式、抽象工厂模式、JDK 源码分析

2023-04-29 13:39:17 1709

JDK 1.8中文API文档

JDK 1.8中文API文档

2022-07-27

空空如也

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

TA关注的人

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