- 博客(54)
- 资源 (1)
- 收藏
- 关注
转载 生产环境Tomcat安全规范
Tomcat的安全生产环境tomcat规范1.更改服务监听端口若 Tomcat 都是放在内网的,则针对 Tomcat 服务的监听地址都是内网地址标准配置:2.telnet管理端口保护修改默认的 8005 管理端口不易猜测(大于1024),但要求端口配置在8000~8999之间修改SHUTDOWN命令为其他字符串标准配置:3.AJP连接端口的保护修改默认的ajp 8009端口为不易冲突(大于1024),但要求端口配置在8000~8999之间通过iptables规则限制ajp端口访问的权限
2021-11-21 09:57:45
303
转载 Mysql8.0版本驱动getTables返回所有库的表
前言本文主要介绍的是关于Mysql8.0驱动getTables返回所有库的表的相关内容,MySQL Connector/J 8.0版本驱动向下兼容之前的5.5+版本MySQL,如果你使用的是5.5+版本MySQL,都可以升级成8.0版本驱动。如果你是使用的5.X版本驱动,需要将Driver Class换成: com.mysql.cj.jdbc.Driver需要注意的是:8.0版本驱动DataSource相关的参数有变化:比如8.0版本驱动将参数 nullCatalogMeansCurrent 的默
2021-10-22 11:14:13
492
原创 Windows关闭LUA
HKEY_LOCAL_MACHINE\SOFTwARE\Microsoft\windows\CurrentVersion\Policies\SystemEnableLUA改为0
2020-08-09 11:56:32
2340
1
原创 分布式复制块设备DRBD
DRBD(Distributed Replicated Block Device,分布式复制块设备)是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。DRBD是镜像块设备,是按数据位镜像成一样的数据块。个人理解为分布式RAID(磁盘阵列)解决方案。...
2020-02-11 00:03:24
219
原创 Mybaits级联
一对多:collection标签,ofType:集合属性中的pojo类型,select:可指定另一个查询。多对一:association标签,select:可指定另一个查询。使用select会导致多次查询,产生N+1问题...
2020-02-10 23:52:58
130
原创 代码检查工具
1.阿里巴巴P3C,在IDE中安装插件即可进行代码检查,具有实时检查等功能。2.SonarQube,开源,区别于P3C,是一个独立的管理平台,拥有独立服务及界面,可以联动Jenkins等工具使用。...
2020-02-10 23:29:20
244
原创 Spring中BeanFactory与ApplicationContext区别
二者都是从Spring容器中获取bean的,个人理解为懒加载和预加载的区别。BeanFactory为懒加载,在调用getBean时才实例化Bean,使用方式如下:XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring.xml"));factory.getBean("bean");Applicat...
2020-02-10 23:21:12
191
原创 Spring注解
javax下的一个注解仅在加载Servlet时运行一次,在构造函数之后,init方法之前执行。Spring框架中也会识别该注解Spring框架Component中的执行顺序:Constructor -》 @Autowired -》 @PostConstruct...
2020-02-10 23:07:09
183
原创 前端跨域解决方案
跨域解决方案1、 通过jsonp跨域2、 document.domain + iframe跨域3、 location.hash + iframe4、 window.name + iframe跨域5、 postMessage跨域6、 跨域资源共享(CORS)7、 nginx代理跨域8、 nodejs中间件代理跨域9、 WebSocket协议跨域详见以下博文:https://se...
2020-02-10 22:46:11
117
原创 全文搜索引擎
主流搜索引擎:Lucene、Solr、ElasticSearchLucene:使用Java编写,是一个代码库,可以理解为引擎,向外暴露API。Solr:基于Lucene开发,理解为对于Lucene的二次包装。ElasticSearch:也是基于Lucene开发,提供分布式的RESTful搜索,具有Web界面。推荐以下博文:https://www.cnblogs.com/jajian/p/9...
2020-02-10 22:43:02
145
原创 如何解决查询N+1问题
1.使用数据库LEFT JOIN来实现,在一次数据库查询中查出多条数据,但是要对结果进行分组组装。但是对于分页支持不好,需要自定义分页插件,现有解决思路如下:编写SQL时,将主表的条件写入到WHERE条件中,将所有LEFT JOIN的条件写到ON中,使用AND来拼接多个条件,然后编写分页插件识别连接查询,将主表外包裹一层子查询,子查询中使用LIMIT关键字来做分页。2.先将主表中的数据查询出来...
2020-02-10 22:35:20
539
原创 Mybaits中模糊查询写法
由于%是xml关键字,所以会导致Mybatis不能正确识别。所以可以通过使用MySQL数据库中的concat以字符串拼接的方法,拼接‘%’但是如果更换了数据库,就不一定支持拼接函数了,Mybaits中有bind动态绑定功能,使用方式如下:<select id="selectList"> <bind name="bind" value="'%'+fiel...
2020-02-10 22:11:36
151
转载 Maven的Scope区别笔记
依赖的Scopescope定义了类包在项目的使用阶段。项目阶段包括: 编译,运行,测试和发布。分类说明compile默认scope为compile,表示为当前依赖参与项目的编译、测试和运行阶段,属于强依赖。打包之时,会达到包里去。test该依赖仅仅参与测试相关的内容,包括测试用例的编译和执行,比如定性的Junit。runtime依赖仅参与运行周期中的使用。一般这种类库都是接口与实现...
2019-10-24 22:18:15
109
原创 NoSuchMethodError
java.lang.NoSuchMethodError这个异常,是在运行时未找到方法导致的。排查导入的Jar包,是否又漏掉的。最重要的是!!!!!!假如有重复导入,也可能会导致该错误,一定要注意。...
2019-07-08 00:00:55
1943
转载 JDK内置工具一览表
https://blog.youkuaiyun.com/u014042066/article/details/78831435
2019-06-28 12:05:24
641
转载 Kubernetes简介
https://blog.youkuaiyun.com/kingboyworld/article/details/80966107
2019-06-19 18:10:13
204
转载 服务上线发布方式
在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本。但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果新版本有BUG,升级失败,回滚起来也非常麻烦,容易造成更长时间的服务不可用。蓝绿部署所谓蓝绿部署,是指同时运行两个版本的应用,如上图所示,蓝绿部署的时候,并不停止掉老版本,而是直接部署一套新版...
2019-06-19 18:07:41
936
转载 多线程场景下如何使用 ArrayList
转载一篇博文如下:https://www.cnblogs.com/zjfjava/p/10217720.html其中介绍了ArrayList的部分源码,以及线程不安全的体现,还有ArrayList线程安全处理。
2019-04-10 18:39:02
411
原创 JavaWeb线程分析以及使用实记
现有如下需求:批量访问某接口,将接口返回数据回写数据库。解决方案:使用循环进行线性访问,然后批量回写数据库。使用消息队列,将流程分为两步,第一步提交到消息队列,第二步回写。建立多个线程来进行访问,接口响应后回写数据库。分别带来的问题:某接口响应时间较长,使用循环来进行线性访问,时间会随着循环次数的增加而增加。需要额外运行消息队列服务,并且需要考虑内存消耗,代价是否划算。如果使...
2019-04-10 14:33:17
202
原创 读取文件的注意事项
读取文件字符的时候,一定要注意文件的编码,先判断文件编码,再使用InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file),"utf-8");切莫直接使用FileReader来进行读取,因为FileReader只能按照JVM默认编码来进行读取。UTF-8转GBK再转回UTF-8是有...
2019-03-25 23:22:56
302
原创 计算字符串Hash摘要时的注意事项
在计算字符串的Hash摘要时,一定要注意字符串的编码,使用Charset.defaultCharset()查看JVM的默认字符编码。不同字符串编码算出来的Hash值是不一样的。可以使用StringBuilder构建字符串,然后转码为固定的StringStringBuilder mingxiSb = new StringBuilder();String mingxi = new String...
2019-03-14 16:35:31
331
原创 JVM编码设置
在Windows环境下,JVM默认编码为GBK。Linux环境下默认编码为UTF-8。那么也就导致在程序中,使用String等类型时,默认采用编码会根据系统的不同使用了不同的编码。可以在运行JVM时指定-Dfile.encoding=utf-8参数来规定编码。在Tomcat中配置catalina文件Linux中,在catalina.sh配置JAVA_OPTS="$JAVA_OPTS -D...
2019-03-05 18:31:22
4590
原创 MySQL中拼接字符串
在MySQL中拼接字符串,不能使用+号,需要使用CONCAT函数进行拼接,而且查询条件的Key字段也可以用这个函数。例如:SELECT * FROM `user` where CONCAT(teleCode,mobile) = '+8618600000000'...
2018-11-15 16:05:28
1544
原创 MySQL+Hibernate实现中文按拼音排序
在MySQL中,GBK编码默认以中文拼音排序,可以将数据库编码改为GBK解决(可以针对于想中文排序的表更改编码,无需整个库都修改),这样OrderBy出来直接就是按中文拼音排序的了。注意一点,更改数据库编码后,并不会将原有数据编码转换,还需要将数据进行转码。alter table 表名 convert to character set gbk;但是如果表中存在GBK编码存储不了的数据,不能...
2018-11-05 14:47:07
1244
原创 Linux文件更改编码
在Windows下编写了一个Shell脚本,上传到Linux中,无法运行。经查找,发现是编码不同的问题。解决方案:1.Linux下使用VI编辑器打开文件。2.查看编码 :set ff3.修改为Unix :set ff=unix4.保存退出 :wq...
2018-10-11 13:55:05
555
原创 图像分割书记
一、简介:其他名称:目标轮廓技术,阈值化技术,图像区分或求差技术,目标检测技术,目标识别技术,目标跟踪技术等,这些技术本身或者核心实际上也是图像分割技术。图像工程:根据抽象程度和研究方法等分为图像处理、图像分析、图像理解。图像处理着重强调在图像之间进行变换以改善图像的视觉效果。图像分析主要是对图像中感兴趣的目标进行检测和测量。图像理解主要是高层操作,基本上是对从描述中抽象出来的数据符号进行运算...
2018-10-09 18:15:26
777
原创 MySQL关键字转义
在SQL语句中,如果有的字段名是关键字,就需要进行转义,例如select index from XXX这里的index就需要进行转义,转义字符是“ ` ”,就是数字一左边的字符。转义后:select `index` from XXX...
2018-09-27 13:13:35
2863
原创 写入文件心得
在写入文件时,一定要写入一个临时文件,然后将源文件删除,再重命名临时文件为源文件。因为在写入过程中,可能存在意外导致写入错误,例如程序突然停止,断电等!这时候写入的文件,如果损坏了,之前写入的数据也就打不开了。如果是临时文件损坏,上一步操作的文件还在,起码有一个回退的余地。情景:写爬虫,需求是从文件中读入数据,抓取文件中URL,之前忘记加忽略的标记了,手贱强制停止了程序,改好运行报错,发现...
2018-09-26 10:47:52
116
原创 Jsoup使用注意事项
使用Jsoup选择器的时候,假如在Elements中的元素有完全相同的两个字段,就会合并为一条记录,导致获取size的时候,会相应的减少一个。
2018-09-23 00:01:46
285
原创 Mybatis插入时返回自增主键ID
如下设置Mapper,keyProperty是实体类的id,keyColumn是字段id,useGeneratedKeys设置为true的时候,调用dao层的时候,原本返回的int值会从影响行数变为自增ID。Mapper:<insert id="insertTest" parameterType="com.test.Entity" useGeneratedKeys="true" key...
2018-09-20 10:59:14
254
原创 Java配置SSL双向认证
从JDK中找到keytool.exe,随便复制到一个方便的目录,在命令行中进入这个目录。第一步:为服务器生成证书 tomcat.keystore,名字就是域名,其他的看着写。keytool -genkey -v -alias tomcat -keyalg RSA -validity 36500 -keystore tomcat.keystore第二步:为客户端生成证书,双向认证时需要客户端安...
2018-09-18 13:48:03
849
2
原创 SpringBoot自定义404、500返回JSON数据
现有的方法,编写全局的异常处理,需要在SpringBoot配置文件中配置没有找到Controller时抛出异常,并且将静态资源映射关闭。因为默认是不抛出异常的,是去找错误页面,所以还需要关闭静态资源映射。但是这样就无法访问静态资源了。以下是解决方法。 当未找到页面时,会调用默认的Controller,就是这个没有值的RequestMapping。 在这个Controller中手动抛出异常,实际...
2018-09-12 14:06:31
5760
3
原创 SpringBoot找不到Dao
默认Maven打包后不包括配置文件,一定要记得手动指定,包括Yml。<build> <resources> <resource> <directory>src/main/java</directory> <includes> ...
2018-09-05 17:17:18
6007
转载 Maven引入本地Jar包并打包进War包中
1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来。拷贝至项目根目录 项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示: 拷贝Jar这4个Jar包是识别网页编码所需的包。配置pom.xml,依赖本地Jar 配置Jar的dependency,包括groupI...
2018-09-05 17:13:22
1219
原创 Java构造方法顺序
Java中类的构造方法,在相同参数个数的情况下,如果有参数类型是Object的构造方法,一定要将该构造方法放在最下边,否则会按顺序解析,调用不到其他的构造方法。...
2018-08-30 15:46:15
229
原创 mybatis中ResultMap对应关系
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="top.hech
2018-08-23 23:42:31
535
转载 Rest风格框架实战
摘要: 本人在前辈《从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式)》一文的基础上,实现了一个基于Spring的符合REST风格的完整Demo,具有MVC分层结构并实现前后端分离,该项目体现了一个具有REST风格项目的基本特征,即具有统一响应结构、 前后台数据流转机制(HTTP消息与Java对象的互相转化机制)、统一的异常处理机制、参数验证机制、Cors跨域请求机制以...
2018-08-09 22:52:13
644
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人