自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

每天进步一点点的专栏

胜利者的经验并不复杂,那就是寻找人生的关键点,并在关键时刻竭尽全力

  • 博客(180)
  • 资源 (23)
  • 收藏
  • 关注

转载 一个不可思议的 MySQL 慢查分析与解决!

一、前言 开发需要定期的删除表里一定时间以前的数据,SQL如下 前段时间在优化的时候,已经在相应的查询条件上加上了索引 但是实际执行的 SQL 依然非常慢,为什么呢,我们来一步步分析验证下 二、分析 表上的字段既然都有索引,那么按照之前的文章分析,是两个字段都可以走上索引的。如果有疑问,请参考文章 10 ...

2019-07-17 10:50:40 180

转载 Mysql索引ICP

Index Condition Pushdown(ICP)是MySQL 5.6中新特性,是一种在存储引擎层使用索引过滤数据的一种 优化方式。ICP可以减少存储引擎访问基表的次数以及MySQL服务器访问存储引擎的次数。在不使用ICP索引扫描的过程:storage层:只将满足index key条件的索引记录对应的整行记录取出,返回给server层server层:对返回的数据...

2019-07-15 21:22:50 3147

原创 Mysql开发者手册

https://dev.mysql.com/doc/refman/5.5/en/nested-loop-joins.html

2019-07-15 17:49:14 376

原创 Nginx核心模块配置

Nginx核心模块配置http://nginx.org/en/docs/http/ngx_http_core_module.html

2019-07-10 18:13:30 392

转载 理解基于 TCP 的应用层通信协议

TCP 协议示意TCP协议关于七层网络通信的基本原理,特别推荐这篇图文并茂的长文《TCP/IP笔记 - 综述》TCP 通信基本特征TCP数据流特征1. 消息(结构化数据)被编码成字节流写入 TCP 通道。2. TCP 通道不能保证字节流一定到达目的地,但能保证到达的字节流是正确、有序的。对于发送端而言,可以不停的写入数据,当网络出问题 ACK 超...

2019-07-10 18:08:17 3255

转载 Socket参数调优

java socket中有很多参数可以选择,这篇博客的目的是沉淀出这些参数的语义和用法,供自己以后查阅。1、java socket参数选项总览 在JDK1.6中有如下参数选项: 1 public final static int TCP_NODELAY = 0x0001; 2 3 public final static int SO_BINDADDR = 0x0...

2019-07-10 16:19:24 1204

转载 tomcat 线程池解析(转)

tomcat的线程池扩展了jdk的executor,而且队列用的是自己的task queue,因此其策略与jdk的有所不同,需要注意一下,不然容易踩坑。tomcat线程池策略 场景1:接受一个请求,此时tomcat启动的线程数还没有达到corePoolSize(tomcat里头叫minSpareThreads),tomcat会启动一个线程来处理该请求; 场景2:接受一个请求,此...

2019-07-09 18:25:39 823

原创 常看的技术博客站点

1、知乎2、掘金3、简书4、开发者头条5、V2EX6、Stack Overflow

2019-07-06 16:04:02 309

转载 Elasticsearch-核心

最近面试一些公司,被问到的关于Elasticsearch和搜索引擎相关的问题,以及自己总结的回答。Elasticsearch是如何实现Master选举的?Elasticsearch的选主是ZenDiscovery模块负责的,主要包含Ping(节点之间通过这个RPC来发现彼此)和Unicast(单播模块包含一个主机列表以控制哪些节点需要ping通)这两部分; 对所有可以成为master的节...

2019-07-04 08:53:48 428

原创 java同步基础和基石

2019-07-02 08:57:34 277

原创 细说SocketOption,就是要让你懂TCP

Java的Socket的API中所有控制TCP的SocketOptions SO_KEEPALIVE setKeepAlive SO_OOBINLINE setOOBInline SO_RCVBUF setReciveBufferSize ...

2019-06-28 01:05:50 2985 2

原创 Guava使用手册

https://stonelion.gitbooks.io/guava_ch/content/ch2/joiner.html

2019-06-27 20:13:47 2061

转载 JedisClusterPipeLine扩展支持【线程安全版】-转

