自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hechenggong159的博客

在此管理与交流学习心得,请各位大佬多指教。

  • 博客(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

转载 TCC分布式事务

https://www.cnblogs.com/jajian/p/10014145.html

2019-06-19 18:12:01 109

转载 Kubernetes简介

https://blog.youkuaiyun.com/kingboyworld/article/details/80966107

2019-06-19 18:10:13 204

转载 自动化运维CICD平台搭建

https://www.jianshu.com/p/4237ed1277ce

2019-06-19 18:09:27 2778 1

转载 服务上线发布方式

在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本。但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果新版本有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:&lt;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。&lt;build&gt; &lt;resources&gt; &lt;resource&gt; &lt;directory&gt;src/main/java&lt;/directory&gt; &lt;includes&gt; ...

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-Mapper使用问题

不要在Mapper注释中使用#{},Mybatis会识别到,导致参数数量不对。

2018-08-28 10:28:05 147

原创 mybatis中ResultMap对应关系

&lt;?xml version="1.0" encoding="UTF-8" ?&gt;&lt;!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" &gt;&lt;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

windows关闭LUA脚本

远程协助提示系统

2020-12-30

空空如也

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

TA关注的人

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