自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liyanlei的专栏

学海无涯,温故而知新! Stay Hungry, Stay Foolish

  • 博客(680)
  • 资源 (3)
  • 收藏
  • 关注

转载 github官网打不开或访问慢的解决办法

github可能有很多涉及到的ip对应的子域名,很多时间就花在了dns解析映射到ip的过程上,有兴趣可以将你需要的都整理过来然后配置上就可以。以上就是github官网打不开或访问慢的解决办法,相信你已经学会了,可以快乐地在github里玩耍了。

2023-07-15 08:22:14 4452 1

转载 【超详细】springboot + springdoc-openapi + knife4j 集成案例

java库有助于使用 spring boot 项目自动生成 API 文档。通过在运行时检查应用程序以根据 spring 配置、类结构和各种注释推断 API 语义来工作。自动生成 JSON/YAML 和 HTML 格式 API 的文档。可以使用 swagger-api 注释通过注释来完成此文档。OpenAPI3Swagger-uiOAuth 2GraalVM 原生镜像Knife4j是一个集Swagger2和OpenAPI3为一体的增强解决方案。

2023-07-09 13:24:01 1053 1

转载 如何正确控制springboot中bean的加载顺序总结

在 4.0 之后对它的功能进行了增强,支持集合的注入时,指定集合中 bean 的顺序,并且特别指出了,它对于当 实例的 bean 之间的顺序,没有任何影响。其实在工作中,我相信很多人碰到过复杂的依赖关系的bean加载,把这种不确定性交给spring去做,还不如我们自己去控制,这样在阅读代码的时候 ,也能轻易看出bean之间的依赖先后顺序。在相应的扩展点加入自己的业务初始化代码。在spring体系中,从容器到Bean实例化&初始化都是有生命周期的,并且提供了很多的扩展点,允许你在这些步骤时进行逻辑的扩展。

2023-07-09 12:37:54 656

原创 springboot 整合mybatis plus,使用druid 切换多数据源实现单数据库事务,附赠项目源码地址

因为mysql jar包,5.XXX的版本与8.XXX的版本的驱动不是一样的,所以把问题锁定到mysql驱动上了,这个是正解吧。文章,进一步了解数据源是怎么切换的,执行数据库操作的时候(增、删、改、查数据库表或者@Transactional注解开启事务的时候),mybatis会去创建链接,创建链接会选择数据源,在这个时候进行的数据源切换。一开始不知道是哪里错,后来网上找了一个好用的事务程序,但是切到我的项目上还是不好用,之后怀疑是springboot版本问题,怀疑都仅仅是怀疑。于是把这两个注解放到一起。

2023-07-04 15:47:52 900

转载 Homebrew brew update 长时间没反应(或卡在 Updating Homebrew...)

brew update

2023-05-29 14:49:09 932

原创 sentinel使用

2、sentinel的控制台设置,很多都不能立即起作用,代码配置资源的话,设置的规则会很快起作用,所以需要用到sentinel限流、降级,最好。1、sentinel目前没有完全开源,官方文档强调不适用生产环境,还在一个调试发展阶段。3、sentinel系统配置可以立刻生效,所以通用的配置,可以。,保护整个系统不被大流量打垮。把限流降级、规则定义在代码里。

2023-05-23 17:11:34 57

原创 Spring Cloud Alibaba 集成 sentinel ,sentinel控制台不能检测到服务,但是在命令行配置启动参数就能看到服务

一开始我看说是最新的JDK8才能用,我想这一个组件就不支持高版本的JDK,万一以后用的组件也是因为JDK版本过高,再升级JDK可能更不好处理,涉及的东西更多,索性我就换成JDK8吧,比较JDK8还是当下的主流环境,等业界彻底抛弃JDK8的时候,我再换也不迟。在查找问题的过程中,就感受了sentinel的应用范围并不广,就这么一个问题,竟然网上都搜不到解决方案,社区氛围非常有限,官网集成文档也没有明确标明各个版本的差异。终于老天爷再次垂青了我,在我要彻底放弃的时候又给了我希望,感恩。

2023-05-19 16:10:18 1760

转载 SpringCloud:2021.0.1版本gateway报错503问题

原因:因为现在比较新的版本(Feign或者gateway)都不用Ribbon,用spring-cloud-loadblance,并且默认不集成 需要导入依赖 解决:导入。feign和loadbalancer。

