自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(964)
  • 资源 (14)
  • 收藏
  • 关注

原创 elasticsearch实现类似京东的商品搜索效果(elasticsearch动态聚合)

用到京东的对其搜索应该不会陌生,其搜索也是使用elasticsearch完成的,下图为一个搜索效果图:搜索筛选条件会根据查询返回的结果动态变化,要实现这个功能就要用到elasticsearch的聚合功能,先看下商品索引对应的映射:{ "mapping": { "es-product": { "dynamic_templates": [ {...

2020-04-10 14:58:40 1772 1

原创 关于NIO与Socket编程技术指南 “验证 write(ByteBuffer src, long position)方法中的 position 不变性”的不严谨问题

NIO与Socket编程技术指南2018.7版中第 2 章通道和 FileChannel 类的使用(第130页)关于“验证 write(ByteBuffer src, long position)方法中的 position 不变性的”不够严谨,首先贴出该书中的示例代码,file.txt中笔者存了123。@Test public void writeAtPos()throws IOEx...

2020-03-28 11:13:17 446 1

原创 关闭jpa事务

使用下面的配置可以关闭jpa的默认事务@EnableJpaRepositories(basePackages = {"jtl3d.smp.repository"}, repositoryBaseClass = CustomSimpleJpaRepository.class,enableDefaultTransactions=false)因为jpa的事务是默认开启的,实际使用种尤其是针对读...

2020-03-27 17:29:27 3559

原创 使用zipkin追踪mysql8

zipkin是一种分布式调用追踪系统,通过该工具,我们可以清晰快速的定位问题,zipkin监控基础搭建过程可以参考笔者的另一篇博文https://blog.csdn.net/john1337/article/details/104178559,这篇文章主要集中mysql8.0的监控,之所以写这篇文章,一部分原因是现在搜索到的很多文章都是基于mysql-connector-java 8.x以前的老版...

2020-03-27 15:23:37 1960

原创 追加模式创建的FileOutputStream获取的FileChannel设置position不影响写入位置

下面看段代码:@Test public void append(){ DateTimeFormatter df = DateTimeFormatter.ofPattern("HH:mm"); try { //追加模式创建FileOutputStream FileOutputStream fos = new FileOutputStream("d:/tm...

2020-03-26 13:45:36 1696

原创 SpringBootTest.WebEnvironment.NONE Caused by: java.lang.IllegalStateException: No ServletContext set

出错场景:使用下面的注解进行springboot的单元测试@RunWith(SpringRunner.class)@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.NONE)public class MaterialExport{ @Test public void test(){ ...

2020-03-20 09:32:37 6980 1

原创 poi操作word实现分页

需求场景:1、在word模板基础上多次创建一个表格模板2、该表格模板不能沾满一页,及时能占满拷贝时也存在一些问题,表格模板如下所示先使用XWPFDocument.createTable(); // 创建一个空表格XWPFDocument.setTable(document.getTables().size() - 1, originTable); //originT...

2020-03-16 16:01:19 8263 1

转载 究竟什么样的开发流程是规范的

概述有读者反馈,读了文章一线技术管理者究竟在管什么事?收获满满,但还有点不过瘾,还想了解更细的东西...这篇文章分享开发流程规范,目的是提高产品质量,优化开发流程,供大家参考。规范是死的,人是活的,希望自己定的规范,不要被打脸。接下来从以上六个阶段进行逐一拆解。1 需求评审作为技术人员肯定都参加过需求评审会,不知道有没有遇到这样的情况?产品经理...

2020-03-03 08:00:09 405

原创 拓扑排序及java实现

拓扑排序是通过对有向无环图进行深度优先搜索实现的,对于一个有向无环图G来说,其拓扑排序是G中所有节点的一种线性排序,有很多生活活动都可以使用有向无环图来指明事件的优先顺序,比如下图所示的早晨起床过程:上图为某人的早晨起床涉及的一系列活动,图中标注数字为该图可能存在的一种的一种深度优先搜索方案,有些事件之间存在必然的先后顺序,比如打领带之前比如穿衬衣,系腰带之前必须穿裤子等等,有些事件之间没...

2020-03-01 17:04:24 499

转载 一个TCP连接可以发送多少个HTTP请求?

一道经典的面试题是从URL在浏览器被输入到页面展现的过程中发生了什么?大多数回答都是请求响应之后DOM是怎么被构建、被绘制出来。但是你有没想过,收到的HTML如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的?要搞懂这个问题,我们需要先解决下面五个问题:现代浏览器在与服务器建立了一个TCP连接后,是否会在一个HTTP请求完成之后断开?什么情...

2020-03-01 10:55:34 5752 4

原创 http请求什么时候会带上cookie信息

从上面两个图我们可以看出,虽然浏览器端有cookie,为什么在发送list请求时没有把本地的cookie带上呢,再看下面的截图:上面两个截图我们可以看出,上面的list请求带上了Cookie信息,那么你不仅会疑问什么情况下http请求会把cookie带上,什么时候http请求不带cookie信息呢,解答这个疑问之前先了解些cookie相关的基础性的东西:Set-Cookie...

2020-02-29 15:41:53 30723 2

原创 详解springboot通过spi机制加载mysql驱动过程

DataSourceProperties这个类是springboot用来配置数据库的一个基础配置类,该类定义如下:@ConfigurationProperties(prefix = "spring.datasource")public class DataSourceProperties implements BeanClassLoaderAware, InitializingBean {...

2020-02-21 21:33:49 2989

原创 spring @Value嵌套使用

写这篇文章的原因在于博主的一篇文章https://blog.csdn.net/john1337/article/details/104237974,在这篇文章中博主讲述了如何通过配置Swagger的host来使得swagger页面显示的ip为部署服务的服务器地址,springboot使用下面的配置:@Configurationpublic class SwaggerConfig { ...

2020-02-15 19:58:37 1870 1

原创 windows根据jps查询java进程然后关闭脚本

下面的脚本可以通过jps查询到具体进程,然后关闭该进程,最后一行脚本是重启该应用,下面一段脚本可以用于windows上重新发包功能@echo offset char=smp-0.0.1-SNAPSHOT.jarecho char : %char%set pid=for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %char%`...

2020-02-13 20:56:21 1885

原创 使用zipkin监控spring cloud gateway

spring cloud gateway是spring cloud家族最新的api网关,之前用的是netflix zuul 1.0,netflix 2.0最终没有孵化出来,于是spring自己开发了现在的spring cloud gateway,与zuul 1.0不同的是spring cloud gateway是基于spring5 springboot2以及proactor技术栈开发的第二代网关,...

2020-02-05 14:09:56 3144

原创 springcloud gateway引入CORS

springcloud gateway引入cors(全称Cross-Origin Resource Sharing,跨站资源共享),是用于限制资源访问的一种方式,比如我们限制某些接口或者图片资源不被除允许外的站点访问,springcloud gateway做了访问系统资源的第一道门槛,CORS功能一般都会放在springcloud gateway应用中,而不是放在单独的引用中,springclou...

2019-12-25 11:20:56 2009

原创 不要在并发场景下使用hashmap的原因

相信很多人都知道jdk7及其以前版本的hashmap在并发场景下使用时存在死循环(注意是死循环,不是死锁)的问题,问题出在扩容时对链表逆序的问题,下面是出问题的相关源码: /** * Transfers all entries from current table to newTable. */ void transfer(Entry[] newTab...

2019-12-25 08:59:11 822 1

原创 org.apache.rocketmq.client.exception.MQClientException: No route info of this topic

笔者最近在使用rocketmq时,使用部署在docker中的rocketmq就会报“org.apache.rocketmq.client.exception.MQClientException: No route info of this topic”异常,win10本地启动同版本的rocketmq release库没有任何问题,搜索了许久仍然没有找到问题,关于这个问题,部分原因在笔者,笔者没有完...

2019-12-06 19:50:57 6527

原创 缓存一致性协议(MESI)

笔者在学习过程中发现了一个不错的网站,模拟了MESI协议流程,现分享下:https://www.scss.tcd.ie/Jeremy.Jones/vivio/caches/MESI.htm运行效果图如下所示:上图是CPU0、CPU1两个核心分别执行a0++后的效果图,执行顺序是CPU1执行a0++操作,然后CPU0执行a0++操作,我们可以看出CPU0根CPU1中a0副本变量的...

2019-12-03 14:59:21 857 3

原创 elasticsearch分页获取数据

提到elasticsearch分页,可能首先想到的是类似mysql的那种处理方式,传入分页起始值以及每页数据量,es确实提供了类似的处理策略,代码如下: @Test public void searchFromSize() throws IOException{ SearchRequest searchRequest = new SearchRequest("sub_bank1120"...

2019-11-20 16:57:00 4816

原创 RestHighLevelClient批量删除满足某些条件的数据

这个可以通过DeleteByQueryRequest来实现,实例代码如下 /** * 批量删除文档 * @throws IOException */ @Test public void deleteByQueryRequest() throws IOException { DeleteByQueryRequest request = new DeleteByQueryRe...

2019-11-19 17:06:00 10797 9

原创 elasticsearch之UpdateByQueryRequest

如果更新一条文档,而且知道文档id的前提下可以使用UpdateRequest即可实现,代码如下: /** * 根据文档id更新 * @throws IOException */ @Test public void test() throws IOException { UpdateRequest request = new UpdateRequest("sub_bank1...

2019-11-19 16:51:29 16208 5

原创 RestHighLevelClient一次查询多个条件

就像bulk在多文档索引时提高效率一样,msearch也能提升多个查询的执行效率,这里主要考虑到网络消耗,使用search查询可能要循环执行N遍,但是使用msearch一次从客户端一次客户请求即可。下面给出实例代码: @Test public void testMultiSearch(){ MultiSearchRequest request = new MultiSearchRequ...

2019-11-18 18:26:46 15060

原创 将ip转换为地理位置存入elasticsearch

有些需要将一些数据基于地址位置进行分析,比如哪些区域比较活跃,在什么时间范围内活跃,但是后端仅能获取ip地址,因此需要将ip地址转换为地理位置,幸运的是我们有开源的工具可以使用,maxmind/GeoIP2-java使用GeoLite2-City.mmdb库就可以由ip分析得到对应的经纬度,下面给出具体操作步骤:1、从https://dev.maxmind.com/geoip/geoip2/g...

2019-11-08 14:39:51 1582

原创 elasticsearch5.x以后版本引入中文分词器

由于elasticsearch自带的分析器(analyzer)对中文分析效果无法达到中国地区的需求,幸运的是我们可以使用elasticsearch-analysis-ik来​​​​​​插件来完善elasticsearch对中文的处理能力。看下分词效果,待分析文本为:中华人民共和国解放军hello使用elasticsearch自带的standard分析器:ik分析器分词效果:...

2019-11-06 18:40:32 398

原创 springcloud集成elk

springcloud是一个应用很广的微服务全家桶,阿里开发了自己的springcloud alibaba分支,elk是一款不错的监控工具,尤其是日志分析,可以将springcloud微服务项目的日志通过logstash-logback-encoder传送到elk的logstash上,好了废话不多少了,直接进入环境搭建流程:1.使用docker-compose搭建elk环境,docker-co...

2019-08-20 15:43:41 3843

原创 tomcat jdbc连接池配置属性详解之参数说明

driverClassName 数据库驱动类,针对mysql填com.mysql.jdbc.Driver username 用户名 password 密码 maxActive 最大允许的连接数 maxIdle 最大空闲连接,当idle队列数目超过maxIdle时,归还到连接池的连接就会被释放掉!!...

2019-08-16 17:05:13 4936

原创 tomcat jdbc数据库连接池详解之PoolCleaner

PoolCleaner是一个定时任务,该任务在创建线程池时自动启动,该任务定期执行哪些工作呢,带着这个问题进入源码: @Override public void run() { ConnectionPool pool = this.pool.get(); if (pool == null) { ...

2019-08-16 10:31:54 2265

原创 redis-trib.rb reshard针对有键值的slot迁移失败 Wrong number of arguments for specified sub command

运行环境:redis :4.0redis-trib.rb redis集群管理脚本ruby: 2.6.3在执行reshard命令时发现迁移有键值的slot时就会报错Wrong number of arguments for specified sub command,谷歌找到的答案是redis-trib.rb脚本的兼容性问题,需要修改这个脚本migrate部分代码: ...

2019-08-13 14:42:49 6046 2

原创 redis scan命令

redis是当前使用很广泛的一款内存key-value软件,有时需要查询下目前redis内存里面有哪些满足条件的键值,在线上系统一定不要使用keys命令,该命令会导致redis停止一切工作,如果redis键值要很多的话会导致redis长时间内都不会响应其他任何命令,这个时候scan命令就呼之欲出了,scan命令可以达到keys命令的效果同时又不会redis出现类似stop-the-world事件的...

2019-08-12 13:31:08 2835

转载 解决debug到jdk源码时不能查看变量值的问题

转载自:https://www.cnblogs.com/zc-programer/p/9938508.html亲测有效!!如何跟踪jdk源码看到这个标题大概大家都会在心里想谁还跟踪个源码呀,在eclipse中打个断点,以debug的方式运行,然后F5进入方法,F6跳过方法,F7跳出方法。但是不知道大家有没有注意到,如果你跟踪到的是jdk源码的话,比如HashMap的put方法,即使你F...

2019-04-29 17:10:41 623

原创 user-agent数据解析详解

我们有时会需要用户使用的浏览器信息进行分析,浏览器信息可以通过HttpServletRequest的getHeader("User-Agent")获取到,例如下面的内容: user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ver...

2019-04-25 10:27:16 6079

原创 has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values '

背景:通过zuul做代理,反向代理到对应的controller中,发现之前正常工作的接口突然不能正常工作了,最终通过浏览器调试模式发现出现了错误提示:has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values '原因是服务应用里面有一个Cor...

2019-04-11 16:26:47 17591 5

原创 pom文件报Project read error的思考

有时maven pom文件会报Project read error的问题,这时候建议在命令行通过 mvn clean install -Dmaven.test.skip=true的方式打下包,这样就能比较明确的看到这个pom文件到底哪里出了错...

2019-04-04 15:25:10 7179

原创 eclipse调试进不了断点

笔者遇到这个问题酒后的解决方法是在勾选上Compiler配置的Add source file name to generated file(used by the debugger),相信大家也看到了,这个选项是debug必须的。...

2019-04-04 10:49:43 2626

原创 springcloud哪些异常可以走fallback逻辑

@FeignClient(name="application-name",fallback=xxxFallback.class)public interface CommonModuleService { /** * * @return */ @PostMapping("/commonOrganize/listOrgs") Api...

2019-04-02 15:26:48 2284

原创 为什么abstract @service注解的类不被加载到beanfactory中

使用过spring开发的开发者对@Service注解以及@Autowired注解不会陌生,系统在启动时会把@Service注解的类加载到BeanFactory中,然后就可以通过@Autowired注解的方式注入Service类实例,但并不是所以被@Service注解的类都会被加载到系统中,那么到底哪些类会被加载到系统中(也就是满足什么条件才会被加载呢),这个看下ClassPathScanningC...

2019-03-31 10:09:55 6371

原创 cglib工作原理详解

cglib是一种动态代理方式,底层通过asm产生class字节码来完成动态代理,cglib与jdk动态代理相比,除了可以代理实现接口的类也可以代理非实现接口的类,通过fastclass类来避免了java反射的使用。对jdk7以前的版本来说,jdk动态代理执行效率明显要比cglib动态代理类效率差,jdk8即以后版本对jdk动态代理进行了相应的优化,这种差距就不那么明显了。但是要代理...

2019-03-23 16:27:03 6702 1

原创 java modifier

cglib是动态代理的一种,该类型代理是通过产生class的方式来产生代理类,相对于jdk动态代理,该类型代理可以代理没实现接口的类。CGLIB代理底层通过重新生成每个类的方法,final、private、static方法则不会创建新的方法。 java modifier作为反射的一部分,可以用来标识每个类以及类方法的属性,其值如下所示:publicstaticfinali...

2019-03-22 10:06:52 747

原创 jdk等hsdb导出系统加载类等功能介绍

1.运行HSDB代码java -classpath "%JAVA_HOME%/lib/sa-jdi.jar" sun.jvm.hotspot.HSDB2.attach到对应的java程序进程上3.进入下面页面:4.选择Class Browser进入加载类页面:5.点击“create .class for all classes”生成所有已加载的类,或者点击具体的类,导出...

2019-03-20 18:56:01 764

kuebkey v3.2-alpha.1-console

kuebkey v3.2-alpha.1-console版本,该版本支持在页面上完成集群的简单管理

2024-02-01

nacos-2.0.1 postgresql初始化脚本

nacos-2.0.1 postgresql初始化脚本

2021-12-03

2021建筑智能化应用现状调研白皮书.pdf

2021建筑智能化应用现状调研白皮书

2021-09-15

cassandra-jmx.yml

cassandra jmx_exporter对应配置文件

2021-09-02

thingsboard-mqtt脚本.zip

thingsboard-mqtt脚本,参考文章https://jonhuster.blog.csdn.net/article/details/106097623里面的步骤执行对应脚本即可!!

2020-05-13

Elasticsearch技术解析与实战

Elasticsearch技术解析与实战,希望帮到需要的朋友,需要的朋友也可以购买图书

2017-11-18

spring security 入门demo

spring security 入门demo 非常不错 主要是完整

2017-08-11

bpmn2.0规范

bpmn2.0规范

2017-07-03

Mastering Unit Testing Using Mockito and JUnit

Mastering Unit Testing Using Mockito and JUnit

2017-05-06

Spring Boot实战

Spring Boot实战

2017-05-03

docker技术入门与实战

docker技术入门与实战 学习docker不错的入门资料

2017-04-26

微服务架构与实践 ,王磊著

本书是一本关于有关微服务的专业书籍,理论与实践相结合,讲解微服务的来世今生,是一本不错的微服务专业书籍

2016-11-10

深入剖析Tomcat

深入剖析Tomcat

2016-10-29

空空如也

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

TA关注的人

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