自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Sentinel-(二)普通限流、热点限流、集群流控、热点集群流控、系统自适应限流等参数详解

前言:为了方便查询相关参数释义,故进行了收集 粘贴gitHub官方解释,部分内容有做补充https://github.com/alibaba/Sentinel目录 一、普通限流二、热点限流三、系统自适应限流四、集群限流一、普通限流resource:资源名,即限流规则的作用对象 count: 限流阈值 grade: 限流阈值类型(QPS 或并发线程数) limitApp: 流控针对的调用来源,若为default则不区分调用来源 stra...

2020-12-13 17:26:35 824

原创 Sentinel-(一)快速入门-搭建控制台、单机流量控制、定义受保护资源、定义规则、规则释义、动态数据源规则配置

前言:随着技术日新月异,技术选型成为了首要面对的问题,如何选择合适稳定的框架?限流方面Sentinel承接了阿里巴巴近 10 年的双十一大促流量的核心场景,足以证明它的实力目录<一>Sentinel 是什么?分布式系统的流量防卫兵<二>控制台搭建,相关依赖配置快速关联服务与控制台<三>如何定义资源?如何定义资源名?如何定义规则?动态数据源规则配置引文sentinel官网内容 gitHub:https://github.com/alibaba/Se.

2020-12-03 21:18:12 498

原创 Spring Cloud gateway:com.netflix.zuul.exception.ZuulException: Forwarding error

