自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yehongzhi1994的博客

技术改变生活,分享成为习惯

  • 博客(72)
  • 资源 (1)
  • 收藏
  • 关注

原创 几个关于MapReduce的小例子

文章已收录到我的Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary写在前面上一篇文章通过写一个WordCount学习了MapReduce的入门操作,那么这篇文章继续通过多一些例子来学习MapReduce。下面介绍几种比较常见的操作:排序,去重,求和,求平均数,TopK查询(查询排名前K名的记录)排序其实MapReduce会默认对Key进行升序自然排序,这显然是远远不够用的,下面我举个例子,输入的file1内容如下:1,256.

2022-03-06 23:49:26 2748

原创 SpringBoot多环境配置怎么玩?

文章已收录到我的Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary前言一般来说,在日常开发中都会分多个环境,比如git代码分支会分为dev(开发)、release(测试)、pord(生产)等多个环境。可以说每个环境对应的配置信息(比如数据库、缓存、消息队列MQ等)都不相同。因此不同的环境肯定需要对应不同的配置文件。接下来学习一下怎么配置多环境的配置文件。SpringBoot多环境配置因为SpringBoot做多环境配置比较简单.

2021-11-14 23:55:42 2383 1

原创 服务网关Gateway之过滤器

文章已收录到我的Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary写在前面前一篇文章写了Gateway的Predicate(用于路由转发),那么这篇文章就介绍另一个主要的核心,那就是Filter(过滤器)。过滤器有什么作用呢?工作流程是怎么样的呢?请看下图:从图中很明显可以看出,在请求后端服务前后都需要经过Filter,于是乎Filter的作用就明确了,在PreFilter(请求前处理)可以做参数校验、流量监控、日志记录、修.

2021-11-07 20:10:11 1087

原创 网关服务很重要,学一学Gateway

文章已收录到我的Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary介绍服务网关要认识一样东西,最好的方法是从为什么需要他开始说起。按照现在主流使用微服务架构的特点,假设现在有A、B、C三个服务,假如这三个服务都需要做一些请求过滤和权限校验,请问怎么实现?每个服务自己实现一遍。写在一个公共的服务,然后让A、B、C服务引入公共服务的Maven依赖。使用服务网关,所有客户端请求服务网关进行请求过滤和权限校验,然后再路由转发到A.

2021-11-02 22:41:54 259

原创 Mybatis-Plus多数据源解析

文章已收录到我的Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary写在前面上一篇文章大致介绍了dynamic-datasource的功能,用起来的确很方便,只需要一个@DS注解,加上一些简单的配置即可完成多数据源的切换。究竟是怎么做到的呢,底层是怎么实现呢?带着这个疑问,一起研究了一下源码。由于框架本身功能点比较多,有很多小功能比如支持spel、正则表达式匹配,动态增删数据源这种功能的源码就不去细讲了。我们只关心核心的功能,就是.

2021-10-24 23:42:01 2111

原创 Mybatis-Plus整合多数据源

文章已收录到我的Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary提出问题在平时开发中,经常会遇到在一个项目里需要使用多个数据源的情况,比如有一部分数据在数据源A,另一部分数据在数据源B,业务需要把这两部分的数据做合并然后从接口返回。又或者操作完数据源A后,需要切换数据源,操作数据源B。这样的需求,怎么实现?解决问题其实在mybatis-plus就有相关的实现,是一个基于SpringBoot快速集成多数据源的启动器。首先要.

2021-10-20 23:04:05 627

原创 Java基础不简单,泛型很重要!

文章已收录到我的Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary前言其实在开发中经常会看到泛型的使用,但是很多人对其也是一知半解,大概知道这是一个类似标签的东西。比如最常见的给集合定义泛型。List<String> list = new ArrayList<>();Map<String,Object> map = new HashMap<>();那么什么是泛型,为什么使用泛.

2021-10-20 23:02:12 123

原创 ThreadLocal底层原理是什么?