2023-05-14 16:54:37 130

转载 『Mysql』在Mysql中的执行计划超详细分析

using index condition: 索引条件推送(MySQL 5.6 新特性),服务器层将不能直接使用索引的查询条件推送给存储引擎,从而避免在服务器层进行过滤。虽然名称为’file’但操作可能是在内存中执行的,取决是否有足够的内存进行排序。如果为NULL,则没有使用索引,查询中若使用了覆盖索引,则该索引和查询的select字段重叠。table: 查询的表, 可能是数据库中的表/视图,也可能是 FROM 中的子查询。(2)id不同,如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行。

2023-04-04 21:01:44 275

转载 MySQL的执行计划详解(Explain)

Using index for group-by:类似于访问表的 Using index 方式,Using index for group-by 表示MySQL发现了一个索引,可以用来查 询GROUP BY或DISTINCT查询的所有列,而不要额外搜索硬盘访问实际的表。key_len 是根据表定义计算而得的,不是通过表内检索出的。2.关联表查询,idx_film_actor_id是film_id和actor_id的联合索引,这里使用到了film_actor的左边前缀film_id部分。

2023-04-04 19:32:32 230

转载 微服务,多服务之间频繁调用导致系统接口超时,怎么优化?

2.如果重复调用次数达到阈值要减少调用次数,减少调用频率,防止系统奔溃,记录调用失败的数据尝试等待系统回复正常再次调用或者人工处理数据。我们可以从两方面考虑,一方面是解决超时或者是尽量避免超时,二是超时后的解决方案。消息队列的形式不需要调用接口所以不存在超时的情况,如果接口调用的形式做了各种优化方案还是超时了,那有以下几种方案。3.以上两种方案可无限方式扩展,异步线程等都能替代,但是这些方式都不能同步返回处理结果,需要异步回调上游。,可以做自定义容错处理,扩展性也很好,也很好的解决系统频繁调用奔溃的问题。

2023-04-04 18:13:51 1920

转载 Spring、SpringMVC、SpringBoot常用注解

Service对应的是业务层Bean,@Service(“userService”)注解是告诉Spring,当Spring要创建UserServiceImpl的的实例时,bean的名字必须叫做"userService",这样当Action需要使用UserServiceImpl的的实例时,就可以由Spring创建好的"userService",然。@Autowired是Spring的注解,@Resource是J2EE的注解,这个看一下导入注解的时候这两个注解的包名就一清二楚了。

2023-04-04 15:50:23 494

转载 java压缩文件并加密,发送到邮箱