前言:在开发环境中,博主在自己的电脑上开启所有服务,没有问题,gateway能正常请求,但是在测试环境就出现了:Forwarding errorgateway转发请求错误切入正题:原因是:我的geteway在机器A上,而转发服务在机器B上 /** * Flag to say that, when guessing a hostname, the IP address of t...

2019-09-04 10:50:37 3608

原创 Nginx :Nginx日志管理

Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。默认配置,会输出在logs目录下,如右:通过访问日志我们可以得到用户的IP地址、浏览器的信息,请求的处理时间等信息。错误日志记录了访问出错的信息,可以帮助我们定位错误的原因。因此,将日志好好利用,可以得到很多有价值的信息access_log解读:访问日志主要记录客户端的请求...

2019-08-08 20:56:26 392

原创 Nginx :Nginx入门(简介)

一、什么是 NginxNginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP(Nginx从1.9.0也可以做TCP的路由)和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。Nginx 因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名.业界一致认为它是 Apache2.2+mod_...

2019-08-07 16:03:53 235

原创 Nginx :nginx.conf配置详解

######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /usr/local/n...

2019-08-02 16:19:48 238

原创 Spring-Cloud Feign:RequestParam.value() was empty on parameter 0

使用Feign调用服务,参数前加@RequestParam启动时报错,原因是因为Feign解析不了参数,因为我们没有指定value,而在spring mvc中我们不指定value也可以编译是因为spring mvc在解析时,如果我们没有指定value时会通过反射的形式去获取参数名,将参数名指定为value解决方案:加上value,指定值即可(ps:name的别名也是value,所以name...

2019-07-23 14:54:04 2248

原创 Mybatis:批量插入,主键或唯一索引键存在则覆盖 ON DUPLICATE KEY UPDATE

INSERT into t_brokerage (Fuid ,Fsku_id ,Fsku_brokerage) values <foreach collection ="brokerageList" item="brokerage" separator =","> (#{brokerage.fuid} ,...

2019-06-05 09:36:40 3498

原创 多线程-阻塞队列

概念、生产者消费者模式1)当队列满的时候,插入元素的线程被阻塞,直达队列不满。2)队列为空的时候,获取元素的线程被阻塞,直到队列不空。生产者和消费者模式生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生...

2019-04-03 19:56:36 395

原创 多线程-并发容器ConcurrentHashMap、ConcurrentSkipListMap、ConcurrentSkipListSet

ConcurrentHashMapHashmap多线程会导致HashMap的Entry链表形成环形数据结构,一旦形成环形数据结构,Entry的next节点永远不为空,就会产生死循环获取Entry。HashTable使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法,其他线程也访问Hash...

2019-04-03 18:48:04 1081

原创 位运算-位与(&)、位或(|)、位非(~)、异或(^)

大概解释,就在代码中的注释,大家可以看注释/** *类说明:演示位运算 */public class IntToBinary { public static void main(String[] args) { int data = 4; System.out.println("the 4 is "+Integer.toBinaryStr...

2019-04-03 16:26:55 652

原创 多线程-排他锁、读写锁实战,性能对比

排他锁:synchronized和ReentrantLock都是排他锁,排他锁的意思就是在这一时刻只能有一个线程进入读写锁:ReentrantReadWriteLock同一时刻允许多个读线程同时访问,但是写线程访问的时候,所有的读和写都被阻塞,最适宜与读多写少的情况由于用户大部分的请求都是读,所以可以认为读写锁的效率比排他锁是质的飞跃我们使用Synchronized实现一次和读写锁...

2019-04-02 23:50:58 737

转载 IDEA快捷键大全

出自:https://blog.csdn.net/alik20/article/details/54881003其他的快捷键还有很多,象Ctrl+G(跳转到指定行)、Ctrl+F4(关闭当前编辑页面)、Ctrl+F(搜索)等等,这些快捷键由于是各个编辑器都会提供的,而且定义的键位也都差不多,就没什么可说的了;Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shi...

2019-04-02 23:23:30 245

原创 多线程-内置锁、显式锁、公平锁、非公平锁

synchronized :代码简洁,隐式支持可重新获得锁synchronized就不实现了,大家可以自行尝试Lock:获取锁可以被中断,超时获取锁,尝试获取锁Lock锁的运用更加灵活这里我们用可重入锁的实例来实现:Lock lock = new ReentrantLock();(注意,这里我们可以观察ReentrantLock里面)这一段话意味着,我们在构造锁实例的时候...

2019-04-02 23:03:52 812

原创 多线程-CAS

CAS(Compare And Swap)原理:如果地址V上的值和期望的值A相等,就给地址V赋给新值B,如果不是,不做任何操作,这里本来是两个操作,但实现上为CAS提供了一个指令,这个指令我们就称之为CAS指令,这就从cpu级别上保证了它是一个原子操作实现:一般实现实在循环里面进行无限CAS操作,我们也可以称之为自旋锁,但由此可以衍生出几个问题问题一:ABA问题我们地址V,原来是A...

2019-04-02 20:07:19 133

原创 多线程-Callable和FutureTask 使用

FutureTask主要用来包装Callable实现,启动线程不能直接使用Callable.start,具体使用如下:/** *类说明:演示Future等的使用 */public class UseFuture { /*实现Callable接口,允许有返回值*/ private static class UseCallable implements Callable<In...

2019-04-02 18:47:38 202

原创 多线程-Exchange线程之间的数据交换

方法为exchange.exchange(要替换的值):(注:只能两个线程替换)/** *类说明:Exchange的使用,两个线程之间的数据交换(注:只能两个线程,所以很局限) */public class UseExchange { private static final Exchanger<Set<String>> exchange =...

2019-04-02 18:28:01 653

原创 多线程-演示Semaphore用法,一个数据库连接池的实现

我们创建三个类:SqlConnectImpl、DBPoolSemaphore 、Test/** *类说明:数据库连接的简单实现,这里只实现fetchConnection()方法 */public class SqlConnectImpl implements Connection{ /*拿一个数据库连接*/ public static final Connection f...

2019-04-02 17:51:39 354

原创 多线程-CountDownLatch和CyclicBarrier使用

CountDownLatch latch = new CountDownLatch(6):6:代表初始扣除点,为零则继续执行,可以自行设置latch.countDown():表示扣除点-1latch.await():阻塞线程,直至我们的扣除点为零才会唤醒线程,这里使用需要注意/** *类说明:演示CountDownLatch,模拟5个初始化的线程,6个扣除点(注:一个线程可以执...

2019-04-02 16:31:19 105

原创 多线程-ForkJoin框架实战

一、Fork/Join的同步用法同时演示返回结果值我们先创建一组模拟业务的类,如下:/** *产生一组整形数组,模拟统计业务 */public class TestArray { //数组长度 public static final int ARRAY_LENGTH = 3000; public static int[] testArray() { ...

2019-04-02 15:48:53 268

原创 Spring注解解读-@Configuration是什么?@ComponentScan是什么?@Scope是什么?@Lazy是什么?

前言:解读注解主要是方便在阅读以后的spring版本或者springboot源码开发团队对框架进行进一步重构时,对于某些注解的作用一知半解,导致阅读困难,一方面面试官也常会问到(注:博主用的spring版本为5.07)@Configuration:主要用来代替xml方式的注入方式,声明此类为配置类等同于配置文件xml以前我们声明bean,需要在xml中码如下代码:然后通过Class...

2019-03-19 02:41:06 450

原创 MySQL-基于执行计划原理对SQL调优、快速插入百万数据

建表测试语句如下CREATE TABLE `staffs`( id int primary key auto_increment, name varchar(24) not null default "" comment'姓名', age int not null default 0 comment '年龄',...

2019-03-15 21:18:47 1826

原创 MySQL-执行计划剖析+详解

通过EXPLAIN关键分析的结果由以下列组成,接下来挨个分析每一个列 ID列 ID列:描述select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序根据ID的数值结果可以分成一下三种情况id相同:执行顺序由上至下 id不同:如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行 id相同不同:同时存在分别举例来看1. Id相...

2019-03-15 18:24:59 433

转载 MySQL-redo和undo

在数据库系统中,既有存放数据的文件,也有存放日志的文件。日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件。​ MySQL中的日志文件,有这么两类常常讨论到:undo日志与redo日志。1 undo1.1 undo是啥undo日志用于存放数据修改被修改前的值,假设修改 tba 表中 id=2的行数据,把Name=’B’ 修改为Nam...

2019-03-14 00:45:49 814

原创 JVM-JIT优化

Hotspot热点编译的概念对于程序来说,通常只有一部分代码被经常执行,这些关键代码被称为应用的热点,执行的越多就认为是越热。将这些代码编译为本地机器特定的二进制码,可以有效提高应用性能。选择编译器类型-server,更晚编译,但是编译后的优化更多,性能更高-client,很早就开始编译-XX:+TieredCompilation,开启分层编译,可以让jvm在启动时启用cl...

2019-03-13 20:13:18 908

原创 Class文件结构及指令解读

摘选《深入理解JAVA虚拟机》部分内容以及自身的理解:Class类的本质任何一个Class文件都对应着唯一一个类或接口的定义信息,但反过来说,Class文件实际上它并不一定以磁盘文件的形式存在。Class文件是一组以8位字节为基础单位的二进制流。Class文件格式各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容...

2019-03-13 19:42:06 282

原创 类加载器-双亲委派模型

从Java虚拟机的角度来讲,只存在两种不同的类加载器:一种是启动类加载器(Bootstrap ClassLoader),这个类加载器使用C++语言实现,是虚拟机自身的一部分;第一种就是所有其他的类加载器,这些类加载器都由Java语言实现,独立于虚拟机外部,并且全都继承自抽象类java.lang.ClassLoader。启动类加载器(Bootstrap ClassLoader):这...

2019-03-13 19:38:19 100

原创 MySQL-慢查询以及其分析工具Mysqldumpslow和pt_query_digest

慢查询什么是慢查询慢查询日志,顾名思义,就是查询慢的日志,是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助。默认情况下,慢查询日志是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。 2.慢查询基本配置slow_query_log 启动停止技术慢查询日志 slow_query_l...

2019-03-13 18:40:04 506

原创 什么是QPS?什么是TPS?

QPS:Queries Per Second(每秒查询的处理量,也可以称为吞吐量),同时使用于InnoDB和MyISAM引擎TPS:Transactions Per Second(每秒传输的事务处理个数),这里是指服务器每秒处理的事务数量支持事务的存储引擎如InnoDB等特有的一个性能指标。计算公式如下:TPS=(COM_COMMIT+COM_ROLLBACK)/UPTIMEQ...

2019-03-12 14:13:20 4035

原创 Mycat-配置详解

Mark笔记:schema.xmlSchema.xml 作为MyCat 中重要的配置文件之一,管理着MyCat 的逻辑库、表、分片规则、DataNode 以及DataSource。弄懂这些配置,是正确使用MyCat 的前提。schema 标签&lt;schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"&gt;&l...

2019-03-11 22:20:32 3061

原创 Mycat-管理命令

Mark笔记:MyCAT 自身有类似其他数据库的管理监控方式,可以通过Mysql 命令行(即进入mysql的bin目录下执行下面的登录命令),登录管理端口(9066)执行相应的SQL 进行管理,也可以通过jdbc 的方式进行远程连接管理。登录:目前mycat 有两个端口,8066 数据端口,9066 管理端口,命令行的登陆是通过9066 管理端口来操作,登录方式类似于mysql 的服务端登...

2019-03-11 22:13:09 955

原创 Mycat-安装与部署

Mark笔记:使用Mycat,需要先安装JAVA 运行环境(JRE),并且MyCAT 中使用了JDK7 中的一些特性,所以要求JDK需达到7或以上的版本上运行。同时Mysql建议使用5.5以上版本,5.6为宜。进入https://github.com/MyCATApache/Mycat-download或http://dl.mycat.io/,在列表中选择一个合适自己操作系统的包...

2019-03-11 21:56:51 151

原创 Mycat-概述

Mark笔记:Mycat 是什么?从分类来看,它是一个开源的分布式数据库系统,是一个实现了MySQL 协议的的Server,前端用户可以把它看作是一个数据库代理,用MySQL 客户端工具和命令行访问,而其后端可以用MySQL 原生(Native)协议与多个MySQL 服务器通信,也可以用JDBC 协议与大多数主流数据库服务器通信(具体可在schema.xml中的dbDriver 属性配置)...

2019-03-11 21:46:04 127

原创 Mysql-my.cnf配置

本博客参考自:https://www.jb51.net/article/48082.htm# 关于修改建议,请参照# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html[client]port = 3306socket = /tmp/mysql....

2019-03-06 13:09:31 870

原创 jvm-JDK中监控生产环境的指令及工具

MARK笔记:jps 列出当前机器上正在运行的虚拟机进程-p  :仅仅显示VM 标示,不显示jar,class, main参数等信息.-m:输出主函数传入的参数. 下的hello 就是在执行程序时从命令行输入的参数-l: 输出应用程序主类完整package名称或jar完整名称.-v: 列出jvm参数, -Xms20m -Xmx50m是启动程序指定的jvm参数 jst...

2018-12-27 23:08:40 386

原创 jvm:内存分配与回收策略 -(老年代年龄配置参数)

Mark笔记:对象优先在Eden分配,如果说Eden内存空间不足,就会发生Minor GC大对象直接进入老年代,大对象:需要大量连续内存空间的Java对象,比如很长的字符串和大型数组,1、导致内存有空间,还是需要提前进行垃圾回收获取连续空间来放他们,2、会进行大量的内存复制。-XX:PretenureSizeThreshold 参数 ,大于这个数量直接在老年代分配,缺省为0 ,表示绝不...

2018-12-19 18:31:31 778

原创 微信登录异常errcode:40029

如上图,打开sftp看查看服务器日志,废话不多说,省去一些细节,将请求响应的数据输出到日志里面,锁定到了问题无效的code,在准确分析了代码后,发现无误,随后我拦截了这个code,去官网复制了请求连接替换上公司的appid还有secret和code直接进浏览器去访问,发现还是40029,然后跟前端了解,他说是官方给出的code,只有可能是我的代码错误,我就跟他说你确定自己的app...

2018-12-19 18:29:53 9268

原创 jvm:堆、栈、新生代、方法区(永久代/元空间)配置命令、直接内存大小配置,jdk1.8

Mark笔记:堆:-Xms:堆的最小值也可以称初始值;-Xmx:堆的最大值;栈:-Xss:栈大小;新生代:如果同时配置,优先级如下:高:-XX:NewSize/MaxNewSize中间 -Xmn (NewSize= MaxNewSize)低:-XX:NewRatio 表示比例,例如=2,表示 新生代:老年代 = 1:2方法区(永久代/元空间):jd...

2018-12-19 17:34:07 1952

原创 jvm:垃圾回收器GC搭配推荐及其常用调优参数

Mark笔记:由于java11中ZGC的出现,希望大家别对GC调优的研究下太多功夫,对未来来说,这是贬值的新生代垃圾收集器种类:老年代垃圾回收器种类:其中G1是概括了新生代和老年代,没有分的那么明显,也就是说,G1的新生代和老年代都是使用G1这个垃圾收集器解释一下图中所说的在垃圾回收器中的并行和并发分别指的是什么并行: 垃圾回收操作的多个线程同时进行并发:进行垃圾...

2018-12-19 17:22:18 1596

原创 jvm:虚拟机中的对象

Mark笔记:虚拟机遇到一条new指令时:1)先执行相应的类加载过程。2)接下来虚拟机将为新生对象分配内存。为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来。如果Java堆中内存是绝对规整的,所有用过的内存都放在一边,空闲的内存放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那个指针向空闲空间那边挪动一段与对象大小相等的距离,这种分...

2018-12-17 17:59:01 220

空空如也

空空如也

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

TA关注的人

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