- 博客(25)
- 收藏
- 关注
原创 DBeaver内网安装
我们在内网环境下安装DBeaver时,需要将连接数据库的驱动添加进来,有两种方法1、修改DBeaver的maven仓库下载路径,如下图先随便新建一个数据库,然后右键编辑连接找到maven添加我们的私服路径第二种方式直接在有网路的环境下把你要的驱动相关的jar下载下来,然后一起打包传到内网。然后编辑下驱动用添加文件或者文件夹的方式把jar文件添加进来。个人推荐第一种方式,当然如果条件不允许那就没法了、还有要注意驱动jar包的版本是跟数据库的版本有关系的,比如..
2022-02-24 09:57:07
2208
原创 关于LinkedList与ArrayList查询某个元素的问题
先上我搜到的大部分结论:LinkedList是用空间不连续的链表实现的,get(index)查询时需要遍历每个元素去查找,而ArrayList由于是数组实现,get(index)时,直接根据数组的下标返回元素。这个结论其实是错的!贴上LinkedList根据index获取元素的代码public E get(int index) { checkElementIndex(index); return node(index).item; }//再看这个node
2022-02-11 21:59:33
1289
原创 解决aspose doc转成pdf在linux下汉字成小方框问题
其实这个问题的核心就是linux系统中没有word里面的字体。百度好多方法是去linux安装字体,这样操作起来比较麻烦。因为我们的项目有好多客户现场在用的,这样的话你就要每个现场安装一遍。解决方法就是在将文件流写出之前,加载word里面的字体文件。FontSettings.setFontsFolder(fileFolder, true);fileFolder就是你存放字体ttc文件的文件夹。把这个文件放在配置文件临近的目录就完美的解决了...
2022-01-11 16:47:44
1372
2
转载 java转义字符
1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377' \0:空字符2.Unicode转义字符:\u +四个十六进制数字;0~65535 \u0000:空字符3.特殊字符:就3个 \":双引号 \':单引号 \\:反斜线4.控制字符:5个\'单引号字符\\反斜杠字符\r回车\n换行\f走纸换页\t横向跳格\b退格点的转义:. ==> u002E美元符号的转义:$ ==> u0024...
2021-12-01 15:56:23
344
原创 es script操作
1、比较同一条数据两个字段之间的差异eg:比较两个时间字段相差的天数POST my_date_index/_search{ "size": 0, "aggs": { "my_dates_diff": { "avg": { "script": """ long d1 = doc['created_at'].value.toInstant().toEpochMilli(); long d2 = doc['check_i...
2021-11-30 14:31:04
1851
转载 安装完jdk包含两个jre的问题
JRE 是Java Runtime Environment,是java程序的运行环境。既然是运行,当然要包含JVM(Java Virtual Machine),也就是虚拟机,还需要包含java类库的class文件,在jre/lib目录下打包成了jar。JDK 是Java Development Kit,是java的开发工具包,里面包含了各种类库和工具,当然也包括了另外一个jre。 那么为什么还包含了一个jre文件呢? 可以看到,其中一个jre文件在jdk内部,一个jre文件在jd
2021-11-13 09:05:12
876
原创 判断ip是否在某个ip段
需求:已经配好很多ip段,要判断输入的ip所属的ip段。例如:25.34.35.56要在25.30.0.0~25.40.255.255所属的这个ip段。思路:把划分好的ip段转成long值区间,然后根据输入ip的long值逐个遍历去找。代码:package com.dbapp.pushdataservice.config;import lombok.Data;import java.util.ArrayList;import java.util.List;public c..
2021-11-02 16:10:16
744
转载 基于配置文件实现可配置的定时任务
1、首先配置SpringBoot的定时任务开启@EnableScheduling2、代码实现@Componentpublic class DynamicTask implements SchedulingConfigurer { //需要注入的类 @Autowired private AdvertStatisticTask advertStatisticTask; //时间表达式 每10秒执行一次 private String cron = ".
2021-06-08 14:15:24
668
1
原创 IDEA快捷键,用过都说好
一键格式化代碼:Ctrl+Alt+L全局搜索替换:ctrl+shift+r强大的搜索功能,shift+shift (无论您想要搜啥都能找到)ctrl+shift+R==搜索类 CTRL+N:按照类名搜索类【常规】Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 Ctrl+[OR ],可以跑到大括号的开头与结尾 Ctrl+F...
2020-12-29 09:52:28
118
原创 idea设置中文字体不倾斜
突然有一天发现,idea的中文字体倾斜真心不好看,于是找到的摆正的方法: setting > editor > color scheme > language default > comments > docComment > text 去掉Italic(斜体字)勾选,搞定!其他的地方如果是斜体的,照着去掉这个勾选。收工!...
2020-07-11 10:47:47
2890
1
原创 tomcat漏洞修改
1、删除webapps目录中的docs、examples、host-manager、manager等正式环境用不着的目录,这一步就可以解决大部分漏洞 2、去掉webapps\ROOT中不需要目录和文件 3、解决掉“Slow HTTP Denial of Service Attack“漏洞 Slow HTTP Denial of Service Attack漏洞是利用HTTP PO...
2019-12-21 10:07:58
334
原创 Tomcat开启远程调试
Linux下面修改catalina.sh ,添加:JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9988"Windows下面修改catalina.bat,添加:set "CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_soc...
2019-12-11 19:22:52
132
原创 XSS攻击Filter
private String stripXSS(String value) { if (value != null) { // NOTE: It‘s highly recommended to use the ESAPI library and uncomment the following line to // avoid e...
2019-11-26 19:24:58
251
原创 http请求头详解
为你详细解读HTTP请求头的具体含意来源:https://jingyan.baidu.com/article/375c8e19770f0e25f2a22900.html 当我们打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后网站服务器根据HTTP请求头的内容生成当次请求的内容发送给浏览器。你明白HTTP请求头的具体含意吗?下面一条条的为你详细解读,先看某一次HTTP请求头...
2019-04-24 16:01:22
439
转载 redis实现分布式锁的正确方式
原文链接:http://www.cnblogs.com/linjiqin/p/8003838.html前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博...
2019-03-21 21:40:52
103
转载 分布式锁实现方式
分布式锁的多种实现方式原文链接:https://www.cnblogs.com/yuyutianxia/p/7149363.html目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Parti...
2019-03-21 21:36:26
87
原创 mybatis子查询
如上:这种方式是把对关联表的查询单独拎出来, association的属性有property:查询结果存放的属性,javaType:查询结果返回的类型,select:拎出来的查询语句,而column:相当于是把参数赋给查询语句。我在宁外的地方看到别人把查询语句放在一起,查询结果单独处理的链接:https://blog.csdn.net/qq_36544760/article...
2019-03-21 10:57:13
12266
原创 mysql中key,primary key,unique key
key跟primary key 的含义不同,如果只是key的话就是普通的索引。key是数据库的物理结构,包含两层含义: 1.约束(偏重于约束和规范数据库的完整性) 2.索引(辅助查询用的)primary key:主键(主键索引),只能有一个字段,并且是唯一的。之前碰到一种情况就是,设置自增的字段必须设为主键!主键必须包含唯一的值;主键列不能包含...
2019-03-21 10:56:53
1968
原创 公平锁,非公平锁,乐观锁,悲观锁的概念及应用场景
公平锁:线程在获取锁之前,看是否有队列在等待,如果有的话就按照顺序获取锁,先到先得!非公平锁:直接获取锁,如果没有获取到直接排到队列尾部等待。一般来说,用到的都是非公平锁,非公平锁的性能比公平锁的性能快5—10倍,因为公平锁单独维护了一个队列,如果当前线程不是队列第一个元素则获取不到锁,增加线程切换的次数。java.util.concurrent包下的ReentrantLock类提供的...
2019-03-21 10:56:35
3019
2
原创 并发编程里面的基本概念
上下文切换:cpu是通过时间片分配算法(抢占式的)来循环执行任务的,当前任务执行完一个时间片后会切换到下一个任务。但是切换到下一个任务之前,要保存上一个任务的状态,以便下次切回这个任务时,可以重新加载这个任务的状态。任务从保存状态到重新加载就是一次上下文切换。多线程执行任务不一定比串行执行的快。线程越多,上下文切换所需要的时间越长。因此,创建合理的线程数来执行任务是十分必要的。当然,减少上...
2019-03-21 10:56:19
109
原创 关于线程的40个问题
个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问...
2019-03-21 10:56:02
222
原创 关于post请求与get请求
面试的时候被问到post请求与get请求的区别。讲真,这个平时还真没怎么注意。然后查了一下,总结如下:定义:get:查询字符串的参数(key/value)放在请求的url中。post:请求参数放在请求体中! get post 数据长度的限制 url的最大长度2048个字符 没有限制 应用场合 查询数据 修改数据 历史 参数会保留在...
2019-03-21 10:55:45
96
原创 关于final关键字的问题
java中,final关键字定义的变量不可变,定义的类不能被继承。其中定义的类不能被继承,最典型的例子就是String,这是为了防止String里面的方法被重写。其实也就是说final定义的类不想被重写。 但是定义的变量的不可变的含义可能是需要进一步理解的,这里指的不可变是指引用指向的地址不可变。引用指向的对象的内容还是可变的执行的结果...
2019-03-21 10:55:28
226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人