- 博客(71)
- 收藏
- 关注
原创 TTL篇-TTL的使用
TTL全称TransmittableThreadLocal,是基于InheritableThreadLocal开发的,扩展了InheritableThreadLocal的功能;了解TTL之前,先了解一下InheritableThreadLocal。
2024-01-15 14:26:22
698
原创 @Validate注解使用原理详解
1. 基本使用平时写rest接口的时候大家肯定用过@Validated注解,对rest的提交的数据进行校验类似如下的写法,post接口对body里面的json字符串进行校验在请求发送之后,会去校验json字符串的字段,如果cityName,或者cityid不符合注解定义的规则,就会直接报错。请求在dispatchServlet阶段就会被拦截掉,对应的controller方法都进不来。使用这种方式校验远比自己写个方法在controller中校验参数方便优雅多了。以上介绍的是@Va...
2021-09-12 08:55:31
8567
原创 mysql数据库测试
public class TestConnection { public static void main(String[] args) throws ClassNotFoundException, SQLException, InterruptedException { final String urlStg ; final String userStg...
2021-09-12 08:18:46
198
原创 vue md5加密和后端md5加密计算结果不相同的问题
vue npm install js-md5,使用md5(string)后端加密 */ public static String getMD5(String str) { try { // 生成一个MD5加密计算摘要 MessageDigest md = MessageDigest.getInstance("MD5"); // 计算md5函数 md.update(s
2020-07-22 09:17:07
2499
原创 springboot项目中,如何避免http请求表单数据被篡改
有过爬虫经验的朋友,一定有通过F12抓到过http请求,然后通过修改param或者body表单数据,来获取想要数据的经历,例如爬取京东的评论,url里面包含分页的入参,只需要修改分页入参的数据,例如?page=100,即可把第100页的评论抓取出来。那么如何避免请求修改url或者修改body内容呢,只要请求修改了url或者body就会被后台认证为非法请求从而过滤掉呢。我们这个帖子就是在讨论这个问题,记住是一个request不允许修改参数的情况,如果通过postman构造一模一样的请求,包括header,
2020-07-22 09:12:01
1135
原创 nginx代理 vue前端
我在部署vue的时候,项目是在vue-element-admin的基础上二次开发的,然后npm run build 进行部署。发现很多东西和npm run dev的不同。这一点我很确认。我不得以只能通过npm run dev启动服务,然后通过nginx反向代理这个服务。没采用build静态文件nginx部署的原因是,我怀疑build出来的文件有问题,因为放到spring boot里面验证过了。还有一个原因是只有通nginx代理启动的服务才能通过域名访问,直接npm run dev出来的服务不能通过域名访
2020-06-09 18:49:57
452
原创 记一次vue打包部署的问题
背景,vue build的静态文件放到spring boot中部署登录界面失败,js报错,json.parse报错,但是由于是编译后的js文件实在是不知道是那里的问题。一步一步定位,不停地console,定位到问题代码如下。替换为代码如二。export function login(data) { return request({ url: '/user/login', method: 'post', data:data, transformRequest:
2020-06-08 19:51:00
162
原创 spring security 一些自定义操作
初始配置,伪代码如下,这种配置下,默认是UsernamePasswordAuthenticationFilter+DaoAuthenticationProvider@Configurationpublic class SecurityConfigNew extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity http) throws Exception { http.authorizeR
2020-06-08 19:38:04
561
原创 spring事件处理机制
环境, springboot 2.1.2RELEASE有2中方式可以添加自定义event,自定义listener,然后发布事件1.运行时添加listener,然后publish自定义的event,代码见下图。publish方法是有applicationContext提供的。实例提供了2个发布方法,一个是同步的(默认方式),一个是异步的。这里的所有的bean都是自定义并且是由开发者自己控制什么时候add,什么时候触发@Controller@RequestMapping("/event")pu
2020-06-02 16:14:08
205
原创 记一次数据连接失败问题Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 by
异常信息,The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance...
2020-06-01 13:35:44
5167
原创 spring boot jar部署导致上传文件失败的问题
最近做文件上传下载,这个东西轻车熟路了。我这里上传目录是target下面的static/files下面,注意是target,截图中2位置,并不是源码1的位置。样例代码如图,此代码是拷贝一个文件到target目录下static/files下面。路径的获取就是String realPath=this.getClass().getClassLoader().getResource("static/files").getPath();这样就上传到target下面了,浏览器可以通过http://localho
2020-05-17 12:02:50
1125
原创 pip设置全局网络代理
在pip install 的时候报错,考虑到是在公司内网,所以猜测是需要配置内网代理单次安装设置代理 pip install flask --proxy=http://ip:port使用上面参数,成功安装代理。但是单次设置不是我想要的我需要全局代理全局代理,https://www.lagou.com/lgeduarticle/99027.htmlWindows:%APP...
2020-04-26 15:25:34
2556
1
原创 splunk篇5-导出csv文件中文乱码
dashboard里面有一个table,table里面的中文内容正常,但是导出成csv文件的时候,用excel打开中文乱码,用notepad代码内容正常。到这里有经验的同学应该知道问题出在哪里了,没错就是csv文件缺少了BOM头。所以用excel打开就是乱码的。本来是一个很简单的问题,自己在写导出功能的时候也曾碰到过此类问题,只需要在字节流的最前面追加3个字节的bom字节就好了,但是这个问题是...
2020-01-18 11:30:34
1817
原创 splunk篇4-dashboard
就是不以结婚为目的的恋爱是耍流氓,splunk这里,不以展示为目的的导数据源,写spl也是无用功。我在配置数据源和写spl的时候唯一的出发点就是dashboard怎么画的既漂亮又容易扩展,所以往往会为了dashboard倒推出我的数据源应该是什么样的数据类型,才有利于我写spl,有利于我展示。讲到了这里,dashboard有多重要就不用我赘述了吧。确实很重要,我接触dashboard的目的就是...
2020-01-18 11:03:14
1556
原创 splunk篇3-spl
在splunk搜索栏中编辑spl搜索语句,即可检索出已经配置的数据源内容,右边时间栏是选择数据源的变动时间来检索以上篇的http为例,当我的数据发送到splunk后,输出source="http:httptest" ,其中httptest是我建的http event collector的标记,忘记的可以翻上篇。左侧框中的是字段,字段就是昨天发送数据的body里面的json内容。字段可以...
2020-01-18 10:11:57
3166
原创 splunk篇2----------添加数据源
splunk支持多种多样的数据源如图,支持上传文件,支持监控本地的文件(修改后会及时有变化),配置转发器,db连接等1.上传文件 如图,点击上载,一步一步往下走即可。上传后的文件支持搜索,配置字段等操作2.监视本地文件如图,点击监视,选择文件或者目录,一步一步往下走即可,这里推荐监视的文件或者目录是结构化的数据,例如json文本后者csv文本。这样后续就行search的...
2020-01-17 17:36:46
2394
原创 splunk安装
1.什么是splunkSplunk是一个托管的日志文件管理工具,它的主要功能包括:· 日志聚合功能· 搜索功能· 提取意义· 对结果进行分组,联合,拆分和格式化我用splunk主要是来干数据可视化这块的,splunk的dashboard支持很多种样式,使用splunk系统可以快速搭建一套展示数据的dashboard,同是操作起来也比较方便,支持托拉拽配置页面。...
2020-01-17 17:03:37
655
原创 蓝屏引入的window10重装,开发工具的快速同步,idea,chrome
这里讲的快速同步的前提是,开发工具不在系统盘位置。公司电脑今天突然黑屏了,系统一直进不去。早上来的时候试着进去安全模式,蓝屏。到这里基本上无解了,还原点和备份都没有。到这里了我能想到的办法就是重装了。还好我在D盘保存一个解压后的window10系统,在诊断页面进入到命令行,然后通过命令行copy重要的文件到D盘,例如原来系统的users下的文件,保存之后,执行window10系统的setup....
2019-12-10 17:36:03
166
原创 java调用cmd,window平台,cmd可以调用,java调用不了
Runtime.getRuntime().exec(string),string内容是cmd里面的命令,例如 java -version。这个是常规的调用方式,我使用这个方式打包mvn的过程中,不起作用。在cmd页面可以调用mvn命令,在java代码中使用上述方式没用,所以我就把mvn打包的过程保存成bat文件,然后使用上述方式执行bat文件,是可以正确执行的,...
2019-10-26 18:20:36
450
原创 记一次Calendar引起的bug,导致数据库连接达到最大
再一次调接口的过程中,发现后台有大量的数据库异常,报的错误是被加入mysql 异常hosts,需要使用命令flush-hosts清空。我看了一下我的后台有大量的数据量连接异常信息。花了很大的例如追踪,发现是因为Calendar解析时间段引起的。示例代码如下,我通过requet拿到时间段的起始时间和终止时间,然后使用循环,把时间解析处理。例如begin_day="2019-10-17",end_...
2019-10-26 17:28:51
241
原创 springboot文件上传,文件过大导致异常the request was rejected because its size (170982031) exceeds the configured
通过在异常栈信息所在代码可以定位到,如下位置,因为文件大小大于sizeMax值。所以我们接下来的任务是定位到sizeMax是在哪边设置的,是否可以改变这个值的大小在FileUploadBase.java 里面能改变sizeMax变量值的唯一地方是在这里再次出发异常的操作, 上传一个大于限制的文件,跳到断点处,在调试器里面看执行栈信息,如下图,upload变量设置了sizeMax值。s...
2019-10-23 10:08:44
22234
8
原创 spark rdd.map依赖外部文件
先说一说普通的java项目依赖外部文件,在扩展到spark集群上。单节点:maven项目,代码中依赖一个A.mmdb文件。本来代码中写的是绝对路径获取的A.mmdb文件,部署到linxu上的时候需要把路径改了,还得把mmdb文件上传到linux的指定目录上面。所以把mmdb文件放到了项目的resource里面,通过maven打包后,jar包里面存在mmdb文件,在代码中使用如下代码可以...
2019-10-18 11:44:15
235
原创 spark任务代码依赖其他jar包
在spark-submit提交java任务的时候,任务代码依赖其他jar包,需要添加 --jars语法--jars a.jar,b.jar,c.jar例如任务jar包是task.jar, a,b,c,d,e是task.jar依赖的其他jarspark-submit --class classA--master yarn --deploy-mode client --q...
2019-10-18 11:26:04
222
原创 EMR运行spark任务任务失败重试的问题
在EMR上跑spark任务,cluster+yarn。在补数据的时候,就是把主函数,根据日期通过for循环补充数据,一次性补充了2个月的数据。会不定时的出现重试的现象,例如我从8月份补充到10月份,程序跑到8月15号,进行16号的任务是开始重试,又从8.1号开始执行。追踪EMR监控日志,会出现类似AM超出物理内存,被kill掉的日志。当AM被kill掉后,spark重试次数默认是2,所以会出现...
2019-10-16 16:29:10
823
原创 window10系统ie设置代理,保存不了的问题
最近碰到了如下问题,电脑重装了window10系统后,ie没法设置代理,具体表现为,按照下图操作后,点击保存按钮没有反应,设置页面也不会自动关闭。再次进入设置页面,根本没有保存成功。通过window10的系统设置也是一样,点击保存没有反应,再次进入保存页面,根本没有保存成功。谷歌了windows10 proxy setting cant besaved,了后找到一个靠谱的回答。如果大家打...
2019-10-11 13:33:56
7180
2
原创 mybatis缓存
mybatis,一级缓存,https://www.cnblogs.com/ljdblog/p/7123430.html同一个sqlsession的同一个查询,后面的会使用到缓存,缓存放置的问题。spring整合mybatis后,同一个事务下,获取到的sqlsession是同一个。...
2019-09-22 07:46:42
100
原创 mybatis原理
mybatis学习,mybatis在映射入参的时候,会默认占用入参名称,”_paramater",如果mapper中sql里面带有$符,此时会把"value",也占用掉。接口映射处理的bean是MapperFactoryBean,spring中配置会创建在service中注入dao的时候会调getObject,会通过jdk动态代理将dao和代理处理类MapperProxy关联起来...
2019-09-22 07:45:59
87
原创 二叉树
二叉树:https://blog.csdn.net/xiaoquantouer/article/details/65631708一个节点最多有2个分支子节点的树。满二叉树:除了叶子节点的,每个节点必须有2个节点。完全二叉树:定义:一棵二叉树中,只有最下面两层结点的度可以小于2,并且最下层的叶结点集中在靠左的若干位置上,这样的二叉树称为完全二叉树。特点:叶子结点只能出现在...
2019-09-22 07:44:17
77
原创 B树
树B树,balance树,1. B树的定义 https://blog.csdn.net/guoziqing506/article/details/64122287有关于B树概念的定义,不同的资料在表述上有所差别。我在这里采用《算导》中的定义,用最小度t来定义B树。一棵最小度为t的B树是满足如下四个条件的平衡多叉树:每个节点最多包含2t−1个关键字;除根节点外的每个节点至少有t−1...
2019-09-22 07:43:05
198
原创 红黑树
红黑树,http://www.cnblogs.com/skywang12345/p/3245399.htmljava中TreeMap的put方法的原理。一棵含有n个节点的红黑树的高度至多为2log(n+1),所以时间复杂度是红黑树的时间复杂度为: O(lgn)插入的基本原理:将一个节点插入到红黑树中,需要执行哪些步骤呢?首先,将红黑树当作一颗二叉查找树,将节点插入;然后,将节点着色...
2019-09-22 07:42:05
115
原创 内部类
内部类:https://www.cnblogs.com/chenssy/p/3388487.html1.成员内部类,内部类作为一个类的成员函数存在。根据修饰符的不同这个内部类的可见性也是不同的。常用的是默认的default,public。内部类的创建依赖于外部类,需要先new 一个外部类出来2.局部内部类,它是嵌套在方法和作用域内的。3.匿名内部类,它是在放方法中的。4...
2019-09-22 07:39:44
74
原创 java基础总结:
java基础总结:1.面向对象的特性,(1)抽象(2)继承(3)封装(4)多态2.https://www.cnblogs.com/chen-kh/p/6696303.htmljava函数传递的都是值,只不过基本类型传递的是实际值,对象传递的是引用值,就是地址值,这个地址指向的对象和原来的地址是一样的,如果函数体内部改变了这个地址的指向对象,则不会改变原对象。如果这个地址改变了指向对象的...
2019-09-22 07:39:09
77
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人