自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (10)
  • 收藏
  • 关注

原创 SpringBoot-自动配置原理-手动实现一个自己的自动配置

系列文章目录文章目录系列文章目录二、如何实现自动配置@EnableAutoConfiguration的作用2.读入数据总结# 一丶如何开启自动配置其实我们开启自动注解主要是通过注解实现 @EnableAutoConfiguration这里@SpringBootApplication注解中二、如何实现自动配置其实主要还是通过注解的实现的@EnableAutoConfiguration的作用首先我们看下这个注解的内容@Target({ElementType.TYPE})@Retent

2022-01-05 19:15:49 747

原创 JPA-@Query注解实现连表和分页的动态查询

spring data jpa 动态查询 这里我们使用@Query注解实现如果利用@Query就行分页主要用的属性有nativeQueryvaluecountQuery@Query(nativeQuery = true,value = "你的sql" , countQuery = "你的sql ")Page<实体类> queryUser(@Param("criteria") QueryCriteria criteria, @Param("pageable") Pageable

2021-12-17 19:39:46 4634

原创 elasticsearch(es)查询-URI search命令

基本命令q指定查询语句df 默认字段,不指定时,会对所有字段进行查询sort排序 / from size 用于排序Profile 可以显示查询是如何执行.查询示例GET /movies/_search?q=2012&df=title{ "profile":"true"}可以看看结果这里我们看可以看到 返回了2条数据这里我们可以看到type为"TermQuery"description为"title:2012"# 对所有字段就行查询(性能不好)GET /mo

2021-12-12 23:23:35 836

原创 linux 安装docker

文章目录检查是否安装docker安装docker启动docker查看 docker服务的状态检查是否安装dockeryum list installed | grep docker结果安装dockeryum install docker然后等待提示这里我们输入同意 y如果不想再次输入也已直接输入命令yum -y install docker这样 就可以直接等待安装 了启动docker systemctl start docker查看 docker服务的状态 syste

2021-12-12 21:59:52 680

原创 docker中安装es相关配置

文章目录一 下载docker 这里主要是在win下安装一 下载docker下载地址 https://www.docker.com/products/docker-desktop

2021-12-07 10:17:47 546

原创 elasticsearch(es)的安装和界面(kibana)的安装

文章目录下载安装安装插件界面安装下载https://www.elastic.co/cn/downloads/elasticsearch选择对应系统的版本安装解压zip 然后进入文件夹打开CMD进入文件路径输入命令 bin\elasticsearch 就会启动了es默认的端口是:9200然后在浏览器中输入http://localhost:9200出现下面的界面就表示启动成功了安装插件我们看看下查询插件的命令:.\bin\elasticsearch-plugin install

2021-11-30 22:18:04 1372

原创 Spring事务-哪些场景或什么情况下spring事务会失效

文章目录前言错误的使用或设置方式同类方法中的调用(最常见的)事务未被Spring管理方法修饰符不是public的错误的传播机制数据库不支持事务没有正确的处理回滚没有向外抛出异常捕获异常后抛出新的异常(或自定义异常)前言spring事务是我们java开发过程中会遇到失效的问题.在这里记录下,如有遗漏欢迎指出先记录下我们在开发过程会遇到常见的场景事务失效会可以分类2类:你错误的设置或使用了事务发生错误后没有正确的处理错误的使用或设置方式同类方法中的调用(最常见的)@Service

2021-11-21 14:24:37 559

原创 mysql执行事务的流程(步骤)

文章目录前言步骤总结前言mysql的执行流程主要通过mysql日志(Redo log 和 Undo log)来实现提示:以下是本篇文章正文内容,下面案例可供参考步骤流程图:st=>加粗样式flowchat总结提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。...

2021-11-18 23:22:34 1537

原创 msyql中锁的分类

文章目录定义一、锁的分类方式二、分类1.性能(实现思想)2.操作类型3.锁的粒度定义锁主要是为了在并发情况下协调多个进程或线程针对某个资源的访问.(mysql就是使用锁和MVCC实现了隔离机制)一、锁的分类方式锁可以从 性能(实现思想),操作类型,数据粒度.二、分类1.性能(实现思想)乐观锁乐观锁指的是对于数据库的读写处于乐观的态度.它默认认为数据库不会发生冲突.只有在数据提交的时候检测。常见的实现方式:增加一个version字段.在更新数据的时候判断version版本是否

2021-11-17 21:42:16 461

原创 什么事本地事务?

本地事务的概念也就是基于关系型数据库的事务,也称为传统事务.常见模式:如transaction begininsert/delete/update…transaction commit/rollback本地事务的特征一次事务过程中只能连接一个支持关系型数据库.事务的执行结果满足ACID事务执行的过程中会用到数据库本身的锁机制.ACID也就是我们平常说的 原子性 一致性 隔离性和持久性.原子性: 指构成事务的所有操作,要么全部成功,要么全部失败.一致性: 指事务执行前和执行之

2021-11-16 22:11:14 1007

原创 事务的分类

事务可以分为5类扁平事务带有保存点的扁平事务链式事务嵌套事务分布式事务偏平事务最常见的事务,有begin或start transaction开始,由commit或rollbback结束.在这期间要么全部执行成功,要么全部执行结束.带有保存点的偏平事务带有保存点的扁平事务 除了支持扁平事务支持的操作外,允许在事务执行过程设置一个保存点.从而达到将事务回滚到此位置的目的.链式事务链式事务基于带有保存点的事务基础上,自动将当前事务的上下文隐式传递给下一个事务.嵌套事务嵌套事务就是多

2021-11-15 20:07:32 2841

原创 soul网关源码解析-waf插件的使用

在soul-bootstrap项目pom文件引入jar包<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-waf</artifactId> <version>${project.version}</version></dependency>后台启

2021-02-05 23:33:18 127

原创 soul网关源码解析-sign插件的使用

在soul-bootstrap项目pom文件引入jar包 <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-sign</artifactId> <version>${project.version}</versi

2021-02-05 00:06:45 191

原创 soul网关源码解析-resilience4j插件的使用

在soul-bootstrap项目pom文件引入jar包 <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-resilience4j</artifactId> <version>${project.version}</v

2021-02-03 22:07:21 114

原创 soul网关源码解析-sentinel插件的使用

首先在插件管理中开启插件配置.然后再添加相关的配置信息.添加pom文件<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-sentinel</artifactId> <version>${project.version}</version></dependenc

2021-02-01 22:57:46 640

原创 soul网关源码解析-Hystrix插件

首先在插件管理中开启插件配置.然后再配置需要加入限流的信息.然后我们再请求的话如果有其他情况就会出现以下信息好下面我们看下限流插件方法的执行 @Override protected Mono<Void> doExecute(final ServerWebExchange exchange, final SoulPluginChain chain, final SelectorData selector, final RuleData rule) { //获取请

2021-01-31 02:20:49 107

原创 soul网关源码解析-http长轮询(soul-bootstrap)

我们看到这个项目soul-sync-data-http上次文章中可以看到主要实现2个接口(获取数据 监听)bootstrap主要通过 private void start() { // It could be initialized multiple times, so you need to control that. if (RUNNING.compareAndSet(false, true)) { // fetch all group co

2021-01-30 02:32:35 112

原创 soul网关源码解析-http长轮询(soul-admin)

我们看下soul-admin的类ConfigControllerpublic class ConfigController { @Resource private HttpLongPollingDataChangedListener longPollingListener; /** * Fetch configs soul result. * * @param groupKeys the group keys * @return the

2021-01-29 00:53:07 79

原创 soul网关源码解析-sofa插件

路径如何注册到数据库中在soul-spring-boot-starter-client-sofa这个项目中可以发现类SoulSofaClientConfiguration有2个Bean的方法 @Bean public SofaServiceBeanPostProcessor sofaServiceBeanPostProcessor(final SofaConfig sofaConfig) { return new SofaServiceBeanPostProcessor

2021-01-28 00:06:34 104

原创 soul网关源码解析-divide插件

项目配置信息和请求路径的读取在soul-soul-client-http项目中我们可以找到2个子项目1.soul-client-springmvc2.soul-client-springcloud我们先看springmvc项目的init包下的2个类SpringMvcClientBeanPostProcessorContextRegisterListener我们可以看到这个类继承自BeanPostProcessorBeanPostProcessor主要初始化针对初始化方法前后做一些逻辑处理

2021-01-27 01:04:54 159

原创 soul网关源码解析-数据同步

数据同步策略简单描述soul如何实现同步soul发布事件soul事件的实现soul监听者实现监听者如果注册的soul如果通过配置yml文件实现不同注册监听者简单描述soul的数据同步分为2种方式Soul 网关在启动时会从从配置服务同步配置数据,并且支持推拉模式获取配置变更信息,并且更新本地缓存管理后台发生变更通过推拉模式同步数据到网关.soul如何实现同步soul为了实现解耦采用的是spring事件监听机制 也就是观察者模式的一种实现.Spring实现机制的主要相关类1.Applica

2021-01-24 15:06:18 215

原创 soul网关源码解析-数据同步-nacos同步

nacos同步配置源码配置soul: sync: nacos: url: localhost:8848 namespace: 1c10d748-af86-43b9-8265-75f487d20c6c acm: enabled: false endpoint: acm.aliyun.com namespace: accessKey: secretKey:soul-bootst

2021-01-24 01:33:15 135

原创 soul网关源码解析-数据同步-http同步

http同步配置源码配置更新soul-admin和soul-bootstrap的yml文件配置如下soul : sync: http: url : http://localhost:9095soul : sync: http: enabled: truepom文件依赖(加入依赖后网关需要重启) <dependency> <groupId>org.dr

2021-01-23 00:06:33 118

原创 soul网关源码解析-数据同步-zookeeper同步

zookeeper同步配置源码配置更新soul-admin和soul-bootstrap的yml文件配置如下soul : sync: zookeeper: url: localhost:2181 sessionTimeout: 5000 connectionTimeout: 2000soul : sync: zookeeper: url: localhost:2181

2021-01-22 00:16:38 99

原创 soul网关源码解析-数据同步-weboscket同步

weboscket数据同步配置weboscket原理数据如何同步日志源码soul-spring-boot-starter-sync-data-websocketsoul-admin配置引入pom文件<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-sync-data-websocket</artifactId&

2021-01-21 01:14:17 122

原创 soul网关源码解析-springcloud接入-springcloud插件

文章目录运行 soul-examples-springcloud demo配置pom文件项目的注册管理后台运行结果运行 soul-examples-springcloud demo配置pom文件 <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-springcloud</artifa

2021-01-19 21:18:47 76

原创 soul网关源码解析-sofa接入-sofa插件

文章目录运行soul-examples-sofa demo配置代码管理后台运行结果遇到的问题依赖未加入带参的请求出错运行soul-examples-sofa demo配置需要启动一个zookeeper(单机就行了)代码检查下 soul-bootstrap 的pom文件下是否存在以下配置 <dependency> <groupId>com.alipay.sofa</groupId> <artifactId

2021-01-19 00:17:10 145

原创 soul网关源码解析-dubbo接入-dubbo插件

soul-examples demo下的soul-examples-apache-dubbo-service实例配置增加 @SoulDubboClient 注解在方法服务的实现类方法上加上注解,把服务注册到网关启动一个zk服务首先启动一个**zookeeper**服务(这里的不用集群单个的服务就可以了)你也可以注册nacos中 如果你注册nacos中相对应的配置插件配置也需要更改管理后台配置首先开启插件配置(并注册服务到我们开启的zk服务中,启动的是nacos就注册到nacos中)

2021-01-16 16:41:31 122

原创 soul网关源码解析-http协议接入-divide插件

这里的demo 都是soul-examples中的不同用户的test代码divide插件此插件主要针对http请求的接入接入方法pom 添加依赖(Springboot用户)<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-client-springmvc</artifactId> <version&g

2021-01-16 04:15:38 529 1

原创 soul网关源码解析-环境搭建

项目功能简介支持各种语言(http协议),支持 dubbo,springcloud协议。插件化设计思想,插件热插拔,易扩展。灵活的流量筛选,能满足各种流量控制。内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。流量配置动态化,性能极高,网关消耗在 1~2ms。支持集群部署,支持 A/B Test, 蓝绿发布。项目地址github https://github.com/dromara/soulgitee https://gitee.com/shuaiqiyu/soul(建议)需要的环境j

2021-01-15 00:48:55 202

原创 2021起航

2021起航

2021-01-01 23:51:58 58

原创 JVM学习运行时图

简单的记录下最近的jvm运行时内存图

2020-10-24 09:55:24 91

原创 mysql整体架构

首先我们看下mysql的包含的内容连接器 分析器 查询缓存 优化器 执行器 存储引擎连接器连接器主要负责和客户端建立连接,维持和管理连接,还有就是获取权限查询缓存如果你配置了缓存的查询,那么在mysql拿到请求时会查询缓存,如果命中就会直接把数据返回给客户端.分析器就是分析的语法是否正确就是我们查询的提示语法错误.优化器当你表中增加了多个索引或者多表操作的时候.由优化器来决定索引的使用,表连接的顺序执行器执行sql语句,操作存储引擎,返回结果.存储引擎存储数据,提供读.

2020-08-27 23:54:39 71

原创 Redis 主从模式下主节点挂了怎么办? 如何为间断对外提供服务? Redis哨兵 Sentinel

哨兵是什么?哨兵是Redis高可用(HA)的解决方案.只不过他不支持数据的存储.它的组成: Sentinel是一个系统(或者说是集群)它是由一个(多个实例)组成为什么需要Redis哨兵?Redis有主从模式(客户端写操作发送到主节点,读操作发送到从节点)如果这时候主节点出现故障,不能对外提供服务了.这个时候我们需要做哪几个操作才能正常的对外提供不间断服务.1.我们不知什么主节点挂了(最主要的问题)2.手工把从库设置为主库3.户端还需要修改新的主库地址Redis如果解决这些问题首先我们

2020-08-25 14:08:34 4632

原创 Redis持久话策略 AOF RDB

Redis发生的宕机造成数据丢失的话!最常见的方法是从数据库中重新加载(海量的数据的时候就会出现问题),所以Redis提供了日志恢复的方式: AOF日志 RDB快照 混合AOF流程图AOF流程 1. 先执行客户端命令 2. 把命令追加到缓冲文件中(AOF日志是写后日志() 好处: AOF文件中不会记录到错误的命令) 3. 缓存中的命令写入到文件 4. 重写AOF文件 5. 宕机重载回Redis重载回Redis方式对日志中的操作命令逐一读取缓存中的命令写入到文件提供了3种方式供

2020-08-19 23:42:23 111

原创 为什么Redis不直接使用C原有字符串

我们都知道Redis没有直接使用C原有的字符串而是自己构建了"简单动态字符串"(simple dynamic String)简单SDS.我们可以先看下对于sds结构体sds结构在3.0和之后的版本(3.2开始有所不同)Redis 3.0版本(包含之前)/* * len : 字符串长度/字符数组中已使用的字符数量 * free : 字符数组中未被使用的字符数量 * buf : 字符数组,用来保存字符串 */struct sdshdr { unsigned int len;

2020-08-12 09:38:07 502

原创 Redis初探-学习目录

基础常用的数据类型.

2020-08-11 11:30:30 72

原创 Redis学习-常用的数据类型

Reids平常我们一般说的数据类型是:字符串(String)列表(List)哈希(Hash)Set(集合)Sorted(有序集合)字符串命令内部编码实现1.int 8字节的长整形2.embstr 少于39字节的字符串3.raw 大于39个字节的字符串场景1.缓存功能哈希命令内部编码实现1.ziplist(压缩列表)ziplist使用更加紧凑的结构实现多个连续元素的连续存储,所以在节省内存方面更加优秀使用条件:a.哈希类型个数小于hash-max-ziplist-

2020-08-11 11:11:26 100

原创 Springboot @Retryable重试机制实现

场景在开发的过程中,有的时候我们需要调用第三方的服务或方法 这时候可能会出现网络异常 等一些意外的情况这时候重试机制就会有用了实现的步骤加入引用<dependency> <groupId>org.springframework.retry</groupId> <artifactId>spring-retry</artifactId></dependency>.在启动的主程序上加注解@EnableRetr

2020-07-15 14:05:15 1029

原创 guava-新集合类型

新集合类型guava初探-学习目录Multiset这里的集合[set]是数学上的概念.Multiset继承自JDK中的Collection接口,而不是Set接口,所以包含重复元素并没有违反原有的接口契约先来一个实例,统计单词出现的次数java中的一般做法 @Test public void testDemo() { List<String> list = new ArrayList<>(); list.add("zs");

2020-07-10 09:35:40 174

test-configuration.rar

SpringBoot实现自己的自定义配置

2022-01-05

IK-Analyzer-2017

IK分词器最近更新是2012年,已经和solr版本对应不上,需要手动修改源码才可以! 这是我自己基于jdk8的更新!java是向下兼容的,顾版本的关系应该不大

2017-08-07

aspectjweave

aspectjweave 1.6.12 aspectjweave 1.7.0 aspectjweave 1.7.2 三个版本下载

2014-07-03

微信调试工具

用于开始的时候本地测试! 在开发的时候不用再去线上测试了!

2014-06-19

iPhone3版微信

iPhone3版 适合ios4.3一下的系统

2013-10-28

SQL2005完全卸载

SQL2005完全卸载/彻底卸载!重启电脑后就可一重新安装SQL2005

2012-03-09

完全卸载SQL_Server_2005的实现方法(函哥整理)

完全/彻底卸载SQL_Server_2005 完全/彻底卸载SQL_Server_2005 完全/彻底卸载SQL_Server_2005 完全/彻底卸载SQL_Server_2005 完全/彻底卸载SQL_Server_2005 完全/彻底卸载SQL_Server_2005 完全/彻底卸载SQL_Server_2005

2012-03-09

ASP.NET页面之间的传值

Web页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留。在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确、安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法和各自的适用场合。

2011-08-18

mygeneration外加数据库代码生成器

mygeneration外加数据库代码生成器

2011-03-10

Visual_Studio_2010_快捷键

Visual_Studio_2010_快捷键

2011-03-10

空空如也

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

TA关注的人

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