自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mysql如何实现的索引机制

mysql如何实现索引机制

2023-02-11 10:59:24 449

原创 RabbitMQ死信队列、延时队列

消息被消费方否认确认,使用channel.basicNack或者channel.basicReject,并且此时requeue属性被设置为false。消息在队列的存活时间超过设置的TTL时间。消息队列的消息数量已经超过最大队列长度那么该消息将成为“死信”。“死信”消息会被RabbitMQ进行特殊处理,如果配置了死信队列信息,那么该消息将会被丢进死信队列中,如果没有配置,则改消息将会被丢弃。为每个需要使用死信的业务队列配置一个死信交换机,这里同一个项目的死信交换机可以共用一个,然后为每个业务队列分.

2021-04-23 14:34:27 125

原创 面试--Hystrix实现机制

分布式容错框架阻止故障的连锁反应,实现熔断快速失败,实现优雅降级提供实时的监控和警告资源隔离:线程隔离,信号量隔离线程隔离:Hystrix会给每个Command分配一个单独的线程池,这样在进行单个服务调用的时候,就可以在独立的线程池里面进行,而不会对其他线程池造成影响。信号量隔离:客户端需向依赖服务发起请求时,首先要获取一个信号量才能真正发起调用,由于信号量的数量有限,当并发请求超过信号量个数时,后续的请求都会直接拒绝,进入fallback流程。信号量隔离主要是通过控制并发请求量,防止请求

2021-04-22 17:50:00 202

原创 面试--springcloud和dubbo的区别

底层协议:springcloud基于http协议,dubbo基于tcp协议,dubbo性能比较好。注册中心:springcloud使用eureka,dubbo推荐使用zookeeper模型定义:dubbo将一个接口定义为一个服务,springcloud则是将一个应用定义为一个服务。springcloud是一个生态,而dubbospringcloud生态中关于服务调用的一种解决方案。...

2021-04-22 17:06:20 146

原创 面试---分布式锁

1、zookeeper分布式锁zk通过临时节点,解决了死锁的问题,一旦客户获取到锁之后突然挂了(session连接断开),那么这个临时节点就会自动删除掉,其他客户端自动获取锁,临时顺序节点解决惊群效应。采用zookeeper的临时顺序节点,先创建子节点,获取所有子节点列表,判断当前节点是否是最小节点,如果是最小节点占用锁执行后续代码,执行完毕,释放锁。如果不是最小节点观察比自己小一个节点,等待锁,比自己小一个的节点被删除,得到通知,当前线程取获取锁,有效的避免了惊群效应。2、Redis分布式锁,set

2021-04-22 16:58:55 41

原创 面试--分布式

分布式事务解决方案XA规范:分布式事务规范,定义分布式事务模型。四个角色:事务管理器(协调者TM),资源管理器(参与者RM),应用程序AP,通信资源管理器CRM全局事务:一个横跨多个数据库的事务,要么全部提交、要么全部回滚1、jta事务时java对XA规范的实现,对应JDBC的单库事务。2、TCC(补偿事务):Try,confim,Cancel针对每个操作,都注册一个对应的确认和补偿操作Try操作做业务检查及资源预留,Comfirm做业务确认操作,Cancel实现一个与Try相反的操作即回滚

2021-04-22 16:48:27 57

原创 面试--spring