直接调用方法即可,第一个参数是你的文件名称,第二个事压缩完后的文件名称,第三个是压缩加密的密码。目标,我们需要把文件进行压缩 并进行加密设置密码,并发送到指定的邮箱,这是需求。target 是一个数组, 发送的目标邮箱,如:target=[‘上传了一下,告诉已经存在了所以,有看到的去找下吧, 应该很好找的。fileList 也是一个数组,发送所附带的附件,也可以是多个,content 邮件的内容 ,就跟写页面一样一样一样的。这是发送的方法 可以自行修改成符合自己需求的。可以多个一起发送,也可以只发一个。

2023-04-02 19:05:20 920

转载 导致数据库慢查询的12个常见原因,以及对应的解决方法。

当内存数据页跟磁盘数据页内容不一致的时候,我们称这个内存页为“脏页”。内存数据写入到磁盘后内存和磁盘上的数据页的内容就一致了,称为“干净页一般有更新SQL才可能会导致脏页,我们回忆一下:一条更新语句是如何执行的。

2023-04-02 18:08:43 5373

转载 mac Idea 安装后打不开,意外退出的解决方案

1、今天打开idea,却发现闪退,怎么都打不开。找到指定idea,打开编辑 vi idea.vmoptions ,删除下面信息。3、重新打开idea 即可。

2023-03-06 11:22:09 1866 1

转载 关于mybatis中type-aliases-package使用的几个问题

关于mybatis中type-aliases-package使用的几个问题

2023-02-02 16:36:31 409

转载 javaMail直接发送附件,无须生成临时文件

利用ByteArrayOutputStream把excel文件输出到bytes[]中,然后由ByteArrayResource包装起来传递给邮件服务。版权声明:本文为CSDN博主「Clement-Xu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/ClementAD/article/details/78743663。

2022-11-14 16:26:56 742 1

转载 基于Ribbon实现负载均衡时出现java.net.UnknownHostException: XXXXX异常

Spring Cloud 2020版本以后,默认移除了对Netflix的依赖,其中就包括Ribbon,官方默认推荐使用Spring Cloud Loadbalancer 正式替换Ribbon,并成为了Spring Cloud负载均衡器的唯一实现,因此要在原有依赖的基础上添加 下面的Loadbalancer依赖。

2022-10-19 17:41:08 333

转载 spring怎么实现单例模式

spring怎么实现单例模式_弹指天下-CSDN博客_spring 单例模式在Spring中,bean可以被定义为两种模式:prototype(多例)和singleton(单例)singleton(单例):只有一个共享的实例存在,所有对这个bean的请求都会返回这个唯一的实例。prototype(多例):对这个bean的每次请求都会创建一个新的bean实例,类似于new。Spring bean 默认是单例模式。简单来说,spring中的单例是通过单例注册表实现的。实战演示:代码详

2022-03-05 21:11:24 8520

转载 Hive与MySQL的区别

Hive与MySQL的区别MySQL逻辑架构图:Hive的架构图:两者的比较:Hive采用了类SQL的查询语言HQL(hive query language)。除了HQL之外,其余无任何相似的地方。Hive是为了数据仓库设计的。存储位置:Hive在Hadoop上;Mysql将数据存储在设备或本地系统中;数据更新:Hive不支持数据的改写和添加,是在加载的时候就已经确定好了;数据库可以CRUD;索引:Hive无索引,每次扫描所有数据,底层是MR,并行计算,适用于大数据量;MySQL有索引,适

2022-03-04 18:18:38 774

转载 synchronized底层实现原理及锁优化

synchronized底层实现原理及锁优化_Medlen-CSDN博客_synchronized底层原理一、概述1、synchronized作用原子性:synchronized保证语句块内操作是原子的可见性:synchronized保证可见性(通过“在执行unlock之前,必须先把此变量同步回主内存”实现)有序性:synchronized保证有序性(通过“一个变量在同一时刻只允许一条线程对其进行lock操作”)2、synchronized的使用修饰实例方法,对当前实例对象加锁修饰静态

2022-02-28 16:33:45 212

原创 求第K大算法总结

搜索了一下共发现两种解法,一种是借助一个额外的堆空间,一种是利用快排的方式根据位置来查找!解法一:借助辅助堆建立一个k个元素的小顶堆,首先将数组中前k个元素放入堆中,此时堆顶元素为第k大的元素,后面继续遍历数组,比较数组中元素与堆顶元素值,当数组中元素大于堆顶元素时,将堆顶元素弹出,新元素入堆,这样最终堆顶元素即为第k大。可以直接利用Java中优先级队列,这里传入一个比较器来构造小顶堆import org.junit.Test;import java.util.Comparator;

2022-02-28 15:02:56 261

转载 Fork/Join框架详解

Fork/Join框架详解 - 木易森林 - 博客园Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。Fork/Join框架要完成两件事情:  1.任务分割:首先Fork/Join框架需要把大的任务分割成足够小的子任务,如果子任务比较大的话还要对子任务进行继续分割  2.执行任务并合并结果:分割的子任务分别放到双端队列里,然后几个启动线程分别从双端队列里获取任务执行。子任务执行完的结果都放在另外一

2022-02-25 10:43:47 257

转载 使用ForkJoin

使用ForkJoin - 廖雪峰的官方网站Java 7开始引入了一种新的Fork/Join线程池,它可以执行一种特殊的任务:把一个大任务拆成多个小任务并行执行。我们举个例子:如果要计算一个超大数组的和,最简单的做法是用一个循环在一个线程内完成:┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘还有一种方法,可以把数组拆成两部分,分别计算,最后

2022-02-25 10:38:51 98

转载 JAVA多线程之中断机制(如何处理中断?)

JAVA多线程之中断机制(如何处理中断?) - 大熊猫同学 - 博客园一,介绍这篇文章主要记录使用 interrupt() 方法中断线程,以及如何对InterruptedException进行处理。感觉对InterruptedException异常进行处理是一件谨慎且有技巧的活儿。由于使用stop()方法停止线程非常的暴力,人家线程运行的好好的,突然就把人家杀死了,线程占用的锁被强制释放,极易导致数据的不一致性。可参考这篇文章对stop()方法的介绍。因此,提出了一种温和的方式:请求另外

2022-02-22 11:53:11 1002 1

转载 Java的三种代理模式

Java的三种代理模式 - 洋葱源码 - 博客园1.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,来达到同样的目的.明星就是一个目标对象,他只要负

2022-02-21 19:28:42 163

转载 过滤器、注解

过滤器Filterfilter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理。步骤:编写一个过滤器的类实现Filter接口 实现接口中尚未实现的方法(着重实现doFilter方法) 在web.xml中进行配置(主要是配置要对哪些资源进行过滤)例子,过滤器实现类:package com.yyb.filter;import java.io.IOException;import javax.servlet.*;/** * Cre

2022-02-21 19:02:08 1229

转载 监听器Listener

JavaWeb学习笔记八 监听器 - ~冰 - 博客园jservlet规范包括三个技术点:servlet ;listener ;filter;监听器就是监听某个对象的的状态变化的组件。监听器的相关概念事件源:被监听的对象(三个域对象 request,session,servletContext) 监听器:监听事件源对象, 事件源对象的状态的变化都会触发监听器 。 注册监听器:将监听器与事件源进行绑定。 响应行为:监听器监听到事件源的状态变化时,所涉及的功能代码(程序员编写代码)按照被监听的对

2022-02-21 18:12:35 255

转载 LinkedHashMap原理和底层实现

1.概述在使用HashMap的时候,可能会遇到需要按照当时put的顺序来进行哈希表的遍历。通过上篇对HashMap的了解,我们知道HashMap中不存在保存顺序的机制。本篇文章要介绍的LinkedHashMap专为此特性而生。在LinkedHashMap中可以保持两种顺序,分别是插入顺序和访问顺序,这个是可以在LinkedHashMap的初始化方法中进行指定的。相对于访问顺序,按照插入顺序进行编排被使用到的场景更多一些,所以默认是按照插入顺序进行编排。看一下实际的运行效果,测试代码如下:pu

2022-02-08 17:47:12 2747

转载 ThreadLocal作用、场景、原理

黑马程序员Java基础教程由浅入深全面解析threadlocal_哔哩哔哩_bilibiliThreadLocal数据结构内存泄露 - threadLocalMap key为强引用内存泄露 - threadLocalMap key为弱引用手动remove entryThreadLocal作用、场景、原理 - 简书1.ThreadLocal 是什么? 在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决...

2022-02-07 19:14:34 396

转载 ConcurrentHashMap在jdk1.7和jdk1.8中的不同

ConcurrentHashMap 1.7与1.8的锁区别,以及数据结构区别_鹤忧的博客-CSDN博客JDK1.7版本的ReentrantLock+Segment+HashEntry,到JDK1.8版本中synchronized+CAS+HashEntry+红黑树1.7版本put:Segment的继承体系可以看出,Segment实现了ReentrantLock,也就带有锁的功能,当执行put操作时,会进行第一次key的hash来定位Segment的位置,如果该Segment还没有初始化,即通

2022-02-07 18:20:21 693

转载 一文彻底搞懂MySQL基础:B树和B+树的区别

一文彻底搞懂MySQL基础:B树和B+树的区别_码农富哥-CSDN博客_b树和b+树有什么区别写在前面大家在面试的时候,肯定都会被问到MySql的知识,以下是面试场景:面试官:对于MySQL,你对他索引原理了解吗?我:了解面试官:MySQL的索引是用什么数据机构的?我:B+树面试官:为什么要用B+树,而不是B树?我:…面试官:用B+树作为MySql的索引结构,用什么好处?我:…B树和B+树是MySQL索引使用的数据结构,对于索引优化和原理理解都非常重要,下面我的写文章就是要把B树,

2022-02-07 16:59:26 242

原创 mysql索引数据结构

找不到从哪里截的图了,但是我觉得这几张图把索引说的挺清楚的,有必要记录一下B树、B+树MyISAM存储引擎InnoDB存储引擎​​​​索引与数据存储在一起,数据在叶子节点上聚簇索引:索引和数据存储在一起,innodb主键索引是聚簇索引非聚簇索引:索引和数据不存储在一起,myisam索引就是非聚簇索引,innodb的非主键索引也是非聚簇索引...

2022-02-07 16:56:27 625

转载 什么是单点登录(SSO)

什么是单点登录(SSO) - 知乎前言只有光头才能变强。文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y在我实习之前我就已经在看单点登录的是什么了,但是实习的时候一直在忙其他的事,所以有几个网站就一直躺在我的收藏夹里边:在前阵子有个读者来我这投稿,是使用JWT实现单点登录的(但是文章中并没有介绍什么是单点登录),所以我觉得是时候来整理一下了。简单代码实现JWT(json web token)完成SSO单

2022-02-07 16:09:51 949

转载 OAuth2.0与SSO比较

OAuth2.0与SSO比较_咖啡男孩之SRE之路-CSDN博客_oauth2.0与ssoOAuth是Open Authority的缩写,是令牌代替用户密码访问应用的又一标准,前面一期介绍过SSO单点登录(SpringBoot模拟单点登录),也是令牌登陆的一种方式。OAuth2.0最典型的授权码认证方式:资源服务器和鉴权服务器都是属于资源所有方,也就是最终的服务提供方,第三接入方需要先与鉴权服务器申请合作获取客户编码。对于资源服务器来说,需要做的是1 accessToken和cl

2022-02-07 15:48:00 1779

原创 kafka入门

本篇文章根据以下视频整理而来全网讲的最好的Kafka视频课程全集(30P) 3小时带你从入门到精通(快速手上kafka框架快速入门,通俗易懂)【值得收藏】_哔哩哔哩_bilibili...

2022-01-05 19:13:26 539

原创 Kafka从入门到精通,精华内容总结

本篇文章根据以下视频整理而来付费买的Kafka全套VIP教程,完全入坑指南(据说2天能全部学会),现在免费分享给大家!_哔哩哔哩_bilibili...

2022-01-05 14:52:51 691

原创 ElasticSearch教程入门到精通,精华内容总结

个人对Elasticsearch的理解:1)是什么:做全文搜索的。2)干什么:Elasticsearch本质是搜索,是用来做搜索的,而不是用来做存储的。3)原理?Elasticsearch是通过分词、倒排索引实现全文搜索。本篇文章根据以下视频整理而来【尚硅谷】ElasticSearch教程入门到精通(基于ELK技术栈elasticsearch 7.8.x版本)_哔哩哔哩_bilibili前面的比较整理的有点乱,看不懂可以直接跳过,不用纠结y'yu扩展阅读Ela.

2021-12-31 19:41:28 1395

原创 一看就懂的DDD-(Domain Drive Design领域驱动设计)设计思想

本篇文章根据以下视频教程整理而来,除了广告部分,整体课程质量还是非常通俗易懂,讲的软件开发中的变更问题,也是深有体会!2小时掌握宇宙最强DDD(Domain driven design)DDD领域驱动设计实战_哔哩哔哩_bilibili我的总结...

2021-12-28 16:34:38 883

原创 nginx入门学习

nginx是干什么的?反向代理服务器,增加系统并发数,从而增加系统吞吐量本篇文章根据以下两个视频教程整理而来,每个视频都不错,各有优劣​​​​​​这可能是B站讲的最好的Nginx教程,3h打通Nginx全套教程丨通俗易懂,2021最新版(图文并茂、负载均衡、动静分离、虚拟主机、附案例源码))_哔哩哔哩_bilibili短小精悍,可以做初步入门,应用场景介绍把nginx的是干什么的说的特别清楚,动静分离也是为了扩大系统并发能力,提高系统的吞吐量!尚硅谷Nginx教程由浅入深(一套.

2021-12-23 18:20:06 1428

Springboot整合dubbo构建maven多模块项目 - 集成 mybatis

Springboot整合dubbo构建maven多模块项目 - 集成 mybatis

2018-01-15

Springboot整合dubbo构建maven多模块项目- test

Springboot整合dubbo构建maven多模块项目 简单实例,包括Server和client两个子模块

2018-01-15

RocketMQ 开发手册3.2.4-1

本文档旨在描述 RocketMQ 的多个关键特性的实现原理,幵对消息中间件遇到的各种问题迕行总结,阐述 RocketMQ 如何解决返些问题。文中主要引用了 JMS 规范不 CORBA Notification 规范,规范为我们设计系统挃明了 方吐,但是仍有丌少问题规范没有提及,对亍消息中间件又至关重要。RocketMQ 幵丌遵循任何规范,但是参考了 各种规范不同类产品的设计思想。

2017-12-19

空空如也

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

TA关注的人

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