自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

千千

开阔视野

原创 【算法】插值查找算法

思想差值查找算法是对【算法】二分查找(折半查找)的一个优化。 二分查找算法选取的是中间位置:mid = (low + high)/2 插值查找算法选取的是自适应mid位置开始查找: mid= low + (key - a[low])(high - low)/(a[high] - a[low])使用场景插值查找算法通过上面计算的mid,可以判断你要查找的位置大概在哪里,对于表较长,且关...

2019-09-01 20:13:00 135 2

原创 【算法】二分查找(折半查找)

二分查找条件:必须是有序的二分查找思路:1 确定该数组的中间下标 mid = (left + right)/22 让需要查找的数findVal 和 arr[mid] 比较 findVal > arr[mid],说明你要查找的数在mid的右边,因此需要递归的向右查找 findVal <arr[mid],说明你要查找的数在mid的左边,因此需要递归的向...

2019-09-01 19:32:26 100

转载 解决Too many open files问题

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-29 10:34:42 486

原创 【数据结构】栈stack

目录特点:使用数组来模拟栈思路:代码实现:应用:Java中的栈-Stack类源码解读特点:先入后出(FILO) 是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端为变化的一端,成为栈顶(Top),另一端为固定的一端,成为栈底(Bottom) 最先放入栈中的为栈底,最后放入的元素在栈顶;而删除元素刚好相反,最后放入的元素最...

2019-08-21 14:48:17 89 1

原创 【数据结构】链表-双向链表

