自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

音速小子

路漫漫其修远兮,吾将上下而求索

  • 博客(18)
  • 收藏
  • 关注

原创 springboot 配置prometheus 报 ambiguous handler 的问题解决

spring-boot(1.2.1)版本配置通过@EnablePrometheusEndpoint 普罗米修斯(0.0.24)后,当访问/prometheus 是会报ambiguous handler,这个意思是同一个地址(requestMapping)映射了2个方法。看启动日志发现/prometheus 映射了PrometheusMVCEndpoint.values() 和父类 Endp...

2019-12-03 10:18:02 538

原创 Java线程池ThreadPoolExecutor 主要参数和execute详解

本文针对对ThreadPoolExecutor有一定了解的人群,本文的讨论暂不考虑线程的销毁public class ThreadPoolExecutor extends AbstractExecutorService { private volatile int corePoolSize;//核心线程数 private volatile int maximumPoolSize...

2019-08-09 10:35:47 2396

原创 Cglib生成的动态代理类源码分析

代码准备被代理类Teacherpublic class Teacher { public void say() { System.out.println(String.join(",","I'm a teacher")); }}自定义的MethodInterceptorCglibProxy和DefaultProxy//拦截非Ob...

2019-08-07 17:13:05 669

原创 面对云服环境不稳定的RocketMq我们做了什么

公司有一个项目用了RocketMq,我们运维把RocketMq集群搭建在了公司自有云服上,接下来我们的噩梦开始了。主要有以下2个问题:1、producer发送数据失败2、producer异步发送数据时,回调函数接收不到回调信息针对上面第一个问题——producer发送数据失败(1)我们记录发送日志,发送日志在回调函数中记录到《send_log》中(2)如果失败的话还要再将发送...

2019-03-28 17:09:13 1407

原创 快速排序原理以及java实现

原理:选择一个关键值作为基准值。比基准值小的都在左边序列(无序的),比基准值大的都在右边(无序的)。一般选择序列的第一个元素。一次循环:从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果没有继续比较下一个,直到找到第一个比基准值小的值才交换。找到这个值之后,又从前往后开始比较,如果有比基准值大的,交换位置,如果没有继续比较下一个,直到找到第一个比基准值大的值才交换。直到从前...

2019-03-11 09:43:12 3318

原创 Mongo你需要知道的冷知识——ObjectId

mongo的每一条数据都有一个主键_id,类型为ObjectId。ObjectId是由24位16进制数构成,例如:ObjectId("5c643f1cf146b1b8785fc39f")前8位字符串:5c643f1c 代表插入的时间;那么我们可以根据这个特性来做一些时间上的查询下面这个代码是根据传入时间生成一个objectId/** * Created by speedyao on...

2019-02-15 18:16:18 3696 1

原创 分布式爬虫设计思路

之前和一朋友聊天过程中画的思维草图,贴在这里抛砖引玉 

2019-02-15 17:22:15 594

原创 java线上内存溢出问题排查步骤

      一般线上遇到比较头疼的就是OOM内存溢出问题,我们都会先看错误日志,如果错误日志能够定位出哪个类对象导致内存溢出,那么我们只需要针对问题修改bug就好。但是很多时候我们单凭日志无法定位出内存溢出问题,那么我们这时候就需要以下操作来定位问题。1、top下对当前服务器内存有个大致了解top后 shift+M俺内存占用由大到小排序,RES是此进程实际占用内存,%MEM是占服务器总...

2019-02-15 11:24:17 12189

原创 程序员是什么

再简单的功能我也必须把它分解,不能简单一个method就完事了,那也太low了。啥,你说俩method,不行给你仨method总行了。我说,哎呦小老弟,你懂啥叫可扩展吗?你懂啥叫分级处理吗?俩仨method可就完事了,怎么着我也得解刨解刨吧,多的咱不说,processor咱得有吧,咱不光有咱还得抽出processor interface吧。光抽interface也不行,那共用方法咱不得实现...

2019-01-31 14:37:28 1162

原创 ByteBuffer中flip、mark、reset、rewind和clear的作用

在解释以上方法之前我们需要了解ByteBuffer的几个参数: // Invariants: mark <= position <= limit <= capacity private int mark = -1;//标记位置,reset时需要 private int position = 0;//当前读取 private int limit;//...

2019-01-08 19:13:07 9893 2

原创 RocketMq获取消费信息

        这几天项目需要查看mq的消费情况,阿里开源的mq-console界面挺好的,但是里面权限太大了,所以就琢磨着自己开发接口获取mq消费信息。话不多说,贴出代码long timeout = 1000 * 3;String topic = "market_test_topic";String group = "group_name";String nameAddr="mq的...

2018-10-31 15:29:35 3542 2

原创 long和int的爱恨情仇

话不多说直接上代码:long a=1000L*60L*60L*24L*365L*100L;long a1=1000*60*60*24*365*100;System.out.println(a);System.out.println(a1);a:3153600000000a1:1094004736看似一样的代码结局完全不一样,这其中的区别就是‘L’。a的运算数值以L结尾...

2018-09-04 15:25:40 961

原创 基于“与或”的多值状态码设计

使用背景       前段时间项目中需要跑批给用户表增加A、B、C信息(ABC分别代表不同的字段),这些信息是通过外部网站爬虫获取的,然而这些外部网站由于IP限制、QPS限制导致调用的失败率很高,因此需要为每一个字段添加成功状态信息。实现目标:减少索引字段 执行效率高 扩展性强实现方法       只用一个int类型的state表示状态信息,并且以每一个二进制位表示每一个字段...

2018-08-02 12:29:37 781

原创 浏览器跨域拦截流程

一个前后端分离项目,前端兄弟忙不开我帮忙搞了下前端,遇到了一些跨域的问题,但是网上关于跨域访问大部分说的都是跨域访问的定义以及跨域访问的解决办法。但是并没有多少人说明白跨域访问的流程以及拦截过程。到底是浏览器在请求前拒绝访问不同源URL?还是在请求非同源URL后拒绝加载数据呢?那么我将在下文中解决下这个疑问。     假设有这样的环境:  WEB容器:部署在ngix上(ngix没有设置代理

2018-01-22 19:28:47 4196

原创 mongo数组长度 数组内容 查询

在网上关于mongo数组查询的太少了,现在贡献一下假设数据库里有一条这样的数据{  "name": "arrayTest",  "arrayKey": ["a","b"]}查询 arrayKey长度是2的数据 :{arrayKey:{"$size":2}}查询arrayKey内容是 ["a","b"]的数据:{arrayKey:["a","b"]}查询arr

2017-12-20 17:17:00 5378

原创 mongo查询优化

经过多次调整,java查询mongo我们采取了分级查询。首先我定义一下下面提到的名词条件元组(object ):查询条件的元组,比如object={"keyValue":"5***********0024","keyType":"A"}实际查询条件(arr): 外部接口调用我们接口会传递不定数量的条件元组,比如arr=[{"keyValue":"5***********0024","key

2017-10-30 17:47:01 997

原创 创建忽略证书验证的CloseableHttpClient

项目中需要创建忽略证书的http请求,在网上搜索了一下,好多都是大段大段的代码,并且不清不楚的。。本人阅读java源码,现提供最简洁的创建忽略证书验证的https请求。/** * 获取忽略证书验证的client * * @return* @throws Exception */public CloseableHttpClient getIgnoeSSLClient() ...

2017-06-20 10:17:02 1416

原创 忽略证书验证的CloseableHttpClient

项目里需要忽略证书访问,在网上查了,大部分回答都是复制粘贴的,并且也没有什么结果。自己看看源码,现在把创建忽略证书的CloseableHttpClient的方法共享下public CloseableHttpClient getIgnoeSSLClient() throws Exception { SSLContext sslContext = SSLContexts.cu

2017-06-09 18:19:07 4628 1

空空如也

空空如也

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

TA关注的人

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