1.为什么要写这篇文章由于使用redis cluster模式,在操作redis时,有时会有大量的命令,如果每次都进行提交,会非常慢(比如一分钟之内操作几百万次甚至千万次)。通过一次请求提交多个命令,这个在某些场景下,能够提升很多性能。但是,查看jediscluster的代码,却发现其不支持pipeline。这就很郁闷了。通过在网上查询,我找到了这篇文章:redis集群客户端Jed...

2019-06-26 17:08:33 2049

转载 spring 5 webclient使用指南-转

spring 5 webclient使用指南序之前写了一篇restTemplate使用实例,由于spring 5全面引入reactive,同时也有了restTemplate的reactive版webclient,本文就来对应展示下webclient的基本使用。请求携带header携带cookie @Test public void testWithCookie()...

2019-06-21 20:11:56 5893 2

转载 dubbo-SPI机制(转)

写在前面 最近接触了 gRPC 体会到虽然众多 RPC 框架各有各的特点但是他们提供的特性和功能有很多的相似之处 , 这就说明他们面对同样的分布式系统带来的问题。从 2016 年左右开始接触到 dubbo ,基本停留在使用的层面,对 dubbo 的设计以及着重要解决的问题都没有系统的研究过,通过对 dubbo 和其他类似 RPC 产品的系统学习 ,学习分布式系统中面临的共同问题以...

2019-06-19 09:23:35 223

转载 dubbo中的tps的设置【转】

由dubbo的TpsLimitFilter限流,说说dubbo的Filter实现机制Dubbo提供了过程拦截(即Filter)功能。dubbo的大多数功能都基于此功能实现。在dubbo的服务端,提供了一个限流Filter(TpsLimitFilter),用于在服务端控制单位时间内(默认是60s)的调用数量tps。超过此数量,则服务端将会报错。一、TpsLimitFilter的使用# 1...

2019-06-18 12:00:35 1251

原创 爬虫中奇葩的空格

奇葩的160 号空格和12288空格1、160空格System.out.println(StringEscapeUtils.unescapeHtml4(" ").equals("")); System.out.println((int)StringEscapeUtils.unescapeHtml4(" ").charAt(0));160 S...

2019-06-18 10:50:54 718

原创 就是为了让你懂广度搜索

广度优先搜索思考: 如何表示状态? 如何扩展状态? 如何判重?一、步骤: 1.求路径长度还是路径本身(或动作序列)? a)如果是求路径长度,则状态里要存路径长度。 b)如何是求动作序列或者路径本身。 i>要用一颗树存储广搜过程中的路径。 ii>是否可以预估状态个数的上...

2019-06-18 09:08:32 274

转载 CPU load Avg && CPU CpuUsage

Cpu负载和cpu利用率的区别CPU利用率:显示的是程序在运行期间实时占用的CPU百分比CPU负载:显示的是一段时间内正在使用和等待使用CPU的平均任务数。CPU利用率高,并不意味着负载就一定大。举例来说:如果我有一个程序它需要一直使用cpu的运算功能,那么此时cpu的使用率可能达到100%,但是cpu的工作负载则是趋近于“1”,因为cpu仅负责一个工作嘛!如果同时执行这样的程序两个呢?c...

2019-06-06 18:36:24 2106

转载 设置线程数(转)

前言“不好了,线上服务器超时严重,请求非常慢,好像报连接数too many了,怎么办?“小伙伴们在反馈。一般我们的技术老大的处理方式,把连接数和线程池调大点,重启,再观察。往往这个方式是应急措施,治标不治本,因为不知道问题的原因。有个严重误区,以为线程池设置太小了,调大点请求就会快了。今天老顾就带着小伙伴们沟通一下,线程池的大小应该如何合理的设置其大小?问题如果有两个任务需...

2019-06-06 17:26:49 1802

原创 从IO设计中看适配器和装饰器模式

适配器:把一个类的接口变换成客户端期待的另外一种接口,从而使原本因接口不匹配无法在一起工作的2个类,可以在一起工作。不要求对源对象的功能进行增强,但是会改变源对象的接口,以达到适配的目标!装饰器: 以对客户端透明的方式扩展对象的功能,是继承关系关系的一种替代方案!(透明+半透明)InputStream 原始的流(适配器模式) ...

