自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

转载 高等数学公式

一、极限公式二、重要公式三、下列常用等价无穷小关系(x->0)四、导数的四则运算法则五、基本导数公式六、高阶导数的运算法则七、基本初等函数的n阶导数公式八、微分公式与微分运算法则九、微分运算法则十、基本积分公式十一、下列常用凑微分公式十二、补充下面几个积分公式十三、分部积分法公式十四、第二换元积分法中的三角换元公式...

2020-10-30 11:29:29 500

原创 提高测试覆盖率的小工具

最近公司在推进研发自测的功能,首先第一点就是要提高测试覆盖率,只有测试覆盖率上去了才能尽可能的找出隐藏的问题和bug。所以就有了一个如何最方便高效的提高测试覆盖率的问题。测试覆盖率检测工具有很多常用的idea就有这个功能,原理也很简单就是跑一遍测试然后记录这些测试跑过的代码有哪些,没跑过的有哪些然后计算一个比例。想法也就按照这个思路来,就是构造尽可能全的场景参数,然后调用待测试方法。下面的代码就是一个构造参数笛卡尔积的方法,这个方法主要功能就是把一个参数类里的所有的参数的可能性构造出多个参...

2020-08-13 10:33:17 436

原创 java时间计算同比环比周的问题

问题描述:在业务中会有传不同日期格式,1、有天(2020-02-29),周(2020-03第三周),月(2020-02二月份),2、同时需要计算对应的去年同比时间和环比(就是上一个时间段,周的2020-03环比就是2020-04)时间,3、同时还要获取周和月的开始时间和结束时间,比如周2020-02的开始是2020-01-06,结束时间是2020-01-12,4、周的第一天从周...

2020-03-18 17:16:23 4382

转载 Spring Boot应用中@CompentScan excludeFilters配置无效的问题

@CompentScan 注解配置需要扫描的包excludeFilters 是其中一个配置项,用于排除不需要扫描的类FilterTypeANNOTATION根据注解来排除ASSIGNABLE_TYPE根据类类型来排除ASPECTJ根据AspectJ表达式来排除REGEX根据正则表达式来排除CUSTOM自定义FilterClass排除,需要实现...

2019-12-12 19:55:01 2335

原创 自定义注解如何实现从配置文件解析参数?

问题分析平时在使用@Value和@PropertySource两个注解(下面分别用V和P代替)时都可以在value中使用${xxx.xxx}方式获取配置文件的值,这样可以使程序根据配置文件动态设置一些值,比如数据库连接的url,username,password或者环境变量等。但是有时候自己实现的切面注解中也想能使用这样的方式动态配置,这就需要spring环境变量的解析支持了。这两个注...

2019-12-06 11:56:56 4301 9

转载 JVM虚拟机如何枚举根节点:原理、安全点和安全区域

枚举根节点——可作为GC Roots的节点可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)枚举根节点——确保一致性的快照这项分析工作必须在一个能确保一致性的快照中进行——在整个分析期间整个执行系统看起来就像被冻结在某个时间点上,不可以出现分析过程中对象引用关系还在不断变化的情况,该点不满足的话分析结果准确性就无法得到保证。...

2019-09-29 19:44:52 531 1

原创 elasticsearch实现聚合后两个字段相除/相加/相减/相乘运算

