- 博客(24)
- 资源 (14)
- 收藏
- 关注
原创 http请求什么时候会带上cookie信息
从上面两个图我们可以看出,虽然浏览器端有cookie,为什么在发送list请求时没有把本地的cookie带上呢,再看下面的截图:上面两个截图我们可以看出,上面的list请求带上了Cookie信息,那么你不仅会疑问什么情况下http请求会把cookie带上,什么时候http请求不带cookie信息呢,解答这个疑问之前先了解些cookie相关的基础性的东西:Set-Cookie...
2020-02-29 15:41:53 30360 2
原创 详解springboot通过spi机制加载mysql驱动过程
DataSourceProperties这个类是springboot用来配置数据库的一个基础配置类,该类定义如下:@ConfigurationProperties(prefix = "spring.datasource")public class DataSourceProperties implements BeanClassLoaderAware, InitializingBean {...
2020-02-21 21:33:49 2978
原创 spring @Value嵌套使用
写这篇文章的原因在于博主的一篇文章https://blog.csdn.net/john1337/article/details/104237974,在这篇文章中博主讲述了如何通过配置Swagger的host来使得swagger页面显示的ip为部署服务的服务器地址,springboot使用下面的配置:@Configurationpublic class SwaggerConfig { ...
2020-02-15 19:58:37 1861 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 1866
原创 使用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 3128
原创 深度优先搜索及java实现
深度优先搜索是图里面一种基础的搜索算法,英文简写DFS(depth First Search),深度优先搜索采用的方式是“”耿直boy型恋爱方式”--不撞南墙不回头,本文采用的图如下图所示:下面是DFS优先搜索的java实现,涉及到图Graph类、顶点Vertex类:import java.util.ArrayList;import java.util.List;//图类pu...
2020-02-29 21:14:36 1104
原创 无法保存此文档。它可能是只读的,或者正在被其他应用程序使用
pdf在隐藏模式下是不能修改的,会报下面的错误:无法保存此文档。它可能是只读的,或者正在被其他应用程序使用。。。。。去掉pdf文档的隐藏特性好就可以编辑,当然这仅限于非保护的pdf文档。...
2020-02-28 16:15:17 9576 1
原创 XWPFParagraph.insertNewRun插入的文字跟word模板不一样
使用场景:创建了一个word模板,然后根据这个模板循环写入数据,这里就会涉及到占位符的替换操作,替换的基本思想就是:1、调用XWPFParagraph.removeRun删除原有数据2、使用XWPFParagraph.insertNewRun插入数据遇到的问题是替换后的文字并没有按照word模板中设计的文字样式来输出,导致产生这个问题的原因在于XWPFRun是有格式的,我...
2020-02-28 11:16:19 2370 3
转载 Java深拷贝和浅拷贝
定义浅拷贝基本数据类型 拷贝数值 引用类型 拷贝对象引用深拷贝基本数据类型 拷贝数值 引用类型 拷贝引用所对应对象的所有数值浅拷贝实现方式1. 拷贝构造方法拷贝构造方法指的是该类的构造方法参数为该类的对象。使用拷贝构造方法可以很好地完成浅拷贝,直接通过一个现有的对象创建出与该对象属性相同的新的对象。实现如下(PS:已略去部分代码):浅拷贝-拷贝构造...
2020-02-27 18:53:48 253
原创 idea引入maven期间失败导致maven项目加载失败
idea默认使用的是maven中央仓库,由于加载过慢,因此我们一般会使用阿里或者网易等一些国内的maven仓库,但是在项目加载过程中,不会因为你修改了maven的配置而改变之前项目对maven仓库,因此笔者直接把idea关闭后重启了,出现了如下问题:maven项目加载失败时common项目左侧标红部分的蓝色块是不存在的,也就是没被识别成一个maven项目,java代码也不能识别,关于这个问...
2020-02-26 13:23:06 1975
转载 并发经验八年架构师:带你轻松解决缓存在高并发场景下的问题
缓存一致性问题当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。这就比较依赖缓存的过期和更新策略。一般会在数据发生更改的时,主动更新缓存中的数据或者移除对应的缓存。缓存并发问题缓存过期后将尝试从后端数据库获取数据,这是一个看似合理的流程。但是,在高并发场景下,有可能多个请求并发的去从数据库获取数据...
2020-02-25 18:38:45 278
原创 广度优先搜索BFS及java实现
广度优先搜索是图里面一种基础的搜索算法,英文简写BFS(breadth First Search),广度优先搜索能够搜索到源节点S到图中其他节点的最短距离,该方法适用于无权有向或者无权无向图中,广度优先搜索采用的方式类似二叉树的层次遍历,比如对节点V3来说,V1、V5属于第一层,V4、V6、V2属于第二层,从V3到V5的最短距离是V3->V5这条边,而不是从V3->V1-&g...
2020-02-23 18:27:29 1792
原创 String.format格式化枚举对象
java中String.format可以使用%s来格式化枚举类,不管是下面的简单枚举类,还是复杂的枚举类:public enum VertexColor { WHITE,GRAY,BLACK;}//复杂些的枚举类public enum Color{ BLACK("黑色",1), WHITE("白色",2); private String desc; private...
2020-02-23 17:48:03 1121
原创 再谈http返回头部之Access-Control-Max-Age
该请求头是pre-flight请求在客户端(常见的如浏览器)缓存时间长度,该请求伴随POST、PUT请求存在,在POST请求发出之前一般会发送pre-flight请求来试探下服务器,看下是否有些请求头或者请求方法服务器端是否支持,如下图所示:从上图可以看出服务器端支持POST、GET等请求,上面返回的Access-Control-Max-Age:3600(单位为秒,超时时间为1小时)表...
2020-02-19 18:08:33 8116
原创 jackson设置读取属性时使用大写序列化属性时使用小写
jackson是一种使用广泛的json序列化库,虽然性能上可能不如fastjson,但是从其标准性以及安全性上来看(近一年爆出了不少fastjson的漏洞),下面就介绍下本文的主题,jackson序列化以及反序列化时可能用到的几个注解:@Getter@Setterpublic class UserInfoDTO { @JsonSetter("User") private...
2020-02-19 09:25:11 1577
原创 使用try-with-resource需要注意的地方
try-with-resource是JDK7引入的语法糖,可以简化Autocloseable资源类的关闭过程,比如JDK7以前下面的代码: File file = new File("d:/tmp/1.txt"); FileInputStream fis = null; try { fis = new FileInputStream(file); xxxxx ...
2020-02-17 18:15:05 3069 1
原创 idea设置项目git的提交用户信息
打开idea的terminal选项,如下所示:通过下面的命令就可以设置单个项目的提交用户信息git config user.name "xxx"git config user.email "xxx@xxx" git config 后面加上 --global 参数就可以设置git全局配置...
2020-02-17 14:14:43 4907
原创 java将图片按照原尺寸比例存入word中
在使用poi往word里面插入图片时可以使用XWPFParagraph.insertNewRun(i).addPicture(InputStream pictureData, int pictureType, String filename, int width, int height)方法但是为了使得插入word中的图片按照原图尺寸进行等比例缩放,我们必须必须获得原图的尺寸,常用的方法...
2020-02-17 12:34:31 2762
转载 SpringBoot 使用 Caffeine 本地缓存
一、本地缓存介绍. 二、缓存组件 Caffeine 介绍. 1、Caffeine 性能. 2、Caffeine 配置说明. 3、软引用与弱引用. 三、SpringBoot 集成 Caffeine 两种方式. 四、SpringBoot 集成 Caffeine 方式一. 1、Maven 引入相关依赖. 2、配置缓存配置类. 3、定义测试的实体对象. 4、定义服务...
2020-02-15 09:56:09 3379
转载 欧几里得算法
问题导入12 和 18 的最大公约数是多少?最大公约数:最大公约数,也称最大公因数、最大公因子,指两个或多个整数共有约数中最大的一个。例如:18 与 12 的最大公约数为 6 。短除法短除法是求最大公因数的一种方法:先把每个数的因数找出来,然后再找出公因数,最后在公因数中找出最大公因数。因式分解法在初中数学题中,基本上我们就是采取因式分解或者短除法的形式来求最大...
2020-02-13 08:12:19 428
原创 swagger2接口url如何设置为服务器的ip而不是127.0.01
swagger2是一款不错的接口查看工具,我们可以通过开发完接口后只需进行相应的配置后,通过swagger查看每个接口的使用说明以及返回值,但是swagger2默认接口是127.0.0.1的,这样前端人员在测试接口时使用的是127.0.0.1地址而不是部署该接口部署服务器的地址,在swagger2中我们可以在创建Docket时设置对应服务器地址,具体代码如下:@Configurationp...
2020-02-09 17:39:12 8055
原创 反应式编程之Mono.defer
本文基于project reactor,,reactor-bom版本为Dysprosium-SR4,project reactor数据源大致可以分为两类:恶汉型跟懒汉型,mono defer方法创建数据源属于懒汉型,与Mono.just等创建数据源则是恶汉型,下面看一个例子: @Test public void defer(){ //声明阶段创建DeferClass对象 ...
2020-02-07 10:43:43 17037 2
原创 反应式编程之flux concatmap
本文基于project reactor,,reactor-bom版本为Dysprosium-SR4,flux concatMap方法作用是将多个publisher组合起来,然后依次消费,消费的顺序跟传入的顺序相同,消费完一个publisher后才开始消费下一个publisher,下面看个例子 @Test public void concatmap(){ Student st1 = ne...
2020-02-06 21:01:24 2930
原创 mono subscribe源码分析
https://blog.csdn.net/john1337/article/details/101028908这篇文章已经对整个project reactor工作流程做了概述,本文对mono的subscribe源码进行更细的描述:本文将以实际代码来分析下project reactor常见的subscribe工作原理 Mono.just("hello") .f...
2020-02-01 21:21:03 4586 1
thingsboard-mqtt脚本.zip
2020-05-13
Mastering Unit Testing Using Mockito and JUnit
2017-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人