文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary什么是ThreadLocalThreadLocal提供线程的局部变量,这种变量与普通变量的区别在于,每个访问这种变量的线程都有自己的、独立的变量副本。用于解决多线程间的数据隔离问题。使用场景其实ThreadLocal在很多开源框架中都有应用:Spring中的事务管理器,比如TransactionSynchronizationManager等。Mybatis中的E.

2021-08-15 20:06:56 264

原创 Mybatis-Plus,BaseMapper源码分析

抛出疑问Mybatis-plus的确能让我们写少很多重复代码,非常好用。那么其中最方便的就是Mapper接口继承BaseMapper就能获得增删改查的这个功能。那么这个功能的底层代码,究竟是怎么实现的呢?原生Mybatis配置的原理毕竟Mybatis-plus是Mybatis的加强,所以Mybatis-plus肯定是基于Mybatis原来的机制来扩展的,沿着这个思路,我们先搞清楚一个问题,就是原生的mapper.xml文件最后是怎么跟对应的Mapper接口产生联系的。既然是配置,那么在Mybatis

2021-08-04 00:08:47 1145 1

原创 Mybatis-Plus,真香!

前言mybatis相信都不陌生,目前互联网公司大部分都使用mybatis作为持久层框架,无他,因为可以直接在xml文件中编写SQL语句操作数据库,灵活。但是我们在使用的时候,也会发现有很多增删改查的SQL是每个表都会有的基本操作,如果每个表都写一套增删改查的SQL显然是非常耗时耗力的。于是乎,就有了mybatis-plus这个框架。正如官网所说,mybatis-plus是为简化开发而生。mybatis-plus有以下特点:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。只需简单配置,

2021-07-05 23:36:14 1196 13

原创 Java基础不简单,谈谈hashCode()和equals()

文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary写在前面其实很早我就注意到阿里巴巴Java开发规范有一句话:只要重写 equals,就必须重写 hashCode。我想很多人都会问为什么,所谓知其然知其所以然,对待知识不单止知道结论还得知道原因。hashCode方法hashCode()方法的作用是获取哈希码,返回的是一个int整数学过数据结构的都知道,哈希码的作用是确定对象在哈希表的索引下标。比如HashSe.

2021-06-15 00:11:03 1314 5

原创 谈谈MySQL索引如何提高数据库查询效率

文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary前言我们都知道当查询数据库变慢时,需要建索引去优化。但是只知道索引能优化显然是不够的,我们更应该知道索引的原理,因为不是加了索引就一定会提升性能。那么接下来就一起探索MYSQL索引的原理吧。什么是索引索引其实是一种能高效帮助MYSQL获取数据的数据结构,通常保存在磁盘文件中,好比一本书的目录,能加快数据库的查询速度。除此之外,索引是有序的,所以也能提高数据的排序效率。.

2021-05-30 21:22:42 381 3

原创 什么是雪花ID?

雪花ID~

2021-05-24 00:11:32 1191 1

原创 线上排错神器,你必须要知道的dump文件

讲讲dump文件的生成以及查看的方式

2021-05-16 14:02:46 706

原创 深入理解String类、字符串常量池

温故而知新~

2021-05-05 15:50:54 229 3

原创 谈谈对MySQL的MVCC机制的理解

文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary前言无论是上一篇文章讲的事务隔离级别,还是之前讲的undo log日志,其实都涉及到MVCC机制,那么什么是MVCC机制,它的作用是什么,下面就让我们带着问题一起学习吧。什么是MVCCMVCC全称是多版本并发控制 (Multi-Version Concurrency Control),只有在InnoDB引擎下存在。MVCC机制的作用其实就是避免同一个数据在不同事务之间.

2021-04-25 23:31:54 312 1

原创 什么是脏读、不可重复读、幻读?