2019-06-06 09:35:05 237

转载 BooleanFilter(转载)

一、背景知识在网上已经有很多关于布隆过滤器的介绍了,这里就不再赘述,下面简单地提炼几个要点:布隆过滤器是用来判断一个元素是否出现在给定集合中的重要工具,具有快速,比哈希表更节省空间等优点,而缺点在于有一定的误识别率(false-positive,假阳性),亦即,它可能会把不是集合内的元素判定为存在于集合内,不过这样的概率相当小,在大部分的生产环境中是可以接受的; 其原理比较简单,如下图所...

2019-06-03 14:10:13 2453

转载 一个著名的日志系统是怎么设计出来的?

https://mp.weixin.qq.com/s/XiCky-Z8-n4vqItJVHjDIg

2019-05-30 20:40:37 2429

原创 二分查找-变种总结

判断永恒不变 array[m] ? target第一个返回L,操作R R=mid -1 第一个等于 array[m] >=target 操作R 【返回L,判断合法性】L > 0 && L < array.length && array[L] == target 第一个大于等于 ...

2019-05-25 11:52:56 210

转载 maven-deploy配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-...

2019-05-24 14:34:01 3375

原创 深度理解select、poll和epoll,IO多路复用模型实现机制

前言在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱得火热之年代,select和poll的用武之地越来越有限,风头已经被epoll占尽。select()和poll() IO多路复用模型select的缺点:单个进程能够监视的文件描述符的数量存在最大限制,通常是1024,当...

2019-05-23 09:29:33 864

转载 IO多路复用

IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:当客户处理多个描述符时(一般是交互式输入和网络套接口),必须使用I/O复用。 当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。 如果一个服务器即要处理TCP,又要处理UDP,一...

2019-05-23 09:22:56 2867

转载 select、poll和epoll的区别和 IO多路复用模型讲解

select、poll和epoll的区别和 IO多路复用模型讲解select、poll和epoll的区别在linux没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱的火热之年代,select和poll的用武之地越来越有限了,风头已经被epoll占尽。select()和poll() IO多...

2019-05-23 09:21:52 557

原创 actuator 源码分析

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator --><dependency> <groupId>org.springframework.boot</groupId> <artifact...

2019-05-21 19:47:43 635

转载 Nginx的 HTTP 499 状态码处理

1、前言  今天在处理一个客户问题,遇到Nginx access log中出现大量的499状态码。实际场景是:客户的域名通过cname解析到我们的Nginx反向代理集群上来,客户的Web服务是由一个负载均衡提供外网IP进行访问,负载均衡后面挂了多个内网web站点业务服务器。出现的访问日志如下所示:2、处理方法   499错误是什么?让我们看看NGINX的源码中的定义:  ngx...

2019-05-14 14:32:32 40214 3

转载 一张图解释IO过程

2019-04-30 11:57:48 2347

转载 dubbo统一数据模型URL

 URL相信大家都非常熟悉,一般在HTTP协议中,使用URL请求服务器资源,形如:http://192.168.0.112:8080/user/login.do?name=xxx&id=xxx,这个URL可以简化成:protocol://host:port/path?param1=value1&param1=value1&,dubbo也使用类似的URL,用于在扩展点之间传递...

2019-04-27 12:03:48 935 1

原创 chrome优秀插件

FeHelperPostmanHostSwitchOnetabQrCodeHostSwitchPlus

2019-04-26 22:20:24 588

转载 BeanPostProcessor妙用(转载)