目录单向链表的缺点:思路:1. 遍历:2. 添加:(默认添加到双向链表的最后)3. 修改:与单链表一致4. 删除:代码:单向链表的缺点:单向链表查找方向只能是一个方向,而双向链表可以向前向后 单向链表不能自我删除,需要靠辅助节点,重视找到temp节点(待删除节点的前一节点);而双向链表可以自我删除。思路:1. 遍历:即可向前也可向后2. 添加:(...

2019-08-21 11:05:39 85

原创 【数据结构】链表-单链表

目录特点自定义单链表代码其他方法将单链表反转:获取单链表的节点的个数(不统计带头节点的头节点):查找单链表中倒数第K个节点逆向打印单链表:特点链表是有序的列表,在内存中的存储结构如下:以节点的方式来存储,链式存储(各个节点不一定是连续存储的); 每个节点包含data域,next域(指向下一个节点); 分为带头节点的链表和不带头节点的链表自定义...

2019-08-13 10:09:59 139 1

原创 【数据结构】队列(FIFO)

目录队列介绍数组模拟队列思路:代码:问题分析并优化:数组模拟环形队列思路:代码:队列介绍有序列表,可以用数组或链表来实现先入先出(FIFO)数组模拟队列思路:front:队列头,指向队列第一个元素的前一个位置,初始值为-1 rear:队列尾,指向队列的最后一个元素的位置,初始值为-1 int[] arr:用数组模拟队列,存放数据...

2019-08-11 15:44:23 286 1

原创 【Nginx】nginx优化性能配置

#user nobody;worker_processes 8;worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000 ;worker_rlimit_nofile 65535;events { worker_connections 655...

2019-08-06 15:58:18 49 1

原创 【Nginx】动静分离

目录什么是动静分离:静态资源类型:动静分离的好处缓存nginx缓存配置压缩【Nginx】nginx的gzip压缩什么是动静分离:必须依赖服务器生存的称为动。不需要依赖容器的比如css/js或者 图片等,称为静。静态资源类型:在Nginx的conf目录下,有一个mime.types文件。用户访问一个网站,然后从服务器端获取相应的资源通过浏览器进行解...

2019-08-06 09:06:37 82 1

原创 【Nginx】nginx的gzip压缩

gzip压缩网站中会包含很多的静态文件,比如图片、脚本、样式等,而这些css/js可能本很比较大,name网络传输中会比较慢,从而导致网站的渲染速度。因此nginx提供了一种Gzip的压缩优化手段。gzip配置的常用参数:gzip on|off; #是否开启gzipgzip_buffers 32 4K| 16 8K #缓冲(压缩在内存中缓冲几块? 每块多大?)gzip_co...

2019-08-06 08:46:12 106

原创 【Nginx】虚拟主机配置

nginx虚拟机的配置基于端口号的虚拟主机配置:根据不同的端口号进行配置: server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; loca...

2019-08-03 18:59:29 58 1

原创 【RabbitMQ】TTL、DLX、延迟队列

目录TTL:过期时间1.设置消息的TTLa.通过队列来设置消息的TTLb.对消息进行单独设置TTL两种方式比较2.设置队列的TTLDLX:死信队列延迟队列TTL:过期时间Time to Live,过期时间。可以对消息和队列设置过期时间2种方式设置过期时间:通过队列属性设置,队列中所有消息都有相同的过期时间 对消息本身进行单独设置,每条消息的T...

2019-08-03 14:56:08 146 1

原创 【RabbitMQ】消息路由失败

消息路由失败消息路由失败的处理方式有以下两种:mandatory和immediate是channel.basicPublish方法中的两个参数,它们都有当消息传递过程中不可达目的地时将消息返回给生产者的功能。 RabbitMQ提供的备份交换器(Altemate Exchange )可以将未能被交换器路由的消息(没有绑定队列或者没有匹配的绑定〉存储起来,而不用返回给客户端。man...

2019-08-03 14:54:54 306

原创 【RabbitMQ】保证消息的不重复消费

一、出现非幂等性原因为保证消息的可达性,超时、重传、确认机制可能导致消息总线、或者业务方收到重复的消息,从而对业务产生影响。可靠性投递机制:比如消息已经发送出去,mq已经收到了,然后mq在返回confirm的时候网络出现闪断,导致broker未收到应答,导致发送两次。 MQ Broker服务与消费端传输消息的过程中出现网络抖动。 消费端故障、异常。二、生产者MQ消息发送上半...

2019-08-03 14:28:37 2073 2

原创 【RabbitMQ】如何保证消息的可靠性传输,数据不丢失?

目录一、消息丢失的情况1. 生产者——RabbitMQ:2. RabbitMQ:3. RabbitMQ——消费者:二、如何保证消息的可靠性传输?1.生产者角度a. 事务机制b. 发送方确认(publisher confirm)机制2. RabbitMQ-持久化3.消费者一、消息丢失的情况1. 生产者——RabbitMQ:当消息的生产者将消息...

2019-08-03 11:13:07 351

原创 【RabbitMQ】RabbitMQ架构模型

目录RabbitMQ架构模型Producer:生产者Consumer:消费方Broker:服务节点Queue队列:Exchange:交换器--fanout广播--topic主题--direct直连--headers头交换机RoutingKey:路由键BindingKey:绑定Connection:连接Channel:信道vhosts:虚拟...

2019-08-02 21:01:28 1002

原创 【MQ】消息中间件对比了解

目录消息队列中间件2种传递模式:1. 点对点(P2Peye.com)模式:2. 发布/订阅(Pub/Sub)模式消息中间件组成BrokerProducerConsumerTopicQueueMessage消息中间件应用场景消息中间件常用协议常见消息中间件的对比消息队列中间件2种传递模式:1. 点对点(P2Peye.com...

2019-08-02 17:44:41 255 1

原创 【RabbitMQ】RabbitMQ安装

推荐一篇博客,亲测可用:https://blog.csdn.net/qq_22075041/article/details/78855708

2019-08-01 08:55:29 47

原创 【MyBatis】一级缓存、二级缓存的验证

目录一级缓存:什么是一级缓存?一级缓存的生命周期?开发时,如何才能真正用到一级缓存?二级缓存什么是二级缓存?二级缓存的生命周期?如何才能用到二级缓存?开启二级缓存:一级缓存:什么是一级缓存?Mybatis一级缓存实际上就是一个依赖于SqlSession的缓存对象,PerpetualCache里面的结构很简单,通过一个k-v结构的cache维护缓...

2019-07-28 10:46:16 189 2

原创 【SpringBoot】总结

总结

2019-07-14 19:33:38 72 2

原创 【SpringBoot】SpringBoot中的日志框架

目录底层的依赖关系:日志的使用:默认配置:指定配置:切换日志框架SpringBoot底层是Spring框架,Spring框架默认使用JCL;而SpringBoot选用的是SLF4J和logback作为日志实现的。底层的依赖关系:查看pom文件里面的依赖关系SpringBoot使用它来做日志功能:<groupId>org.springframew...

2019-07-03 20:28:58 440 3

原创 【Redis】Redis在项目中的配置

目录SpringBoot集成Redis:Spring集成redis:SpringBoot集成Redis:pom文件中引入依赖<!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin...

2019-06-29 20:47:43 780 3

原创 【Redis】Redis使用“:”对key进行分类存储

通常存在redis中的key值是这个样子的,只看key值,我们很难知道这个key值是干什么的,有什么用处。所以需要我们对key值进行一定的分类:使用“:”冒号来体现层次。例如:set intern:user:user_code 123456 得到形式如下:...

2019-06-29 20:13:27 6089 4

原创 【定时器】XXL-JOB使用

官网地址:http://www.xuxueli.com/xxl-job/#/XXL-JOB:轻量级任务调度框架竞品分析:功能 Quartz集群 LTS Elastic-Job XXL-JOB 架构设计 中心式(伪) 无中心式 无中心式 中心式 依赖框架 Java ZK ZK Java Web UI ...

2019-06-27 09:13:47 245 6

原创 【Spring】AOP

目录OOP与AOP对比:AOP术语:核心:动态代理:应用:AOP(Aspect-Oriented Programming)面向切面编程:为了解耦,让一组类共享相同的行为。通过代理模式为目标对象生产代理对象,并将横切逻辑插入到目标方法执行的前后。在应用AOP编程时,仍然需要定义公共功能,但可以明确的定义这个功能在哪里,以什么方式应用,并且不必修改影响的类。这样一来横切...

2019-06-26 19:51:34 59 7

原创 【Spring】Spring-IOC(DI)介绍

目录Spring简史:Spring概述Spring的模块:Spring生态:Spring框架本身四大原则:依赖注入(DI):Bean的作用域(Scope):传统方式:newSpring配置-装配Bean方式一:在xml中进行显示配置(spring旧版本,基本不用)方式二:Bean的注解配置(隐式的bean发现机制和自动装配):-------如何处理自...

2019-06-20 17:04:26 114 4

原创 【Redis】持久化RDB与AOF

目录RDB触发机制:一、手动触发:二、自动触发RDB文件处理:RDB优缺点:AOF工作流程:开启AOF:AOF缓冲区同步磁盘策略:AOF重写重启加载Redis持久化:能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据。Redis有2种持久化策略:RDB与AOFRDBRDB持久化是把当前进程数据...

2019-06-14 16:06:14 71 5

原创 【Redis】Redis客户端Jedis

目录Jedis的基本用法:Jedis直连JedisPool:比较Jedis 是 Redis 官方首选的 Java 客户端开发包。Jedis的基本用法:Jedis直连pom文件中引入:<dependency> <groupId>redis.clients</groupId> <artifactId...

2019-06-14 11:00:17 86 6

原创 【Redis】慢查询日志

慢查询日志: 就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息记录下俩。Redis客户端执行一条命令分为4个步骤:发送命令 命令排队 命令执行 返回结果慢查询只统计步骤3的时间,所以没有慢查询并不代表客户端没有超时问题。慢查询日志两个配置参数:预设阀值?slowlog-log-slower-than:预设阀值,单位是微妙,默...

2019-06-13 09:46:13 156 7

原创 【Redis】DENIED Redis is running in protected mode because protected mode is enabled

其实,仔细看上面的报错信息,上面已经写的很清楚了。Redis protected-mode 是3.2 之后加入的新特性,在Redis.conf的注释中,我们可以了解到,他的具体作用和启用条件链接redis 时只能通过本地localhost (127.0.0.1)这个来链接,而不能用网络ip(192.168..)这个链接,问题然如果用网络ip 链接会报以上错误。是说处于保护模式,只能本地...

2019-06-12 10:38:38 1086 4

原创 【Redis】Linux上安装Redis 及常用命令

目录一、安装二、配置、启动、操作、关闭Redis启动Redis服务方法一、默认配置方法二、运行启动方法三、配置文件启动(常用)redis-cli连接Redis服务器方法一:交互式方式方式二:命令式停止Redis服务方式一:redis-cli shutdown方式二:kill进程号一、安装源码方式进行安装6个步骤// 1. 下载Redis...

2019-06-12 09:47:46 286 4

原创 【Mysql】优化—索引优化

目录索引的几大原则:列的离散性:最左匹配原则:联合索引:覆盖原则:列选取原则:字段类型优先级:够用就行,不要慷慨(如,smallint,varchar(N))Enum列说明索引常见误区:在where常用的列上都要单独加上索引建立组合索引后,查询哪个列,索引都会生效索引失效原因:全值匹配我最爱最佳左前缀法则不在索引列上做任何操作(计算...

2019-06-11 20:30:41 77 3

原创 【MySQL】锁和事务

目录事务:---特性:---使用流程:---事务并发带来的问题:1. 更新丢失(Lost Update)2. 脏读(Dirty Reads):3. 不可重复读(NOn-Repeatable Reads)4. 幻读(Phantom Reads)---隔离性级别:---事务隔离级别解决方案:锁:---按照粒度划分:表锁与行锁的区别:---行锁(偏...

2019-06-11 20:29:35 104 4

原创 【MySQL】索引内部数据结构

目录索引是什么?几种数据结构介绍:二叉查找树(Binary Search Tree,BST):红黑树:平衡二叉查找树:多路平衡查找树B-Tree(balanced tree):B+Tree:HASHmysql索引数据结构:按照索引方法划分:B+TreehashMySQL B+Tree落地形式innodb-聚簇索引MyISAM-非聚簇索引...

2019-06-09 20:49:50 122 2

原创 【MySQL】mysql逻辑架构图与数据库工作流程

目录MySQL逻辑架构图概括如下:第一层(Connectors):第二层值得关注(SQL Layer):第三层包括了存储引擎(Engine):各个模块分析:1 Connectors2 Management Serveices & Utilities3 Connection Pool: 连接池4 SQL Interface: SQL接口5 Parser...

2019-06-08 21:19:47 572 4

原创 【MySQL】mysql区分大小写问题

最近模糊查询数据库里面的内容时,发现查询出来的内容与自己想要的不一样,筛选的结果区分了大小写。参考博客链接:https://www.cnblogs.com/457248499-qq-com/p/7360284.html1、MySQL默认情况下是否区分大小写,使用show Variables like '%table_names'查看lower_case_table_names的值,0...

2019-06-08 20:35:42 10541 3

原创 【Dubbox】Zookeeper搭建

1.将压缩包上传到服务器,并解压2.创建一个data文件夹3.将zoo_sample.cfg改名字为zoo.cfg4.编辑zoo.cfg5.启动服务

2019-05-31 11:08:06 88 4

原创 【Dubbox】Dubbox管理中心dubbo-admin部署

前提:安装好tomcat下载:dubbox源码地址:https://github.com/dangdangdotcom/dubbox打包:下载下来,使用cmd命令进入dubbox-dubbo-admin目录下然后进行打包:mvn package -Dmaven.test.skip=true(跳过测试直接打包)在dubbox-dubbo-admin目录下就会看到多出了一个...

2019-05-31 10:57:09 211 4

原创 【JVM】垃圾收集器

目录垃圾收集器:新生代垃圾收集器:Serial:ParNew收集器:Parallel Scavenge收集器老年代垃圾收集器:Serial Old收集器Parallel Old收集器:CMS收集器(Concurrent Mark Sweep)G1收集器垃圾收集器选择原理:垃圾收集器:收集算法是内存回收的方法论,垃圾收集器是内存回收的具体实现。...

2019-05-23 16:26:18 100 10

原创 【JVM】垃圾收集算法

目录标记-清除算法(Mark-Sweep)复制算法(Copying)标记-整理算法(Mark-Compact)分代收集算法(Generational Collection):介绍几种垃圾收集的算法:标记-清除算法(Mark-Sweep)过程:首先标记出需要回收的对象; 在标记完成后统一回收所有被标记的对象。 不足:效率低:标记、清除的2个效率都不...

2019-05-23 14:57:11 94 6

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