自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 springboot配置文件加载顺序

springboot配置文件加载顺序,从高到底1、命令行传入的参数 如:java -jar --server port=88882、

2020-08-11 09:21:07 561

原创 spring系列之事物

本节任务:1、用事物(基本用法;传播机制;隔离级别)2、事物的原理spring的事物是通过AOP来实现的。spring事物的配置:<aop:aspectj-autoproxy proxy-target-class="true"/> <bean id="transactionManager" class="org.springframework.jd...

2019-12-06 23:40:27 236

原创 阿里云文档中心

最佳实践

2022-11-23 10:52:51 361 1

原创 k8s 和 service mesh

微服务和云原生可能用到的相关组件。一、什么是 Kubernetes(k8s)1、Kubernetes 作为一种容器编排调度工具,解决了分布式应用程序的部署和调度问题2、Kubernetes 本质上是通过声明式配置来实现应用生命周期管理3、Kubernetes 通过 Service 对象将一个服务的多个实例组合在了一起,统一对外服务4、作为微服务的可交付成果,容器解决了环境一致性问题,并在限制应用程序资源方面提供了更多的粒度。它们被广泛用作微服务的载体5、为了应对服务流量高峰和平谷时,

2022-05-05 22:56:34 2262

原创 剑指 offer

还是比较喜欢以前的 五分钟算法,后来被作者改成了 吴师兄,总觉得有点流氓的意思,没有以前的高大上,附链接看动画,拿 Offer | 吴师兄学算法https://blog.algomooc.com/

2022-01-11 17:25:03 291

原创 springcloud zuulfilter 实现get,post日志记录URL+params

import com.alibaba.fastjson.JSONObject;import com.idoipo.infras.gateway.open.model.InvokeLogModel;import com.idoipo.infras.gateway.open.service.IInvokeLogService;import com.idoipo.infras.gateway.open.utils.MultiPartFormDateToJson;import com.netflix.zu.

2022-01-04 14:19:24 406

原创 代理服务器对比HA,NGINX

一、代理服务器优缺点:HAProxy、Nginx、LVS、Apache 比较 HAProxy Nginx LVS Apache 简介 高可用、负载均衡且基于TCP和HTTP应用的代理,支持高并发,多集群反代。 高性能http和反向代理服务器、邮件代理服务器,支持高并发,轻量级Web,低系统资源消耗。 Lin

2021-11-15 17:03:12 2718

原创 SQL-MySQL(Linux)随意录

不求解决实际问题,只记录探索之路,路漫漫,慢点看,永不停歇前言:数据库是啥,数据库实例是啥?数据库:数据库是文件的集合,是按照某种数据模型组织起来并存放于二级存储器中的数据文件的集合。数据库实例:数据库实例是程序,是位于用户和操作系统之间的一层数据管理软件。用户对数据库的一切操作以及数据库本身的运行都是在数据库实例下运行的,应用程序只有通过数据库实例才能和数据库打交道。1、配置文件查看配置文件所在位置(命令):mysql --help | grep my.cnf显示会在以下位置查找配

2021-11-12 16:43:53 1136

原创 Stringboot整合rabbitmq自动创建队列