BeanPostProcessor简介BeanPostProcessor是Spring IOC容器给我们提供的一个扩展接口。接口声明如下:public interface BeanPostProcessor { //bean初始化方法调用前被调用 Object postProcessBeforeInitialization(Object bean, String bean...

2019-04-26 20:21:04 3826 1

转载 分库分表的基本思想

分库分表的基本思想Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个...

2019-04-23 23:03:52 189

原创 LVS/DR+Keepalived+nginx(转)

基于云端虚拟机的LVS/DR+Keepalived+nginx的高可用集群架构配置 最近,公司要我部署一个集群架构,选来选取还是选择了大家都很熟悉的基于DR的LVS+Keepalived做负载分发,然后使用轻量级的nginx做中间代理层,这里呢先暂时实现一个简单web应用功能,对于代理功能和后续的web层部署、数据层安排将择机更新! 首先看一下集群框架: 下面...

2019-04-23 18:06:37 369

转载 LVS+Keepalived

高可用与负载均衡(7)之聊聊Lvs-DR+Keepalived的解决方案今天直接开门见山了,直接说配置吧。首先介绍下我这的环境如有问题,请联系我18500777133@sina.cnIP 安装软件 192.168.1.7 lvs1+keepalived master角色 192.168.1.8 lvs2+keepalived backup角色 192.168...

2019-04-23 18:00:28 179

原创 ssdb快速删除方法

1、./ssdb-server ssdb.conf -s stop2、删除掉 var/ssdb.pid3、删除掉var/data/文件夹4、准备一份备份 【ssdb-data-复原】--csdn下载5、重启 ./ssdb-cli -d sssdb.conf -s start...

2019-04-23 16:16:01 1659

原创 LVS+DR--实践

管理集群服务添加-A t|u|f (tcp,udp,firewall) service-address【vip】 -s schduler修改-E删除-D t|u|f service-address管理集群中的机器添加:-a -t|u|f service-address【vip】 -r service-address【rip】 -g|i|m -w [w...

2019-04-22 00:10:09 500

转载 yum命令讲解

(一)yum介绍Yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记...

2019-04-18 19:45:09 601

webuploader断点续传

webuploader断点续传,webuploader断点续传webuploader断点续传webuploader断点续传

2020-03-07

fiddler_http_proxy_WillowSetup1.4.5.zip

web_dubuger+fiddler+willow(亲自安装实验过)

2020-02-12

(46页完整版)JVM体系结构与GC调优.zip

46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,

2019-05-15

ssdb备份(快速删除文件)

ssdb备份数据文件,

2019-04-23

http通用工具类

http通用工具类

2019-02-20

jmeter4-http2.0-jdk8

jmeter4-http2.0-jdk8,

2018-12-27

Ebook-Web-经典

Ebook-Web Ebook-Web Ebook-Web Ebook-Web Ebook-Web Ebook-Web

2018-08-15

各类工具集合

各类工具集合,包括时间转换,mysql客户端,wireshark

2018-07-12

main方法启动服务

main方法启动服务-main方法启动服务-main方法启动服务

2018-05-26

基于lua的nginx自定义负载均衡

基于lua的nginx自定义负载均衡基于lua的nginx自定义负载均衡

2018-05-08

nginx-echo-lua-module模块安装以及实验

nginx-echo-lua-module模块安装以及实验nginx-echo-lua-module模块安装以及实验

2018-05-08

SCRT+Fidder+Willow

SCRT+fiddler.zip SCRT+fiddler.zip SCRT+fiddler.zip )

2018-04-26

java电子书

java电子书java电子书java电子书java电子书java电子书java电子书

2018-04-26

centos mysql

centos mysql centos mysql centos mysql centos mysql

2018-04-25

subline格式Idea插件

subline格式Idea插件 subline格式Idea插件 subline格式Idea插件 subline格式Idea插件

2018-03-17

SecureCRT-安全登录工具

SecureCRT-SecureCRT-SecureCRT SecureCRT-SecureCRT-SecureCRT

2018-03-17

android开发adb

android adb- android adb- android adb- android adb- android adb

2018-03-17

web代理工具

Charles- Charles- Charles- Charles代理- Charles代理

2018-03-14

fiddler+willow

fiddler+willow.rar fiddler2setup.exe fiddler4setup.exe WillowSetup1.4.5.zip WillowSetup1.3.1.zip

2018-03-14

原码反码补码图解.

原码反码补码图解.原码反码补码图解.原码反码补码图解.

2018-03-14

Java设计模式

Java设计模式-Java设计模式-Java与模式(清晰书签版)-Java与模式(清晰书签版)

2018-03-14

空空如也

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

TA关注的人

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