spring是什么spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。对AOP的理解AOP:将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。AOP可以对某个对象或者某些对象功能进行增强,比如对象中的方法进行增强,可以在执行某个方法之前额外的做一些事情,在某个方法执行之后额外的做一下事情。对IOC的理解容器概念,控制反转,依赖注入ioc容器:实际上就是个Map(key,value),里面存的是各种对象(在xml里配置

2021-04-22 15:33:09 68

原创 面试--线程池中线程复用原理

线程池中线程复用原理线程池将线程和任务进行解耦,线程是线程,任务是任务,摆脱了之前通过Thread创建线程的一个线程必须对应一个任务的限制。在线程池中,同一个线程可以从阻塞队列中不断获取新任务来执行,其核心原理在于线程池对Thread进行了封装,并不是每次执行任务都会调用Thread.start()来创建新的线程,而是让每个线程去执行一个“循环任务”,在这个“循环任务”中不停检查是否有任务需要被执行,如果有着直接执行,也就是调用任务的run方法,将run方法当成一个普通的方法执行,通过这种方式只使用固定

2021-04-21 17:02:34 125

原创 docker基础篇--docker命令

帮助命令docker versiondocker infodocker --help镜像命令1、docker images 列出本地主机上的镜像,OPTIONS说明:-a :列出本地所以的镜像(含中间映射层)-q :只显示镜像ID。–digests :显示镜像的摘要信息–no-trunc :显示完整的镜像信息2、docker search 某个xxx镜像的名字OPTINS说明:–no-trunc :显示完整的镜像描述-f <过滤条件> :列出收藏不..

2021-04-21 16:19:52 86

原创 docker基础篇--docker安装

1、前提说明 Docker支持以下的CentOS: CentOS 6.5 (64-bit)或更高的版本 目前,CentOS仅发行版本中的内核支持Docker. Docker 运行在CentOS 7上,要求系统为64位、系统内核版本为3.10以上。 Docker运行在CentOS-6.5或更高的版本的CentOS上,要求系统64位,**系统内核版本为2.6.32-431或更高版本。**查看自己的内核uname命令用于打印当前系统相关信息(内核版本号,硬件架构,主机名称和操作系统类型)!

2021-04-20 16:05:39 71

原创 docker基础篇--docker简介

Docker是go语言编写的,我们立足于javaEE上线学习。Docker是什么出现的原因:一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本迭代之后,不同版本环境的兼容,对运维人员都是考验。Docker把测试环境可以跑的,代码\配置\系统\数据。。。一起打包上线。就像在水族馆一条小金鱼,在鱼缸里面,你把它整个鱼缸连这条鱼,从水族馆买回你家了,在水族馆能活泼乱跳,那在家也可以活泼乱跳。环

2021-04-20 10:20:08 127 2

原创 线上发生线程死锁问题,怎么排查?

然后通过jps -l 查找正在运行的java程序的pid,如下图所示:jps -l4004 com.cvs.platform.controller.Atr11256 org.jetbrains.idea.maven.server.RemoteMavenServer14056 sun.tools.jps.Jps18380 org.jetbrains.jps.cmdline.Launcher如上图所示可知进程pid 为 4004接着我们使用jstack pid执行命令:jstack

2021-04-20 09:28:43 314

原创 MySQL中聚集索引、覆盖索引

聚集索引聚集索引(clustered index)就是按照每张表的主键构造一棵B+树,同时叶子节点中存放的即为整张表的行记录数据,也将聚集索引的叶子节点称为数据页。聚集索引的这个特性决定了索引组织表中数据也是索引的一部分覆盖索引通常开发人员会根据查询的where条件来创建合适的索引,但是优秀的索引设计应该考虑到整个查询。其实mysql可以使用索引来直接获取列的数据。如果索引的叶子节点包含了要查询的数据,那么就不用回表查询了,也就是说这种索引包含(亦称覆盖)所有需要查询的字段的值,..

2021-04-19 10:54:39 262

原创 mysql索引最左匹配原则的理解

首先明确:为什么要用联合索引?对于查询语句“select * from w_tablewhere A='今晨' and B=1and C='34';”涉及到三列,这个时候我们一般采用一个联合索引(A,B,C);而不用三个单列索引,这是因为一条查询语句往往应为mysql优化器的关系只用一个索引,就算你有三个索引,他也只用一个;在只用一个的基础之上,联合索引是会比单列索引要快的;创建了多单列索引:ALTER TABLE w_tableADD INDEX A_B_C_index (A,B,C);...

2021-04-19 10:28:20 88

原创 分布式项目运营与部署环境

1、分布式设施环境,统一用docker安装。2、使用jenkins+docker+k8s实现自动化部署3、微服务API管理ApiSwagger4、使用GitLab代码管理5、统一采用第三方云数据库。6、使用七牛云服务对静态资源实现加速7、构建企业级Maven私服...

2021-03-22 16:39:02 93

原创 分布式解决方案

1、分布式任务调度平台 XXL-Job2、分布式日志采集系统ELK+kafka3、分布式事务解决方案LCN4、分布式锁解决方案zk,redis5、分布式配置中心阿波罗6、分布式session框架spring-session7、高并发分布式全局Id生产雪花算法8、分布式服务跟踪与调用链zipkin...

2021-03-22 16:31:40 61

原创 一、微服务重要概念和权威解读

首先要问为什么要学习一项技术。微服务不是标准,协议。微服务是一种架构风格,开发单个应用的,单个应用作为小型服务的套件的方式,每一个应用都运行在自己的jvm上。应用与应用直接都是通过http resource 进行调用。RPC调用也是微服务。www.martinfowler.com 微服务提出者。...

2021-02-24 11:30:08 57

原创 在Ubuntu中连接Vultr虚拟主机远程桌面

apt-get update 更新软件包apt-get install ubuntu-desktop 安装Ubuntu桌面Unbuntu16.04如何使用root登录图形界面步骤1:在/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf中添加一行,greeter-show-manual-login=true,这句话的含义是,允许手动登录(默认不允许...

2019-11-14 11:43:30 745

原创 liunx grep 多个关键字

grep -e “configValue” catalina.out | grep -i --color “25+33” | grep -i --color “16头” | grep -i --color “2019-10-27 14:27000”

2019-11-12 16:26:53 160

原创 一个多线程死锁案例,如何避免及解决死锁问题?

private static Object lock1 = new Object();private static Object lock2 = new Object();public static void main(String[] args){ new Thread(){ @Override public void run(){ ...

2019-11-12 14:19:59 93

原创 linux安装transmission

wget yum install -y transmission transmission-daemon yum install -y transmission transmission-daemon iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 9091 -j ACCEPT iptables -I INPU...

2019-11-08 14:18:07 833

原创 linux定时备份MySQL数据库并删除三天前的备份文件

1、创建备份文件夹#cd /bak#mkdir mysqldata2、编写运行脚本#nano -w /usr/sbin/bakmysql.sh注:如使用nano编辑此代码需在每行尾添加’&&’或’;'连接符,否则生成的文件名末尾字符为乱码代码:#!/bin/bash# Name:bakmysql.sh# This is a ShellScript For Aut...

2019-10-23 15:32:11 227

原创 解决Idea启动无反应

1 删除idea日志,此方法原理未知默认日志位置C:\Users${你的用户名}${.IntelliJIdea+版本}\system\log如果点击图标后短时无反应,但是查看任务管理器的能看到例如idea.exe的进程正在以极低的系统资源运行,而其他软件如杀毒软件开始增大资源占用,说明程序正在启动,但是被其他软件抢占资源,这时可以稍等几分看程序是否会启动如果你的公司对员工使用类似破解的ja...

2019-09-27 09:08:17 4771

原创 微信小程序picker组件下拉框选择input输入框的实例

页面<view class="row-wrap"> <view class="label">预约项目</view> <picker bindchange="bindCasPickerChange" value="{{casIndex1}}" range="{{casArray}}"> <view> ...

2019-09-24 16:16:28 1496

原创 has not been registered yet

自行创建的新页面.js文件中,必须有Page({ })里面留空即可,否则就会爆这个错误Page “pages/detail/detail” has not been registered yet.并且页面上的文字也不会显示。...

2019-09-19 17:47:51 5865

原创 小程序路由跳转携带参数方法(直接跳转、事件委托跳转)

一、跳转事件绑定在当前点击的元素上1.定义data-myName(myName为自定义的需要携带的参数名称)2.绑定的函数中,event对象中currentTarget包含传递的自定义信息。二、跳转事件绑定在父元素上(即事件委托)1.在发生点击事件的子元素上写入属性data-xxxx;2.跳转事件中接收event对象,传入的自定义data-xxxx在event.target.data...

2019-09-19 16:56:25 337

原创 Linux下安装SVN服务端小白教程

安装使用yum安装非常简单:yum install subversion配置2.1. 创建仓库我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面多了几个文件夹。[root@localhost /]# cd /home[root@localhost home]# mkdir svn[root@localhost...

2019-09-18 15:02:31 57

原创 liunx 传输文件

scp -r jdk-8u181-linux-x64.tar.gz 119.23.150.223:/usr/local/downlocal

2019-09-18 13:25:07 98

原创 Linux下Kafka环境搭建及基本使用

kafka环境搭建下载:cd /usr/local/wget https://archive.apache.org/dist/kafka/0.9.0.1/kafka_2.11-0.9.0.1.tgztar -zxvf kafka_2.11-0.9.0.1.tgzmv kafka_2.11-0.9.0.1 ../配置环境变量:vim /etc/profileexport KAFKA...

2019-09-03 11:36:57 188

原创 linux服务器上安装zookeeper 启动和关闭的教程

1.zookeeper运行需要java环境所以必须先装JDK2.下载,解压#wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz# tar -zxvf zookeeper-3.4.12.tar.gz# mv -v zookeeper-3.4.12 /usr/loc...

2019-09-02 15:20:07 2218

原创 Nginx SSL+tomcat集群,取不到https正确协议

Nginx SSL+tomcat集群,取不到https正确协议最近在做一个项目, 用到企业微信,架构上使用了 Nginx +tomcat 集群, 且nginx下配置了SSL,tomcat no SSL,项目使用https协议,但是在调试微信菜单的相关功能时却发现报错,报错信息如下:经过调试dofilter里面的代码,发现:浏览器中输入的URL是 https://shaidh.dhwrwi.c...

2019-08-29 17:32:47 180

原创 java大数据运算

加法: b1.add(b2) b2(加数) b1(被加数)减法: b1.subtract(b2) b2(减数) b1(被减数)乘法: b1.multiply(b2) b2(乘数) b1(被乘数)除法: b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP) b2(除数) b1(被除数)import java.math.BigDecimal;/*...

2019-05-27 11:32:31 508

转载 【非广告,纯干货】本科毕业3年的我,是如何薪资翻倍拿到38万年薪Offer的?【石杉的架构笔记】

目录:一、以往履历二、技术积累2.1 公司里的积累2.2 业余时间的积累三、面试过程3.1 一面:深挖技术3.1 二面:结合项目3.3 三面:聊薪资、聊理想、聊人生先说一下这位同学的面试成果,普通本科学历,毕业仅仅3年,原先年薪也才20万,但是最近跳槽一举拿下年薪38万的offer。以下是这位同学整理的这次面试经过的一些心得体会,供广大同学参考一、以往履历之前经历过的都是小...

2019-04-12 10:24:03 1204

原创 RabbitMQ不允许你重新定义一个已经存在的消息队列

如果已存在的消息队列设置为非持久化。在代码中 会报错Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method&lt;channel.close&gt;(reply-code=406, reply-text=PRECONDITION_FAILED - ineq...

2019-01-25 10:55:02 781

原创 RabbitMq项目配置

1、创建RabbitMq连接在pom.xml添加rabbit依赖&amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;com.rabbitmq&amp;amp;lt;/groupId&amp;amp;gt; &amp;amp;lt;artifactId&amp;amp;gt;amqp-client&amp;amp;lt;/artifactI

2019-01-25 10:29:13 366

原创 idea设置eclipse主题

1、file–&gt;settings–&gt;Generalforeground(169,181,198)bankground(43,43,43)

2019-01-10 17:41:39 2799

空空如也

空空如也

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

TA关注的人

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