现象:队列没有创建?why???当你兴高采烈得添加了maven依赖并心花怒放一般地copy完一下代码却发现,程序启动起来后队列没有创建,交换机也没有创建,瞬间一万只草拟吗涌上心头,开始了百度之路...... /** * 配置交换机实例 * @return */ @Bean(name = "logCallbackDirectExchange") public DirectExchange directExchange() { re

2021-08-16 13:58:12 788

原创 Redis(Jedis)连接池报错“Could not get a resource since the pool is exhausted”的解决方法

场景:线上redis和服务不在同一个服务器,压力大的时候经常出现上述报错,将连接池参数调大,可以暂时解决,但是压力增长之后还是会出现,调整参数治标不治本。一般在配置redis连接池的时候都会开启验证从池中获取的连接的有效性:config.setTestOnCreate(true);当redis服务器和提供接口服务的服务器不在同一台机器上的时候可能由于网络原因导致池中连接不可用,这个时候再去检测从池中拿到的连接的有效性就极有可能会出现以上错误。将setTestOnCreate设置为false,是不可取

2021-06-24 18:57:45 14495

原创 rabbitmq广域网集群脑裂问题

一、起因rabbitmq是网络敏感型的,一旦集群中有节点存在网络波动,直接形成脑裂问题,各自为政,导致节点不可用,详细信息见官网点击跳转二、解决办法安装插件进行数据的搬运可选的插件有两个1、Federation :Federation插件的高级目标是在代理之间传输消息,而无需集群。出于多种原因,这很有用言传身教不如献身正道,点击打开葵花宝典2、Shovel:有时有必要将消息从一个群集中的源(通常是队列)连续可靠地移动到另一个群集中的目的地(交换,主题等)(移动?!负载均衡?!!怪不得

2021-04-01 09:06:31 492

原创 redis数据迁移redis-dump(redis从A服务器迁移到B服务器)

一、环境准备迁移需要用到redis-dump 工具,需要安装,centos 7 步骤如下1、配置yum仓库yum install centos-release-scl-rh -y2、安装依赖环境rubyscl enable rh-ruby23 bash3、查看ruby版本ruby -v4、安装 redis-dumpgem install redis-dump -V二、使用redis-dump导出数据redis-dump -u IP:PORT -d 6 -a p..

2021-02-26 10:54:56 1049

原创 Windows中杀死某个端口对应的进程

Windows中杀死某个端口对应的进程1、netstat -ano | findstr 3000 //列出进程极其占用的端口,且包含 3000 端口2、tasklist | findstr 28028 // 查看该进程是什么程序占用的3、taskkill -PID 28028 -F //强制关闭 28028 进程...

2021-02-20 14:00:29 171

原创 Linux日志过滤awk

Linux日志过滤法宝grep + awd1、默认使用空格分隔,打印第6列grep "pool" finchinaAPP | grep "cost" | awk '{print $6}'2、自定义使用冒号分隔,打印第6列grep "pool" finchinaAPP | grep "cost" | awk -F ':' '{print $6}'3、自定义使用冒号和,逗号分隔,计算第六列值大于11000并打印第6列grep "pool" finchinaAPP | grep "cost" |

2021-02-04 11:18:10 257

原创 docker的4种网络模式

我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式:· host模式,使用--net=host指定。· container模式,使用--net=container:NAME_or_ID指定。· none模式,使用--net=none指定。· bridge模式,使用--net=bridge指定,默认设置。下面分别介绍一下Docker的各个网络模式。1 host模式众所周知,Docker使用了Linux的Nam

2021-01-06 14:48:23 231

原创 3台物理机使用docker搭建rabbitmq镜像集群

一、准备3台linux机器内核版本在3.10以上,三台机器的IP地址为 10.10.10.1 、10.10.10.2 、10.10.10.3二、配置三台机器的hosts10.10.10.1 dockerrabbitmqhostname1 rabbit110.10.10.2 dockerrabbitmqhostname2 rabbit210.10.10.3 dockerrabbitmqhostname3 rabbit3配置hosts命令..

2021-01-06 14:43:19 873 1

原创 Linux 时钟同步

还在为多服务部署时间不一致而担忧吗?快快参照以下套路设置一下吧Linux下,默认情况下,系统时间和硬件时间并不会自动同步。在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。硬件时间的运行,是靠BIOS电池来维持,而系统时间,是用CPU Tick来维持的。在系统开机的时候,会自动从BIOS中取得硬件时间,设置为系统时间。一、查看系统时间,可以用date命令:1 //查看时间2 [root@node1 ~]# date3 Tue Feb 25 20:15:18 CS...

2020-12-23 09:14:47 222

原创 springboot注入为静态属性

一、@PostConstruct 必知必会:@PostConstruct其实是Java自己的注解。Java中该注解的说明:@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。通常我们会是在Spring框架中使用到@PostConstruct注解 该注解的方法在整个Bean初始化中的执行顺序:Co

2020-11-28 16:16:34 639

原创 docker 下安装 rabbitmq

1、搜索镜像,确定安装的版本docker search rabbimq,从下图中可以看出搜出的镜像并没有带web管理界面(management)的版本,如果需要web管理界面需要选择带web管理界面的版本。需要到docker hub注册中心(https://hub.docker.com/_/rabbitmq/)去查找。2. 拉取镜像,docker pull rabbitmq:3-management3. 创建容器docker run -d --name docker_rabbit.

2020-11-12 16:11:21 169 1

原创 centos7 下 安装 docker

1、root账户登录,查看内核版本如下,内核版本需大于3.8uname -a2、把yum包更新到最新yum update期间要选择确认,输入 y 即可)3、安装需要的软件包yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的yum install -y yum-utils device-mapper-persistent-data lvm24、设置yum源(选择其中一个)yum-config-manager --add-

2020-11-12 15:25:50 95

原创 springboot2 集成 ShardingSphere 实现分库分表和加解密

前言:springboot2 集成ShardingSphere 实现分库分表和加解密,版本如下springboot:2.2.7.RELEASE;ShardingSphere:4.0.0-RC2官网快速通道一、未见代码先爬坑1、网上诸多例子皆为坑,一看貌似是可以的,拷贝一运行就挂。2、分库分表网上例子多是使用取模实现(太简单了),本文章是自定义分库分表规则3、加解密按照官网的配置之后会使自定义的分库分表规则失效;如果使用mybatis自定义插件进行加解密,其中mybatis的插件是工作在.

2020-09-18 16:18:36 515 2

原创 删除MySQL数据库下的所有的表,保留库

一,执行如下SQLSELECT concat('DROP TABLE IF EXISTS ', table_name, ';')FROM information_schema.tablesWHERE table_schema = '你的数据库的名字';二、复制结果集到执行框,点击执行即可

2020-09-14 16:24:21 208

原创 程序员在战斗过程中应该注意点什么

前景:洪荒之后,历经亿万年的演变,猿类才进化成了人,但是才短短的半个世纪,新的一群灵长类诞生了,就像猩球崛起一样,这个群体正在改变着世界--程序猿。为了有更好的战斗素养,程序猿应该注意点什么呢?请接着往下看。一、夯实的内功(即使没有张无忌的命也要有保尔柯察金的毅力)1、数据结构与算法2、设计思想3、架构思想4、打太极二、缜密的心思1、处理各种各样的 nullPointException①、他人的数据/接口,并不可信,使用之前先StringUtils.isNotBlank().

2020-09-04 17:30:14 146

原创 MongoDB的增删改查语法和api的使用

这篇文章需要钻石VIP以上会员才能访问(完善中。。。)

2020-08-05 09:23:17 203 2

原创 MongoDB那些事儿

1、时区问题mongodb里存储的date比正常时间少8小时,那是因为它用的是格林尼治时间,new Date()的时候创建的是本地时间(北京时间),位于东八区,springboot配置里添加如下配置即可指定时区和返回的日期的格式:#处理时区问题spring.jackson.date-format=yyyy-MM-dd HH:mm:ss.SSSspring.jackson.time-zone=GMT+8在从mongodb里查出来数据的时候,会自动转换成本地时间(java自己做的事儿)。也就是

2020-06-20 11:26:34 227

原创 TCP之三次握手和四次挥手

待续

2020-03-12 22:38:33 152

原创 小s探秘之HTTP和HTTPS

精彩即将上演。。。

2020-03-12 17:06:03 1135

原创 程序猿的角度看数据的传输

一、数据的传输轨迹二、

2020-03-11 21:13:02 275

原创 多线程

一、为什么要用多线程充分利用多核CPU,提高执行效率。二、线程安全存在共享资源就会引发线程安全问题,线程安全问题可以用synchronized或者Lock或者CAS无锁实现线程之间的同步:1、synchronized①作用到静态方法上②作用到非静态方法发上③代码块synchronized(this){。。。}④代码块synchronized(XXX...

2019-12-17 22:38:19 119

原创 java常用的数据结构

一、为什么要用数据结构二、每种数据结构有什么特点集合和数组list和setlist特点set特点Set具有与Collection完全一样的接口,因此没有任何额外的功能,不像前面有两个不同的List。实际上Set就是Collection,只 是行为不同。(这是继承与多态思想的典型应用:表现不同的行为。)Set不保存重复的元素(至于如何判断元素相同则较...

2019-12-14 19:38:59 136

原创 rabbitMQ

写在最前面:Kafka(高吞吐:十万级。延迟:毫秒级别)Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache顶级项目。Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量(十万级),一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生大量数据的互联网服务的数据收集业务。Rabb...

2019-12-11 15:40:58 278

原创 spring系列MVC

1、初始化九大组件protected void initStrategies(ApplicationContext context) { //TODO 初始化多组件上传 initMultipartResolver(context); //TODO 初始化本地语言环境 initLocaleResolver(context); //TODO 初始化模板处理器 ...

2019-12-06 21:47:24 128

原创 spring系列之AOP

springaop:是 Aspect Oriented Programming 的缩写,意思是面向切面编程。可以通过预 编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。追求的是调用者和被调用者之间的解耦。用途: 日志、事务、安全等都会写在业务代码中(也即是说,这些非业务类横切 于业务类),但这些代码往往是重复,复制——粘贴式的代码会给程序的维护带来不便,AO...

2019-12-06 16:01:51 139

原创 spring系列之DI

DI:依赖注入,在IOC容器完成了bean定义资源的定位、加载、解析注册之后,IOC容器已经管理了bean定义的相关数据,但是这个时候还没有发生依赖注入。依赖注入发生的两个阶段:1、用户第一次调用getBean()的时候2、用户在bean的配置文件中配置了lazy-inint=false属性(禁止延迟加载)时候,会在bean解析注册的时候进行预实例化,触发依赖注入。getBean入...

2019-12-06 00:06:18 152

原创 spring系列之IOC

实战:1、spring在bean初始化前中后需要加代码怎么办?看这里:自定义MyPostProcessor类,并实现BeanPostProcessor接口,并重写postProcessBeforeInitialization方法和postProcessAfterInitialization方法即可实现,在bean装在前和装在后干一些小动作。在bean初始化中的时候干一些小动作就要在bean...

2019-12-05 21:42:48 126

原创 JVM相关

JVM内存模型一、堆二、栈1、虚拟机栈①、局部变量表局部变量是一片逻辑连续的内存空间,最小单位是Slot,用来存放方法参数和方法内部定义的局部变量。是有索引的,就像数组一样。从0开始,到表的最大索引,也就是Slot的数量-1。要注意的是,方法参数的个数 + 局部变量的个数≠Slot的数量。因为Slot的空间是可以复用的,当pc计数器的值已经超出了某个变量的作用...

2019-12-05 15:35:00 159

原创 设计模式之原型模式

原型模式(Prototype Pattern):是指原型实例指定创建对象的种类,并且通过拷贝这些 原型创建新的对象。 原型模式主要适用于以下场景: 1、类初始化消耗资源较多。 2、new 产生的一个对象需要非常繁琐的过程(数据准备、访问权限等) 3、构造函数比较复杂。 4、循环体中生产大量对象时。 解决了复杂对象创建,很多个属性的填充的麻烦的操作的问题。设计原则概...

2019-12-03 23:34:39 191

原创 设计模式之策略模式

策略模式(Strategy Pattern):是指定义了算法家族、分别封装起来,让它们之间可以互 相替换,此模式让算法的变化不会影响到使用算法的用户。策略模式的应用场景 1、假如系统中有很多类,而他们的区别仅仅在于他们的行为不同。 2、一个系统需要动态地在几种算法中选择一种。 3、选择支付方式4、选择优惠方式设计原则概览 设计原则 简称 解释说...

2019-12-03 23:34:01 123

原创 设计模式之委派模式

委派模式(Delegate Pattern)的基本作用就是 负责任务的调用和分配任务,跟代理模式很像,可以看做是一种特殊情况下的静态代理 的全权代理,但是代理模式注重过程,而委派模式注重结果。委派模式在 Spring 中应用 非常多,大家常用的 DispatcherServlet 其实就是用到了委派模式。现实生活中也常有委 派的场景发生,例如:老板(Boss)给项目经理(Leader)下达任务,项...

2019-12-03 23:33:26 121

原创 设计模式之观察模式

观察者模式:定义了对象之间的一对多依赖,让多个观察者对象同 时监听一个主体对象,当主体对象发生变化时,它的所有依赖者(观察者)都会收到通 知并更新,属于行为型模式。观察者模式有时也叫做发布订阅模式。观察者模式主要用 于在关联行为之间建立一套触发机制的场景。观察者模式在现实生活应用也非常广泛, 比如:微信朋友圈动态通知、邮件通知、广播通知、桌面程序的事件响应等设计原则概览 设计原则 ...

2019-12-03 23:32:49 121

空空如也

空空如也

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

TA关注的人

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