自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 PowerMockito 简介

powerMockito单元测试准备1 在需要执行单测的类上注解@RunWith(PowerMockRunner.class) 2 对于需要mock私有方法的需要注解@PrepareForTest(FooServiceImpl.class)私有方法mockcom.mock.test.service.impl.FooServiceImplTest.private_method()web controller mockcom.mock.test.controllerInjectMocks

2021-11-30 15:00:09 4899

原创 sentinel自定义扩展

sentinel开源自alibaba,它和dubbo的扩展有一些类似,都是使用spi机制来实现自定义扩展。在进入资源流控时sentinel会加载所有ProcessorSlot实现类,并将其安装指定的属性插入的处理链位置。@Spi(order = -1500)public class DemoSlot extends AbstractLinkedProcessorSlot<DefaultNode> { @Override public void entry(Context

2021-11-19 12:00:00 674

原创 sentinel集成nacos

使用nacos作为规则数据的存储中心,在服务启动的时候从配置中心拉取数据到本地,并讲规则加载到内存中;当在控制台修改规则时将数据推送到配置中心将数据更新。nacos规则加载//动态加载nacos的规则配置private static void initRule() { Properties properties = new Properties(); properties.put(PropertyKeyConst.SERVER_ADDR, remoteA...

2021-11-17 09:50:33 1410

原创 Sentinel

sentinel流控支持限流流控常用的流量流控sentinel中对应的规则未flowRule,流量流控支持2个策略,一种是并发线程数,一种是QPS。并发线程数并发数控制用于保护业务线程池不被慢调用耗尽。例如,当应用所依赖的下游应用由于某种原因导致服务不稳定、响应延迟增加,对于调用者来说,意味着吞吐量下降和更多的线程数占用,极端情况下甚至导致线程池耗尽。为应对太多线程占用的情况,业内有使用隔离的方案,比如通过不同业务逻辑使用不同线程池来隔离业务自身之间的资源争抢(线程池隔离)。这种隔离方案虽然隔离性比

2021-11-16 18:03:08 658

原创 多线程一撸到底

多线程一撸到底偏向锁、自循锁、轻量级锁、重量级锁volatile、synchronized乐观锁、悲观锁Lock、AQSConcurrentHashMap偏向锁、自循锁、轻量级锁、重量级锁偏向锁:“偏向”的意思是,偏向锁假定将来只有第一个申请锁的线程会使用锁(不会有任何线程再来申请锁),因此,只需要在Mark Word中CAS记录owner(本质上也是更新,但初始值为空),如果记录成功,则偏向锁获取成功,记录锁状态为偏向锁,以后当前线程等于owner就可以零成本的直接获得锁;否则,说明有其他线程竞争,膨

2021-11-15 14:51:34 100

原创 layUI多文件上传

前端HTML<div class="layui-input-inline"> <button type="button" class="layui-btn layui-btn-normal" id="test8">选择文件</button> <button type="button" class="...

2019-12-14 12:26:16 1019

原创 千万级别数据迁移从耗时3天优化到半个个小时

项目背景:公司对现有系统做重构,新系统上线前需要将老系统的全量数据迁移到新的系统,其中有10几张表的数据有1千多万的数据量需要全量迁移过来,但是新老系统的表结构不是一样的,所以我们需要将老系统的数据全部转化为新系统的数据结构过程: 项目开始时是从简单的版本开始做,并没有考虑速度问题,按照简单的单线程开发,数据分页读取然后做数据转化后通过mybatis批量写入数据库。第一版只是完成业务逻...

2019-12-11 22:15:02 4064 2

原创 spring事务处理过程中扩展

TransactionSynchronizationManager.registerSynchronization方法允许我们在spring提交事务的前后以及执行的过程中加入我们想要的业务操作,只需要注册一个事务同步器即可...

2019-10-25 23:43:35 270

原创 ELK日志收集环境搭建

ELK日志收集环境搭建环境准备elasticsearch 下载filebeat 下载kibana 下载文件配置elasticsearchkibanafilebeat这是一个简化的elk日志收集,用filebeat替代了logstash,filebeat对内存的消耗要小于logstash。在下载的时候组建的版本号需要选择相同版本的。环境准备elasticsearch 下载elasticsea...

2019-05-16 10:49:56 213

原创 redis集群搭建

首先创建6个文件夹mkdir redis-clustermkdir 7000mkdir 7001mkdir 7002mkdir 7003mkdir 7004mkdir 7005mkdir 7006添加配置redis.conf文件cd 7000vi redis.conf#端口号port 7005#集群方式开始cluster-enabled yes#集群配置...

2018-10-16 18:18:31 235

转载 MySQL高级 之 explain执行计划详解

转载记录https://blog.csdn.net/wuseyukui/article/details/71512793

2018-10-13 17:52:52 126

原创 vmware NAT模式网络连接无法上网

NAT模式通常不需要我们做特殊处理是可以直接连接外网的,但是在一次学习过程中出现无法连接外网,试了很多方式都没有用。最后在/etc/sysconfig/network-scripts/ifcfg-ens33文件里面的ONBOOT=yes属性设置是no,也就是开机的时候没有去启动网卡,导致无法自动配置网络ip地址。我使用的是centos清洁版,上面的正常的情况下使用ip addr是可以获取到...

2018-09-12 16:45:49 5174 3

原创 记一次spring-cloud-config 官网实例运行失败

在最近的一次spring-cloud-config 学习中遇到一个坑,按照官网的代码实例搭建了一个简单的demo总是运行不起来,server启动获取不到数据,client也是,经排查发现maven通过dependencyManagement 管理各个依赖包的版本,但是出现了一个dependencyManagement的pom文件下载失败,pom文件也没有提示错误,最后发现在右边的maven pro...

2018-08-22 22:42:42 300

原创 rocketmq 启动多个生产者实例

最近在公司的项目中遇到一个坑,在一个应用里面启动多个实例的时候消息总是只能发送到其中一个实例对应的mq服务器上去,通过反射跟踪发现这2个实例的brokerAddrTable地址是一样的,开始还以为是配置设置的NamesrvAddr不对,后面打印出来发现NamesrvAddr是正常的,但是brokerAddrTable就是不对,始终指向第一个启动的brokerAddrTable地址。后面跟踪源代码发...

2018-08-07 10:05:51 7967

原创 全文搜索之lucence入门(三) 查询索引

我们可以使用luke工具来查询我们本地的索引存储信息。查询的流程如下在lucene中query有几种基本是查询类型。词项查询  TermQuery  短语查询  PhraseQuery布尔查询  BooleanQuery正则查询  RegexpQuery模糊查询  FuzzyQuery前缀查询  PrefixQuery通配符查询  WildcardQuery范围查询  TermRangeQuery...

2018-05-31 10:27:21 1103

原创 全文搜索之lucence入门(二) 索引创建

之前我们讲了lucence的一些基本概念,这次讲下索引的创建步骤。 //创建分词器 Analyzer analyzer = new SmartChineseAnalyzer(); //Analyzer ik = new IKAnalyzer(); ik分词器 //配置索引创建器 IndexWriterConfig config = new Ind...

2018-05-17 17:33:46 797

原创 全文搜索之lucence 入门(一)

lucence索引主要是通过反向索引来做到提升查询速度,我们普通的关系数据库中的查询都是正向索引。反向索引就像我们的字典一点,我们通过字典的目录,可以快速知道某个字在那一页。lucence将词项作为目录存储,每个词项存储了那些包含这个词语的文档信息,这样我们就可以快速的知道某一个词项在哪些文档里面存在了。这里词项又是什么呢?词项其实就是相当于英语中的一个一个的单词,如果我们的某一个字段需要做分词,...

2018-05-15 14:54:56 674

原创 springboot集成activemq

springboot给我们的开发带了很大简便,帮住我们管理复杂的项目依赖,以springboot与activemq集成为例,在集成activemq的时候我们只需要加上一个依赖就可以了&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spri...

2018-02-14 11:44:44 603

转载 查看linux中的TCP连接数

转载地址:http://blog.csdn.net/he_jian1/article/details/40787269一、查看哪些IP连接本机netstat -an二、查看TCP连接数1)统计80端口连接数netstat -nat|grep -i "80"|wc -l2)统计httpd协议连接数ps -ef|grep httpd|wc -l3

2018-02-07 19:24:01 588

转载 Mycat水平拆分之十种分片规则

mycat分库分表规则,转载标记https://www.cnblogs.com/756623607-zhang/p/6656022.html

2018-02-02 18:40:02 2235

原创 linux运行jar文件Invalid or corrupt jarfile错误

今天在项目中遇到一个很坑爹的问题,用eclipse导出来的jar文件,在window系统下可以正常使用,但是讲jar传到linux环境就不能正常使用了。总是提示Invalid or corrupt jarfile。后来上网查了下,网上都是说打包的时候文件清单没有指定运行主类,打开jar文件查看里面的文件清单是正常的。后来找同事发现一个坑爹的问题就是文件上传的时候内容丢了。为什么会丢失呢?发现sec

2018-01-31 14:18:40 34475 1

原创 spring boot 集成redis实现分布式session共享

第一步,加入pom依赖 org.springframework.boot spring-boot-starter-data-redis org.springframework.session spring-session-da

2018-01-24 15:54:55 286

转载 log4j配置

loj4j详细配置解释,转载以作记录https://www.cnblogs.com/ITtangtang/p/3926665.html

2018-01-17 20:16:27 98

原创 面试总结

最近面试了几家公司,都是猎头推荐的,发现到了后面找工作很大一部分是猎头去推荐了,自己都不用去找什么了。这次面试中遇到了一个cto面试,感受还是挺多的,之前一直在外包工作,很多东西是没体会到。考虑东西也不全面,只是局限于眼前的看到的。这次的面试有2个问题觉得有必要记下。一。 在遇到对外接口用户调用没有反应,该怎么分析问题,判断出错的原因。       习惯了外包的思维,第一想到的是在代码加上

2018-01-16 20:59:59 166

原创 spring cloud eureka 笔记

eureka默认的注册中是没用密码,可以直接进去,外网发布会不安全,我们可以加上密码,跟dubbo管理中心一样。我需要做的只有2步,一个是在pom引入jar org.springframework.boot spring-boot-starter-security 然后在配置文件中加入如下参数security.basic.enable

2017-12-28 16:33:20 161

转载 office办公文件在线预览

http://www.kailing.pub/article/index/arcid/180.html#0-sqq-1-84043-9737f6f9e09dfaf5d3fd14d775bfee85

2017-12-18 14:12:42 781

原创 Lock源码解析

ReentrantLock  锁分为公平锁和非公平锁,公平锁是指线程在获取锁的时候是暗战线程请求获取的顺序来发放锁,先申请的先获取,后申请的后获取,跟FIFO队列的原理一直。非公平锁是指在获取锁的时候是随机的,谁抢到就发给谁。公平锁获取锁方式protected final boolean tryAcquire(int acquires) { final Thre

2017-12-10 22:12:53 330

原创 nginx(五)自带变量

$arg_PARAMETER这个变量包含在查询字符串时GET请求PARAMETER的值。$args这个变量等于请求行中的参数。$binary_remote_addr二进制码形式的客户端地址。$body_bytes_sent未知。$content_length请求头中的Content-length字段。$content_type请求头中的Content-T

2017-09-23 10:29:07 969

原创 nginx(四)location正则表达式使用

语法:location [=|~|~*|^~|@] /uri/ { ... } 这个参数根据URI的不同需求来进行配置,可以使用字符串与正则表达式匹配,如果要使用正则表达式,你必须指定下列前缀:1、~* 不区分大小写。2、~ 区分大小写。要确定该指令匹配特定的查询,程序将首先对字符串进行匹配,字符串匹配将作为查询的开始,最确切的匹配将被使用。然后,正则表达式的匹配查询开始,匹配查询

2017-09-23 10:23:58 2214

原创 nginx(三)动静分离

location ~ .*\.(gif|jpg|html|js|css)${        root    /html;        proxy_cache mycache; #使用名称为mycache的缓存        proxy_cache mycache; #使用名称为mycache的缓存#对不同的Http状态码设置不同的缓存时间proxy_cache_valid 2

2017-09-23 10:12:09 191

原创 nginx(二)负载均衡设置

upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080 down; server backend2.example.com:8080 backup; server unix:/tmp/backend3; ip_hash;} server { locati

2017-09-23 09:42:38 198

原创 nginx(一)基本配置讲解

中文手册  http://shouce.jb51.net/nginx/left.html

2017-09-17 23:15:50 179

转载 基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案

转载自:http://warm-breeze.iteye.com/blog/2020413本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.8及以上版本(可选,Sentinel最早出现在Redis2.4中,Redis2.8中Sentinel更加稳定),Redis集群是以分片(Sh

2016-06-20 10:59:49 3969

转载 8天学通MongoDB——第八天 驱动实践

作为系列的最后一篇,得要说说C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者,因为提供了丰富的linq操作,相当方便。 官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads。下载后,还提供了一个酷似msdn的帮助文档。samus驱动:https://

2016-06-17 16:29:43 320

转载 8天学通MongoDB——第七天 运维技术

转载地址:http://www.cnblogs.com/huangxincheng/archive/2012/03/08/2384571.html这一篇我们以管理员的视角来看mongodb,作为一名管理员,我们经常接触到的主要有4个方面:1.  安装部署2.  状态监控3.  安全认证4.  备份和恢复,下面我们就一点一点的讲解。

2016-06-17 16:27:17 292

转载 8天学通MongoDB——第六天 分片技术

转载地址:http://www.cnblogs.com/huangxincheng/archive/2012/03/07/2383284.html   在mongodb里面存在另一种集群,就是分片技术,跟sql server的表分区类似,我们知道当数据量达到T级别的时候,我们的磁盘,内存就吃不消了,针对这样的场景我们该如何应对。 一:分片   

2016-06-17 16:26:04 301

转载 8天学通MongoDB——第五天 主从复制

转载地址:http://www.cnblogs.com/huangxincheng/archive/2012/03/04/2379755.html 从这一篇开始我们主要讨论mongodb的部署技术。    我们知道sql server能够做到读写分离,双机热备份和集群部署,当然mongodb也能做到,实际应用中我们不希望数据库采用单点部署,如果碰到数据库宕机或者

2016-06-17 16:24:22 285

转载 8天学通MongoDB——第三天 细说高级操作

转载地址:http://www.cnblogs.com/huangxincheng/archive/2012/02/21/2361205.html   今天跟大家分享一下mongodb中比较好玩的知识,主要包括:聚合,游标。一: 聚合      常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce。 co

2016-06-17 16:22:35 289

转载 8天学通MongoDB——第四天 索引操作

转载地址:http://www.cnblogs.com/huangxincheng/archive/2012/02/29/2372699.html 这些天项目改版,时间比较紧,博客也就没跟得上,还望大家见谅。    好,今天分享下mongodb中关于索引的基本操作,我们日常做开发都避免不了要对程序进行性能优化,而程序的操作无非就是CURD,通常我们又会花费50%

2016-06-17 16:20:44 250

转载 8天学通MongoDB——第三天 细说高级操作

转载地址:http://www.cnblogs.com/huangxincheng/archive/2012/02/21/2361205.html  今天跟大家分享一下mongodb中比较好玩的知识,主要包括:聚合,游标。一: 聚合      常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce。 cou

2016-06-17 16:19:23 218

PMBOK第六版官方中文版.pdf +架构师软考

内含pmbok第六版中文pdf和系统架构设计师考试全程指导.pdf

2018-02-23

空空如也

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

TA关注的人

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