文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary脏读、不可重复读、幻读在现代关系型数据库中,事务机制是非常重要的,假如在多个事务并发操作数据库时,如果没有有效的机制进行避免就会导致出现脏读,不可重复读,幻读。脏读1、在事务A执行过程中,事务A对数据资源进行了修改,事务B读取了事务A修改后的数据。2、由于某些原因,事务A并没有完成提交,发生了RollBack操作,则事务B读取的数据就是脏数据。这种读取到另一个事务.

2021-04-18 23:54:56 335

原创 超详细的Sentinel入门

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

2021-04-05 15:38:45 768

原创 MySQL中必须了解的三种日志

不懂就看看吧~

2021-03-21 14:35:24 489

原创 十连发!经典leetcode算法题解分享(哈希表)

淦就完事了~

2021-03-14 15:06:10 183

原创 Java自定义注解实现日志记录

教你怎么使用自定义注解记录日志

2021-03-07 15:08:41 992 1

原创 枚举的底层原理是什么?

一篇文章告诉你Java枚举的底层原理是什么

2021-03-01 22:53:27 346

原创 Redis如何实现分布式锁

谈谈Redis实现分布式锁的三个问题以及解决方案

2021-02-22 21:59:07 529

原创 经典leetcode算法题分享,从字符串开始

分享几道字符串的算法题,希望能对大家有所启发

2021-02-07 00:52:28 263

原创 玩转布隆过滤器,其实很简单!

一篇文章带你玩转布隆过滤器

2021-01-31 15:41:21 523

原创 什么是缓存雪崩、缓存击穿、缓存穿透?

一篇文章搞懂什么是缓存雪崩、缓存击穿、缓存穿透!

2021-01-24 16:42:41 425 1

原创 深入探索Redis的五种基础数据类型

一篇文章带你搞懂Redis的五种数据类型的底层实现原理

2021-01-17 14:35:02 241

原创 死磕synchronized底层原理

一起学习一下synchronized底层原理吧

2021-01-10 23:00:22 287

原创 要精通SQL优化,首先要看懂explain关键字

explain关键字可谓是SQL优化的利器!

2021-01-03 21:57:01 335 1

原创 4千字详细讲解JVM中的垃圾回收!

看完这篇垃圾回收,能跟面试官扯半天了

2020-12-27 23:53:48 193

原创 面试官:Spring用了哪些设计模式?

从设计模式去解读Spring源码

2020-12-13 21:56:56 257

原创 终于讲明白了!Java并发编程不得不学的AQS

干就完事了

2020-12-06 22:34:05 443

原创 并发编程的悲观锁和乐观锁

什么是悲观锁?什么是乐观锁?看完就懂了~

2020-11-29 22:06:31 202

原创 面试中问的最多的线程池,你搞懂了吗

什么是线程池,为什么使用线程池,如何使用线程池,你搞懂了吗

2020-11-22 20:54:22 332

原创 SpringBoot启动流程是怎么样的?看完你就懂了!

一篇文章带你搞懂SpringBoot启动流程!

2020-11-15 21:36:53 648

原创 5千字带你从设计模式的角度剖析Mybatis源码

Mybatis用了哪些设计模式呢?看完你懂了~

2020-11-08 21:05:18 202 1

原创 手把手教你搭建ELK,原来这么简单

ELK是个啥?如何搭建ELK?看这篇就完事了!

2020-11-02 22:33:26 10959 7

原创 微服务调用链追踪框架Skywalking,看完你就懂了!

介绍了Skywalking的作用,安装方法,架构设计等等

2020-10-26 22:44:20 4518 3

原创 Apollo配置中心,让配置“智能”起来

一篇文章搞懂Apollo配置中心!

2020-10-20 22:50:33 378

原创 3千字详细讲解OpenFeign的使用姿势!

OpenFeign的总结,拿走不谢~

2020-10-13 23:00:13 424 1

MySQL5.6.12免安装版,开箱即用

解压后,双击StartMySQL.cmd即可使用,按提示敲回车。适用于window系统,仅限于学习使用!

2020-05-03

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

TA关注的人

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