1、实际需求在sum聚合运算时会有两个值sum之后相除的运算方式sum(A)/sum(B),这就需要用到es的Bucket ScriptAggregation聚合方式。"aggregations" : { "A" : { "sum" : { "field" : "A" } }, "B" : { "sum" : { ...

2019-09-26 20:41:44 16395 9

原创 elasticsearch 聚合脚本(Aggregation script)错误:No such property: xxx for class

es版本是2.1.2(比较老的版本了)索引有8个分片做聚合查询使用脚本对两个聚合字段做除法处理{ "size": 0, "query": { "bool": { "must": [ { "term": { "l...

2019-09-26 14:59:35 9820

原创 彻底理解mysql事务隔离级别和原理

一、事务需要遵循四个基本原则:1、原子性:一个事务要不全部执行完要不都不执行2、一致性:事务执行前后没有破坏数据完整性,从一种正确状态转换到另一种正确状态,比如A给B转账,先给A扣款再给B账户增加两个事情保持一致。3、隔离性:在一定条件下多个事务之间相互隔离互不影响4、持久性:事务执行完后就要保存进数据库不会丢失二、事务隔离级别就是针对第三个隔离性在说隔离级别之前先说一下几...

2019-09-25 21:07:38 406

原创 spring @Profiles和@PropertySource两种根据环境切换配置文件方式

使用@PropertySource注解加载配置文件,并制定解析配置文件的解析器默认是properties,可以自己指定使用Yml配置文件解析器。@SpringBootApplication@PropertySource(value = "classpath:config-${spring.profiles.active}.yml", encoding = "UTF-8",...

2019-08-14 20:13:52 3496

原创 spring @schedule注解动态配置时间间隔

动态配置时间间隔是通过自己实现的任务注册到任务调度实现的,并在每次调度的时候更改下次调度时间间隔,如果任务阻塞或者挂掉了就不会再被调度了,如果设置时间过长,到下次调度就需要等待很长时间。import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.Tri...

2019-08-14 18:28:38 3278 1

转载 CAS与volatile关系以及如何保证原子性

一、CAS操作在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能风险。volatile是不错的机制,...

2019-07-19 18:37:26 5669

转载 数据库分布式分页查询解决方案

一、需求缘起分页需求互联网很多业务都有分页拉取数据的需求,例如:(1)微信消息过多时,拉取第N页消息(2)京东下单过多时,拉取第N页订单(3)浏览58同城,查看第N页帖子这些业务场景对应的消息表,订单表,帖子表分页拉取需求有这样一些特点:(1)有一个业务主键id, 例如msg_id,order_id,tiezi_id(2)分页排序是按照非业务主键id来排序...

2019-07-15 16:55:57 4463 3

转载 阿里RocketMQ原理如何解决消息的顺序&重复两大硬伤?

分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题:1、消息的顺序问题2、消息的重复问题RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ有哪些关键特性?其实现原理是怎样的?关键特性及其实现原理一、顺序消息消息有序指的是可以按照消息的发...

2019-05-16 20:12:15 499

转载 Raft 共识算法原理

raft 共识算法的优点在于可以在高效的解决分布式系统中各个节点日志内容一致性问题的同时,也使得集群具备一定的容错能力。即使集群中出现部分节点故障、网络故障等问题,仍可保证其余大多数节点正确的步进。甚至当更多的节点(一般来说超过集群节点总数的一半)出现故障而导致集群不可用时,依然可以保证节点中的数据不会出现错误的结果。raft 集群中的每个节点都可以根据集群运行的情况在三种状态间切换:foll...

2019-04-29 21:23:04 2556

原创 elasticsearch6.0更新(ES持续更新)

一、Aggregations changes1、禁用include和exclude的子结构,使用直接key:value方式。//旧的方式POST /twitter/_search?size=0{ "aggs" : { "top_users" : { "terms" : { "field" : "user"...

2019-04-29 20:23:36 684

原创 elasticsearch6.2&6.1更新(ES持续更新)

6.1更新1、引导检查现在适用于链路本地地址link-local addresses是ipv6的地址中使用到的。6.2更新1、All permission bootstrap check(所有的权限引导检查)在java中有security manager功能,可以对API的请求做权限确认,有权限则顺序执行,否则就抛出异常。具体可以看这篇文章:Java安全——安全管理器、访问控...

2019-04-22 21:12:06 455

转载 Java安全——安全管理器、访问控制器和类装载器

本文转载自:云栖社区 尊渊 Java安全——安全管理器、访问控制器和类装载器安全管理器:SecurityManager安全管理器在Java语言中的作用就是检查操作是否有权限执行。是Java沙箱的基础组件。我们一般所说的打开沙箱,也是加-Djava.security.manager选项。其实日常的很多API都涉及到安全管理器,它的工作原理一般是:请求Java API Jav...

2019-04-22 21:00:55 288

原创 elasticsearch6.3更新(ES持续更新)

1、API更改suggest metric被禁用,这个字段在5.0.0的时候就已经是返回空了,在6.3.0中将彻底禁用。这个suggest metric就是在写URL时的路径,例如POST twitter/_search, POST _suggest,这里的_search和_suggest就是es的metric,都是es内置的。6.3.0里已经全都用_search代替了,禁用_sugges...

2019-04-16 21:36:14 1486

原创 elasticsearch6.4更新(ES持续更新)

1、API更改故去有fields字段可以作为mapping字段也可以作为查询请求参数,现在fields字段被遗弃了,在每次查询请求时应该带上具体的查询参数,在7.0中将移除fields字段。fields字段官方文档补充:fields可以用在夸字段检索中,配合"type":"most_fields"来实现,还有更多的多字段检索方式。fields也可以用在同一个字段不同的检索方式,比如一个...

2019-04-14 13:04:51 584

原创 elasticsearch6.5更新(ES持续更新)

1、日志更改在输出日志文件的时候会以前会自动把node name放在输出的日志中,6.5就不会再带上node name,需要自己在配置文件里手动添加,下面是手动添加后的结果。日志打印官放文档链接appender.index_search_slowlog_rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c] [%node_name]%mar...

2019-04-12 21:08:13 528

原创 elasticsearch6.6更新(ES持续更新)

1、索引生命周期管理(测试版)定义一个索引生命周期策略可以实现下面操作1、Have one primary shard on each hot node to maximize indexing throughput.在每一个忙碌节点上都有一个主分片来最大化索引吞吐量2、Replace the hot index with a new empty index as soon as t...

2019-04-10 21:57:17 741

原创 elasticsearch6.7更新(ES持续更新)

版权所有转载请注明出处6.7最重要的改变是加入了Index lifecycle management(索引声明周期管理)和Elasticsearch SQL。可以定义索引生命周期策略来下面的效果。1、Have one primary shard on each hot node to maximize indexing throughput.在每一个忙碌节点上都有一个主分片来最大化...

2019-04-10 20:57:52 3067

原创 java ThreadLocal深入分析

一、ThreadLocal是什么平时使用最多的应该是局部变量和全局变量,threadlocal就可以看成是一个局部变量生产工厂,这个类型局部变量在很多未知的线程中都会用到。二、ThreadLocal怎么用threadlocal在初始化的时候回创建一个局部ThreadLocalMap对象,因为每个线程都这个对象只是值为null,当需要的时候就可以初始化使用,ThreadLocalMap是...

2019-04-09 21:52:22 179

转载 服务之间的调用之RPC、Restful深入理解

RPC、REST API深入理解一:RPCRPC 即远程过程调用(Remote Procedure Call Protocol,简称RPC),像调用本地服务(方法)一样调用服务器的服务(方法)。通常的实现有 XML-RPC , JSON-RPC , 通信方式基本相同, 所不同的只是传输数据的格式.RPC是分布式架构的核心,按响应方式分如下两种:同步调用:客户端调用服务方方法,等待直...

2019-04-09 09:26:49 489

原创 kafka学习

kafka学习主要还都是Apache kafka官方文档最清楚,只是需要一些英语基础。confluent是LinkedIn的三人小组出来创办的—正是当时开发出Apache Kafka实时信息列队技术的团队成员,基于这项技术Jay Kreps带头创立了新公司Confluent。Confluent的产品围绕着Kafka做的。所有上面很多文章对kafka的分析是很专业的。kafka复制机制...

2019-03-27 09:53:28 112

转载 spring @Bean注解的使用

@Bean 的用法@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名定义bean下面是@Configuration里的一个例子@Configurationpublic class AppConfig { @Bean public TransferService...

2019-03-21 20:58:44 86

转载 apache HttpClient 学习系列--2 之HttpContext

摘要: 本文主要讲解HttpContext的使用首先是一个Servlet用于本次试验。package com.lu.controller; import java.io.IOException;import java.io.OutputStream;import java.io.PrintWriter; import javax.servlet.ServletException...

2019-03-20 18:46:56 1347

原创 spring 集成kafka消费者

本文主要是说明spring集成kafka的消费者功能和过程中遇到的各种小问题。环境:spring-kafka-2.1.11.RELEASE;spring-boot-2.0.8.RELEASEmain函数需要加上@EnableKafka,spring boot中几乎所有支持的模块都会有一个对应的Enable,例如schedule,spring cloud系列等,所以以后使用其他spring ...

2019-03-19 21:48:12 4602 3

转载 Java学习及进阶图谱

一、源码分析常用设计模式       Proxy代理模式       Factory工厂模式       Singleton单例模式       Delegate委派模式       Strategy策略模式       Prototype原型模式       Template模板模式Spring5        IOC容器设计原理及高级特性      ...

2019-01-31 11:31:17 413

原创 实时uv,pv使用elasticsearch计算方案

一、概述        因为实时计算的特殊性,需要针对多维度的实时显示累计和分时的UV、PV数。目前有22+N个维度(后面简称dimName),N是用户会加的维度,每个dimName都会有维度值(后面简称dimValue),每个dimName都有不同数量的dimValue,在用户选择n(目前n<=5)个dimName时要输出这n个dimName对应的dimValue的组合数,也就是n个中...

2019-01-04 20:24:40 4745

原创 java用Runtime执行系统命令遇到的问题

java执行系统命令的工具,Runtime.getRuntime().exec(),这个工具里面的坑还是不少的,大部分网上已经分析了,我遇到一个没有在网上找到的。首先说一下这个坑,在command中如果参数的内容中有空格、tab、换行符、回车符,就会执行失败,例如:grep "abc def" -r -n ./这是因为exec方法使用的是StringTokenizer对command分割的。...

2019-01-03 20:07:49 2454

原创 java线程池thread pool使用总结

一、线程池的用途线程池主要是为了解决以下几个问题:1、为多线程执行琐碎的任务提供支持2、避免线程创建销毁过程的资源消耗3、控制资源的使用,根据实际情况合理高效利用资源4、二、java提供的线程池结构java jdk中提供了线程池的创建接口,已经可以很方便对线程的管理和使用了。上图是线程池和调度线程的UML图1、创建线程就是用ThreadPoolExecuto...

2018-12-14 21:01:48 9097

转载 Java的三种代理模式

1.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明...

2018-12-01 17:13:47 114

转载 Spring AOP(面向切面编程)详解

在闲逛时看到了这篇对Spring AOP介绍的文章,写的很清晰易懂,并且还可以对动态代理和spring的service层有更深的了解,转载学习一下,原文地址AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层...

2018-12-01 11:43:16 153

原创 spring boot 对模板类参数的校验

模板类参数上面的请求参数是一个模板类BasicRequest<>,在做参数校验时需要对模板类中的具体类ParamsA做参数校验。需要在模板类的模板属性加上@Valid注解,这样data属性中校验才会生效,下面是实例代码:public class BasicRequest<T> { private String message; @Valid ...

2018-11-28 14:27:15 366

原创 elasticsearch: can't select channel size is 0 for types: [RECOVERY, BULK, STATE]

elasticsearch跨集群搜索的bug遇到这个问题时在网上只搜到了一个elasticsearch的GitHub关于这个问题的讨论,讨论链接。这个问题出现的原因是在集群中配置了跨集群的功能(es跨集群文档),可以通过GET _cluster/settings查看集群的配置。其中的search.remote.xxxx就是远程集群的配置信息。产生这个错误的原因是TransportSer...

2018-10-23 20:27:52 381

原创 使用gerrit提交、调试、多人合作方式

 一、gerrit与gitlab的区别网上找的专业分析https://zhangmengpl.gitbooks.io/gitlab-guide/content/gitlabvsgerrit.html二、使用gerrit简便工作流程1、clone使用gerrit可以先clone master分支,然后在本地checkout一份自己做开发的分支my_branch,如果在阿里云和...

2018-05-04 16:14:13 4038

原创 #pragma对struct结构体占用字节的计算

一、struct占用字节解释编译器为了节省计算机读取次数,因为每读一次都需要一次时间,所有需要尽量每次都能高效的读。优化原则:1、struct结构体是按照里面成员最大值(下面简称MAX)来作为对其标准的。2、不够MAX的需要用空占位。3、比MAX小的成员如果相邻并切和小于等于MAX,则可以相连占位。struct tmp { char a; char c; sh...

2018-03-09 11:32:54 439

原创 Spring处理x-www-form-urlencoded方式

最近在重写一个项目时遇到了许多奇葩问题,这个项目是一个简单的web后台项目,基本上全都是增删改查数据库的操作。这里面遇到几个用spring接收前端post请求的接口。基本情况是post请求有四种data参数格式,这些基础知识在我另一片博文中提到过这里就不废话了。主要是因为前端有两个地方用到了这个接口,但是在用这个接口的时候两个地方用法都不同,奇葩的c++居然还都解析成功了(其实因为c++...

2018-01-31 15:54:47 35154 4

ansj依赖包

这里面有两个jar包一个zip压缩包和一个java测试源码,一个是anjs3.7版本的jar包,tree-split-word依赖包,word2vec源码压缩包,java测试文件是网上找得测试源码。

2016-02-19

GPRS(GTP)协议一个完整的流程(包含payload)

这个一个完整的GPRS协议的上线过程的流程

2014-05-21

wing-ide5.0.3-1破解方法

已经成功破解wing-ide5.0.3-1. 具体破解放法在文档里面

2014-02-24

MapReduce的原理

详细的mapreduce原理分析和作者对hadoop处理数据和任务调度的一个自己的看法。有新颖的想法和独到的见解!

2013-11-29

Wireshark抓包全集(85种协议、类别的抓包文件)

这是在网络上分享的一份比较全面的各种协议报文的总结。里面包含了我们熟悉和不熟悉的很多真实网络报文。

2013-08-14

python核心编程中文版 带目录

非常完整的中文版python编程,并且带目录!

2013-07-03

ethtool-3.4.2

ethtool最新源代码,这是debian官网上的最新源代码。

2013-03-28

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

TA关注的人

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