自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 Required request body is missing with ContentCachingRequestWrapper

我有个拦截器,在进入我的controller之前,我读取了request的body,原始的 request是不可重复读的,于是决定使用ContentCachingRequestWrapper包装一下,但是在使用@RequestBody接收参数的时候后端报错,日志如下:Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing前端响应为{

2021-07-21 20:14:07 1078 1

原创 ThreadLoacl的内存泄露问题

线上有问题的时候,虽然每行日志都打印了流水号,但是请求存在重试的情况,这样想筛选出单一请求的日志比较麻烦,于是想使用SLF4j的MDC,MDC实际上就是一个ThreadLoacl,但是同事实现的日志trace中,没有进行MDC.remove(),我认为这样会存在内存泄漏,但是同事说,我每次对同一个key进行set和get,不需要remove吧,我当时一愣,竟说不出哪里不对,但是就hi感觉不对,于是重新看了一下Thread和ThreadLoacl、ThreadLoaclMap.首先Thread内部有.

2020-07-14 11:16:52 675

转载 rocketmq

(1) Broker Master 和 Broker Slave 是主从结构,会执行数据同步 Data Sync(2) 每个 Broker 与 NameServer 集群中所有节点建立长连接,定时注册 Topic 信息到所有 NameServer(3) Producer 与 NameServer 集群中的其中一个节点(随机)建立长连接,定期从 NameServer 获取 Topic 路由信息,...

2020-04-16 11:28:13 215

原创 算法解题思想

算法题目就是考察你抽象的能力,你能不能将题目描述的问题,抽象成你曾经使用过,或者是做过的模型,在此记录一下自己的思路1.先进后出模型:先进后出这个模型很容易就可以想到用栈来实现,而栈实现的方式都可以使用递归实现,但是递归有一个问题就是如果调用次数过多可能造成栈溢出,所以我们可以使用显示的循环来优化递归,所以一般情况下,这种题目的优化可以有这么多种变种的解法...

2019-11-01 14:06:47 377

原创 kafka笔记

副本同步消息方向:kafka消息的副本复制是由follower持续向leader发送请求来实现(注意方向)kafka的日志清清除kakfa会定期清除日志,他有一下几种策略:1.基于时间清除:默认清除7天前的日志2.基于大小清除:kafka为每个log保存log.retention.bytes大小的字节数,如果-1表示不限制。所以如果这个值设置的很大,可能表现就是kafka从不清...

2019-10-25 11:03:56 135

原创 mysql时间操作函数学习笔记

阅读mysql8.0的官方手册学习了一下时间操作函数,做一下笔记点我查看mysql函数列表获取给定时间的月的最后一天select LAST_DAY("2019-10-20 12:23:23");2019-10-31返回的是datatime创建一个时分秒的datatimeSELECT MAKETIME(12,15,30);12:15:30返回的是datatime给定时...

2019-10-12 12:15:39 200

原创 kafka消费者笔记

目录reblancerablance的触发条件reblance策略rangeround-robinstickyreblance generation如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLow...

2019-10-08 20:02:47 186

原创 接口加密总结

记一次公司接口加密工作为什么要做接口加密解决需求确定加密方案开发方案基于filter的解决方案问题解决springmvc基于RequestBodyAdvice的实现问题springmvc基于HandlerMethodArgumentResolver的实现最终方案写在最后为什么要做接口加密头几天公司注册接口被人用ip池攻击了,攻击者不断用不同的手机号码攻击我们的接口来确认这个手机号是否在我们平台...

2019-09-16 11:14:37 1251

原创 kafka设计优化学习笔记

以下内容基于阅读kafaka中文文档磁盘优化kafka进行了消息持久化,持久化就离不开磁盘,磁盘的性能比较低,kafka在这方面使用顺序io代替随机io,这极大的提高了磁盘的读写性能。现代操作系统在越来越注重使用内存对磁盘进行 cache。现代操作系统主动将所有空闲内存用作 disk caching,代价是在内存回收时性能会有所降低。所有对磁盘的读写操作都会通过这个统一的 cache。如果...

2019-08-29 16:02:34 171

原创 KafkaConsumer源码翻译

这是一个从kafka集群消费记录的客户端这个客户端透明的处理kafka broker的失败,并透明的适应它在集群内提取的主题分区这个客户端使用“consumer group”与broker进行交互来负载均衡这个消费者为了获取数据和必须的broker维持了tcp连接消费者使用后未能关闭会导致连接泄露这个消费者是线程不安全的跨版本兼容性这个客户端可以和0.10.0及以上版本...

2019-08-29 11:00:54 114

原创 KafkaConsumer源码翻译(中英对照)

阅读kakka源码时,英语不好,翻译的比较费劲,经常翻译了后面的,忘记了前面说的什么了,等回到前面之后,前面说的是什么,英文又不认识了,在这里做一个记录,慢慢写吧,估计会写的很艰难,目前更新的不多,哎,英语不记得多少了/** * A client that consumes records from a Kafka cluster. 一个从kafka集群消费记录的客户端 * &l...

2019-08-28 17:04:48 1090

原创 阅读源码时遇到的不认识的单词

阅读源码时遇到的不认识的单词单词及翻译单词及翻译使用:---------:居中使用:----------居左使用----------:居右单词音标意义transparently: adv.透明的 本地释义...

2019-08-28 16:59:04 135

原创 Spring boot中yml属性注入

一时兴起,不想通过yml的方式将neo4j的uri,username之类的放入yml中,想通过apollo注入,但是yml中的属性是怎么注入bean的呢?idea中点击了yml中配置的spring.data.neo4j.username直接跳到了一个类 Neo4jProperties,观察一下包名:org.springframework.boot.autoconfigure再点开下面的子...

2019-08-20 12:24:47 2954

原创 Spring Data Neo4j(SDN)5.1使用

项目中使用了neo4j数据库,neo4j是什么就不用介绍了吧,图形数据库的王者,如果不了解的话还是先去了解一下吧,他的cypher已经成为图形数据库的事实上的标准了。本次主要记一下我自己使用过程中用到的东西或者是坑,已经从SDN4.x迁移到5.1发现的问题,大部分其实都是从文档中得到的,所以有能力最好还是看文档,看文档也不要一字一句的从头到尾看,这种看法,很有可能让你刚翻译完目录就失去了看正文...

2019-08-16 14:58:36 1025 1

原创 macos下使用mail发送邮件

有一些定时脚本在执行,但是每天需要我到了公司之后去查看一下我的脚本的执行结果,就想着怎么能让bash执行完之后,发送短信到我的手机,但是我又没有什么短信接口,为了这个极少的使用去买个服务也不值得,就想到了使用移动运营商的sms网关,向其发送邮件,同时运营商会想你的手机发送短信,我是移动,移动的sms网关是@139.com,联通电信需要自己查网关mail这个命令比较简单,你可以指定你的发件箱,当...

2019-08-02 16:59:19 3051

原创 idea中代码不错误提示

偶然发现idea明显代码错误不进行提示,查了一下说是我开启了Power Save Mode模式,我都奇怪我没开过啊,难道是什么情况下我误触了快捷键?????!!!记录一下,方便别人方便自己,也许之后自己再次会遇到呢,关闭就好(双击shift,输入Power Save Mode)...

2019-07-23 14:53:54 8563

转载 二叉树懒惰删除

在读《数据结构与算法描述》的时候,讲到二叉树的删除的时候,提到了给节点增加一个删除标记,删除的时候并不删除节点,只是修改这个标记的值,书中没有讲,只是一笔带过,没有明白为什么增加了一个标记就不管了,那我查询的时候不就可能把已经删除的数据给查出来了吗!?上网查找,发现原来是我理解错了,因为这个标记的存在,我们可以对我们的insert,remove,contains方法都修改一下,来提高算法的效率,看...

2019-06-26 14:48:10 487

转载 Spring data创建方法的策略

从spring data common的文档中摘出来的,记一下,防止忘记。The query builder mechanism built into Spring Data repository infrastructure is useful for building constraining queries over entities of the repository. The mec...

2019-04-02 16:48:23 119

原创 mysql学习笔记

这里写自定义目录标题mysql默认使用memory存储引擎存储查询的中间结果,如果中间结果的大小大于了memory引擎的表容量,或者中间结果存在blob、text类型字段的时候,就会使用myisam存储引擎,将表放在磁盘中,性能会降低...

2019-03-13 20:19:56 265

原创 mysql innodb引擎索引笔记

二级索引定义:除了聚簇索引之外所有索引都是聚簇索引二级索引一般需要扫描索林两次(一次二级索引找到主键,一次通过主键查聚簇索引找到指针)主键默认包含在二级索引中,所以创建二级索引的时候不需要指定主键,否则,这就是一种冗余索引如:索引(A),实际上是索引(A,ID)已经存在索引(A,B),这时创建索引A,A就是冗余的,因为A索引(A,B)的前缀索引,但是(B,A)不是冗余的...

2019-02-25 17:55:33 144

原创 MYSQL InnoDB二级索引存储主键值而不是存储行指针的优点与缺点

** MYSQL InnoDB二级索引存储主键值而不是存储行指针的优点与缺点**优点减少了出现行移动或者数据页分裂时二级索引的维护工作(当数据需要更新的时候,二级索引不需要修改,只需要修改聚簇索引,一个表只能有一个聚簇索引,其他的都是二级索引,这样只需要修改聚簇索引就可以了,不需要重新构建二级索引)缺点二级索引体积可能会变大,因为二级索引中存储了主键的信息二级索引的访问需要两次索...

2019-02-25 14:56:26 3912 5

原创 <=>与<>的区别

<=>与<>的区别与=操作符类似与=不同的地方<>与<=>意思相近,但是<=>是mysql特有的,在这里记录一下。与=操作符类似<>与<=>都是用于比较值得,a<=&am

2019-02-22 14:45:54 8650

原创 java并发编程学习----volatile内存语义记录

class Example{ int a = 0; volatile int b = 0; void write(){ a = 1;//1 b = 2;//2 } void read(){ if(2 == b){//3 int i = a;//4 } ...

2019-02-15 18:13:04 128 1

转载 win主机连接不上vm中centos7

转自:http://www.flypeng.com/czxt/linux/2015/0815/910.html感谢原博主下面正文现象描述:window10中vmware12安装了两个centos7,可以使用xshell6连接上其中一个centos7,但是另一个却不能,宿主机和虚拟机之间可以ping通,虚拟机之间也可以ping通,使用ssh,两台机器可以互相访问。 解决办法...

2019-02-01 10:32:02 516

原创 linux修改时区

装Linux虚拟机好几次了,总是忘记怎么修改时区,查了好几次,改了好几次,总是没记下来,现在长记性了,记下来,防止之后找的不好使。执行tzselect选择你想要的时区,输入你想要的数字就好,我依次选择的是Asian-》China-》beijing,最后yes,但是这实际上并没有改成功,根据Linux给的提示,执行echo 'TZ='Asia/Shanghai'; export TZ' &g...

2019-01-31 20:53:19 444

原创 service单元测试

实际开发中,在进行测试的时候,我们可能不想针对比较简单的crud的dao进行访问数据库,这时候可以使用junit和mockito的组合进行模拟。使用spring时,service一般会依赖dao,使用mockito可以模拟出一个dao,你让它返回一个你想要返回的对象,这时候,我们只需要专注于测试我们的service中的逻辑是否正确即可。示例代码如下:public class User...

2019-01-31 15:40:39 1307

原创 maven学习笔记

最近在学maven,在此记录一下maven的命令,方便以后复习以及查阅查看当前项目处理了的依赖:mvn dependency;resolve树形结构查看本工程的依赖:(主要用于排查jar冲突)mvn dependency:tree上面的命令也可以重定向到一个文件中方便查找,同时idea有一个插件dependency analyzer可以帮助查看jar冲突忽略maven单...

2018-12-29 11:52:14 107

原创 mvn site : java.lang.ClassNotFoundException: org.apache.maven.doxia.siterenderer.DocumentContent

解决方式,不要使用maven-site-plugin:3.3 plugin,更新到更新版本 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...

2018-12-29 10:26:42 10181 10

原创 Spring使用java config方式配置结合xml配置的方法

@Configuration//@ImportResource注解中可以引入xml中spring的配置@ImportResource("classpath:/com/acme/properties-config.xml")//@import注解可以引入另一个基于java config配置的配置类@Import(ConfigA.class)public class AppConfig {...

2018-12-21 14:45:06 514

原创 spring默认支持的可以autowire的类和 接口

 BeanFactory, ApplicationContext, Environment, ResourceLoader, ApplicationEventPublisher, MessageSource. ConfigurableApplicationContext , ResourcePatternResolver以上接口和类可以不需要使用java config方式或者xml配置方式...

2018-12-20 16:18:22 1028

原创 Spring单例bean依赖原型bean

SpringIoc章节的文档中描述到:In most application scenarios, most beans in the container are singletons. When a singleton bean needs to collaborate with another singleton bean, or a non-singleton bean needs t...

2018-12-20 11:00:51 589

原创 记一次linux下安装neo4j(neo4j-community-3.4.10)并远程访问的坑

windows下vm14安装centos7,新建了neo4j用户,在该用户下下载了neo4j,然后进入{neo4j_home},执行bin/neo4j console,以控制台方式启动,然后linux访问http://localhost:7474/browser/,一切正常,然后在idea中执行代码,以http方式和blot方式访问都不行。以为是linux防火墙的原因,一顿查,返现不是防火墙的...

2018-11-16 01:08:50 3635

翻译 spring 4.1.6.release jms部分翻译

24.4.2 异步接受 - 消息驱动 POJO通过使用@JmsListener注解,spring支持注解监听器,并提供了以编程方式注册端点的开放基础结构。这是设置异步接收器最方便的方法,更多细节请参照 Section 24.6.1, “Enable listener endpoint annotations”。类似于EJB世界中的消息驱动的bean,消息驱动POJO(Message-Driven ...

2018-07-09 11:27:36 118

原创 windows+eclipse推送任务到linux的hadoop集群

最近在回顾自己的博文,这写的什么东西,对linux无爱你还干什么java开发,嗯,linux真香----------------------分割线--------------------最近开始学习hadoop,由于对linux实在是无爱(实则是太菜,玩不转linux),就想在windows下开发 然后推送到集群中,想要运行一下wordcount欢欢喜喜的把system32下放了hadoo...

2018-04-25 15:36:50 174

原创 windows下使用git.exe连接git服务器,上传文件,下载文件

上传文件首先,命令行下进入想要作为本地仓库的文件夹$git init //初始化本地仓库$git add . //添加需要提交的文件, "."代表当前文件夹下所有文件$git commit -m "创建项目" //提交到本地仓库,引号内是提交的日志$git remote add origin [email protected]:/home/gitrepo/runoob.git //你...

2018-04-19 15:47:01 1226

原创 spring boot访问报错

spring boot启动时报错,信息如下This application has no explicit mapping for /error, so you are seeing this as a fallback.Mon Jul 06 21:57:13 CST 2017There was an unexpected error (type=Not Found, status

2018-04-12 15:22:14 200

原创 spring错误org.springframework.web.context.ContextLoaderListener

maven构建的spring项目,总是报错org.springframework.web.context.ContextLoaderListener,还有一个At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete li

2018-03-08 15:31:05 2126

原创 linux下安装jdk

我是使用centos7安装的,但是由于centos即使都是7,也有很多版本(linux开源,很多人都可以改),参照本片文章可能会有无法使用的bug,这里给大家先打一个预防针,毕竟我之前就遇到过这种情况,如果你不幸遇到了,只能先给你说一声抱歉!正文第一步:虚拟机上安装linux,安装完成之后,首先使用java- version命令查看系统是否自带jdk,一般是先卸载,然后安装自己想要的版本的jdk。...

2018-02-28 17:37:11 190

原创 mongo导入json格式文件

windows10下,在mongo官网下载了测试数据,参照使用MongoDB的MapReduce进行查询和数据组织导入时出现了问题,总是奇奇怪怪的错误,好一顿百度,也没有解决,链接中使用的是“-”,通过查help,发现我的版本不是使用“-”,而是使用“/”,贴出正确的导入命令,mongoimport /d test /c zipcodes ,前不加$,没有空格。

2018-02-08 18:18:35 1353 1

原创 struts2中请求包含参数如何处理

昨天使用struts时,有一个请求包含了参数,通过在actio类中设置与前端传递参数的相同名称的属性,并设置他们的getter和setter方法 解决,今天再次使用到需要传递参数的action,但是参数比较多,不想在action中设置这么多的属性,就查了一下有没有更简洁的方法,于是有找到了一个更好的方法在action中获取原生的HttpServletRequest 对象,通过该对象

2017-08-02 11:11:18 353

空空如也

空空如也

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

TA关注的人

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