自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 redis多种模式部署(持续更新)

1 部署说明相关版本说明如下:当前操作系统: CentOS Linux release 7.3.1611redis版本:5.0.8此文章,主要讲解redis的部署方式,redis有单机部署模式和集群部署模式,其中,集群模式有:主从模式、哨兵模式、Cluster模式。本文将持续更新,完善redis的所有部署方式。2 单机模式2.1 下载#选择目录cd /opt#在线下载wget http://download.redis.io/releases/redis-5.0.8.tar.gz

2021-03-22 19:24:47 237

原创 Tesseract-OCR图片识别为文字

1 场景识别图片中的文字(识别图片中的电话号码、姓名等)2 方案使用Tesseract OCR软件来识别图片内容官网:https://github.com/tesseract-ocr/tesseract来自官方解释:这个包包含一个OCR引擎- libtesseract和一个命令行程序- tesseractTesseract支持各种输出格式:纯文本、hOCR (HTML)、PDF、不可见的纯文本PDF、TSV。主分支还实验性地支持ALTO (XML)输出。3 windows下安装3.1

2021-03-22 19:24:39 967

原创 网页表单回车自动提交问题

1 当前问题网页中,一个form表单中如果type为text的input元素只有一个,输入焦点在text中时,回车表单将会自动提交(如指定表单的action属性,会提交到对应action,如未指定表单的action属性,则会刷新当前页面)。此种情况,经常出现在查询区域的表单中,当查询区域text类型的input只有一个时,输入内容回车页面将会自动提交。注意:这里说的form表单中的type为text的input元素只有一个,并不是说表单中只有一个元素,此时表单中可以有其他类型的元素(如checkbox

2021-03-22 19:24:31 447

原创 下载maven依赖到指定目录

1 场景将maven依赖jar包和依赖jar包拷贝到指定目录2 方案使用maven插件maven-dependency-plugin3 代码3.1 目录libpom.xmldownloadMvn.bat(1)lib为空文件夹(目标文件夹)(2)pom.xml文件内容如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"

2021-03-22 19:24:24 1725

原创 静态资源URL写法

文章目录"/":代表URL根路径。即截止到端口的后面的/。"./":代表Web工程的根路径。即发布的web项目的跟路径,推荐此写法。如web工程跟路径为:http://localhost:8080/sa-admin要访问的静态资源图片路径为:http://localhost:8080/sa_admin/resources/plugin/layui/images/face/1.gif(1)在网页中,引入图片,需用如下代码:<img src="./resources/plugin/la

2021-03-22 19:24:16 351

原创 Mysql表用自增主键的选型

文章目录1. 版本说明2. 说明3. 场景选型1. 版本说明基于mysql版本:5.6.27mysql数据库引擎:InnoDb2. 说明InnoDb的索引特性,导致的自增id做主键是效率最高的。存储上自增id占用的存储空间比uui小。InnoDb在存在主键的情况下,使用主键建立聚簇索引,InnoDb的聚簇索引建立的B+树节点,索引和数据在一起(对应的数据为主键内容),通过节点中存储的主键进行关联行数据信息而二级索引信息。uuid占用空间比自增主键大,会导致建立的索引占用空间大,检索慢。

2021-03-22 19:24:04 325

原创 Lua整理

文章目录1 简介2 安装2.1 网页运行地址2.2 linux安装2.3 windows安装2.3.1 安装LuaForWindows2.3.2 Idea安装插件2 编程方式3 注释3.1单行注释3.2 多行注释3 数据类型3.1 nil3.2 boolean3.3 string3.4 number3.4.1 隐式转换3.5 table3.5.1 初始化3.5.2 设置获取值3.6 function3.6.1 格式3.6.2 参数3.6.3 返回值3.6.4 First-Class Value3.6.5 匿

2021-03-22 19:23:55 514

原创 Linux防火墙设置IP端口白名单

文章目录1. 版本说明2.举例说明1. 版本说明Linux系统版本:Centos7.3.16112.举例说明只允许192.168.1.121,192.168.1.122两台机器访问本机器的8080端口:#清空liux的默认防火墙列表规则iptables -F#关闭防火墙入站规则中的8080端口iptables -I INPUT -p tcp --dport 8080 -j DROP#为指定IP服务器开通本服务器防火墙上的8080入站TCP规则iptables -I INPUT -s

2021-03-22 19:23:46 1599

原创 Jdk自带bin目录命令

文章目录1. 版本2. 命令详解2.1 jps2.1.1 参数详解2.1.2 示例2.2 jinfo2.2.1 参数详解2.2.2 示例2.3 jstack1. 版本操作系统:win10jdk版本:1.8.0_1212. 命令详解2.1 jps**全称:**Java Virtual Machine Process Status Tool**用途:**用于查看当前系统的所有进程2.1.1 参数详解参数用途-help查看帮助信息-q只显示pid-m输出传递

2021-03-22 19:23:37 295

原创 idea配置阿里格式化模板+注释模板

文章目录1 背景1.1 开发工具1.2 代码格式化模板1.3 注释模板2 下载模板文件3 IDEA代码格式化3.2 配置代码格式3.3 使用4 IDEA代码注释配置4.1 配置全局中USER4.2 配置类注释模板4.3 配置方法注释4.3.1 配置流程4.3.2 配置参数4.3.3 使用4.3.2 注意事项4.4 补充(关于类注释)4.4.1 配置流程4.4.2 配置参数4.4.3 使用1 背景本文意在将idea中的代码格式和注释格式进行统一化。研发团队的成员的代码格式和注释格式建议统一化。统一的代

2021-03-22 19:23:25 3133 1

原创 springboot中mongodb自定义类型转换器

1 场景1.1 BigDecimal写入mongo如在springboot中集成mongoDb,将使用mongoTemplate操作mongo数据库。java中使用mongoTemplate面临一个问题, 向数据库写入数据时,如果java中映射的属性类型为BigDecimal,该属性映射到mongo中对应的的类型为String,显然这是不符合我们期待的。会导致如下问题:(1)查询排序将按照字符串排序,而不是按照数值排序(2)大于、大于等于类似的数值查询方式,会受影响,仍然按照字符串进行匹配原因

2021-03-21 09:52:50 2372 4

原创 springBoot引入spring配置文件

1 场景springBoot中新增或更改默认配置,基本是使用@Configuration、@Bean、@Component等注解来实现,和之前的spring中的xml配置文件配置的方式完全不同。需注意:springBoot中也可以加载原始的xml配置文件的方式来配置spring。比如,作者之前在使用springBoot配置时,对于springBoot的注解式事务不是很喜欢。会使用spring的xml配置文件,将原springMvc中使用的声明式事务配置在xml文件中,再引入到springBoot中,通

2021-03-21 09:52:07 462

原创 Spring拦截器

文章目录1. 简介2. 作用3. 与Filter过滤器区别4. 使用4.1 拦截器实现类4.1.1 实现接口HandlerInterceptor4.2 配置xml5. 方法说明5.1 preHandle5.2 postHandle5.3 afterCompletion1. 简介SpringMvc的处理器拦截器类Interceptor似于Servlet容器中的过滤器Filter。用于对处理器(Controller方法)进行预处理和后处理。底层通过动态代理模式完成。存在多个拦截器时,拦截器执行链内的拦

2021-03-21 09:51:57 154

原创 cron表达式

文章目录1. 简介1.1 说明1.2 用途2. 字符类型及含义2.1 每个域支持的字符类型2.2 字符说明1. 简介1.1 说明cron表达式是一个字符串,是由空格隔开的6或7个域组成,每一个域一个含义。每个域含义分别为(前6个必选,年为可选):秒 分 时 日 月 周 年1.2 用途quarz框架定时任务表达式。支持6或7个域。spring schedule定时任务表达式。仅支持前6个域。2. 字符类型及含义2.1 每个域支持的字符类型域支持字符数值有效范围

2021-03-21 09:51:34 82

原创 Jdbc普通查询、流式查询、游标查询

文章目录1. 版本说明及依赖2. 普通查询2.1 优点2.2 缺点2.2 代码示例3. 流式查询2.1 优点2.2 缺点2.2 代码示例4. 游标查询2.1 优点2.2 缺点2.2 代码示例1. 版本说明及依赖Jdk版本: jdk1.8.0_121引入maven依赖<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId&gt

2021-03-21 09:51:22 2037

原创 Jdk8之Lambda表达式

文章目录1. Lambda表达式1.1 定义1.2 基本语法1.3 实现依据1.4 代码2. 函数式接口2.1 定义2.2 代码2.2.1 不带返回值的抽象方法2.2.2 带返回值的抽象方法3. 方法引用3.1 含义3.2 适用场景3.3 四种形式3.4 代码3.4.1 静态方法引用3.4.2 构造器引用3.4.3 类的任意对象的实例方法引用3.4.4 特定对象的实例方法引用3.4 建议1. Lambda表达式1.1 定义lambda表达式是一个匿名函数,作为一种紧凑的代码风格,使它设计的代码会更简洁

2021-03-21 09:51:13 844

原创 Jdk并发线程处理CountDownLatch、CyclicBarrier、Semaphore

文章目录1. CountDownLatch1.1 描述1.2 业务场景1.3 代码2. CyclicBarrier2.1 说明2.2 应用2.3 代码3. Semaphore3.1 说明3.2 应用3.3 代码3.1.1 获取一个许可3.1.2 获取多个许可3.1.3 尝试获取许可3.1.4 指定时间内尝试获取许可4. 补充(引用其他网友)Java并发包提供了三个类,处理并发线程:CountdownLatch、Semaphore、CyclicBarrier。1. CountDownLatch1.1 描

2021-03-21 09:51:05 148

原创 linux环境下内存溢出分析MAT

文章目录1 下载及安装mat1.1 下载地址1.2 查看服务器版本1.3 下载安装2 配置3 运行4 分析1 下载及安装mat1.1 下载地址https://www.eclipse.org/mat/downloads.php1.2 查看服务器版本[root@localhost dump]# uname -mx86_641.3 下载安装根据服务器版本,下载对应安装包,下载速度慢时,可选择对应的镜像下载MemoryAnalyzer-1.9.2.20200115-linux.gtk.x86_64

2021-03-21 09:50:54 402

原创 SimpleDateFormat线程不安全及解决方案

文章目录1 SimpleDateFormat介绍2 线程不安全的原因3 错误信息3.1 parse报错3.1.1 异常信息3.1.3 计算错误信息3.2 format报错4 解决方案4.1 每次创建新的DateFormat4.2 线程内变量ThreadLocal4.2 线程安全的 DateTimeFormatter1 SimpleDateFormat介绍SimpleDateFormat是DateFormat类的主要子类,用于日期格式的转换。2 线程不安全的原因DateFormat类中,有个prote

2021-03-21 09:50:41 3938

原创 内存溢出与内存泄露

文章目录1 内存泄露与内存溢出的区别1.1 内存泄露1.2 内存溢出2 出现的场景2.1 内存泄露出现的场景2.2.1 更改对象哈希值运算相关的参数2.2.2 ThreadLocal使用不当导致内存泄露2.2 内存溢出出现的场景2.2.1 堆内存溢出2.2.2 方法区内存溢出2.2.3 线程栈溢出1 内存泄露与内存溢出的区别1.1 内存泄露内存泄露(Memory Leak),指的是堆内存中被分配的对象无用处了,仍然GC ROOT可达,无法回收。简单来说,就是程序执行时时,临时对象已无用处了,按理对象

2021-03-21 09:50:24 376

原创 servlet的url-pattern匹配规则

文章目录1. 说明2. 匹配规则2.1 精准匹配2.2 路径匹配2.3 扩展名匹配2.4 缺省匹配3. 匹配顺序(重要)4. 注意问题4.1 “路径匹配”和“扩展名匹配”不可同时设置。4.2 "/*"和"/"含义的区别1. 说明(1)servlet容器中url-pattern匹配规则不是简单的字符串匹配,也不是正则表达式匹配,而是通过特定的规则进行匹配(匹配优先级、完全匹配、长路径匹配优先、特殊默认匹配等规则)(2)servlet2.5开始,一个servlet可以有多个url-pattern规则。(

2021-03-20 07:32:23 1192

原创 Tcp三次握手、四次挥手

文章目录1. 三次握手1.1 三次握手的过程1.2 tcp三次握手为什么是必须的呢?1.3 为什么要有第三次握手?1.4 为什么三次握手,可以避免上述情况?2. 四次挥手1. 三次握手1.1 三次握手的过程客户端发起第一次握手,传递SYN请求,等待服务器确认。服务器收到客户端发起的请求,传递对客户端发起请求的确认信息ACK和向客户端发起的连接请求SYN,等待客户端确认。客户端收到服务器端发送的ACK和SYN,处于连接完成状态,并发送对服务器端的确认ACK到服务器端。服务器端收到客户端返回的AC

2021-03-20 07:32:14 67

原创 Web容器默认的servlet

文章目录1.1 各类Web服务器默认servlet名称1.2 查看默认servlet1.3 tomcat解析JSP对应的servlet1.1 各类Web服务器默认servlet名称Web容器默认servlet名称Tomcat, Jetty, JBoss, and GlassFishdefaultGoogle App Engine_ah_defaultResinresin-fileWebLogicFileServletWebSphereSimpleFi

2021-03-20 07:32:02 292

原创 单例模式

文章目录1. 饿汉模式1.1 优点1.2 缺点1.3 代码1.4 用法2. 懒汉模式(线程安全)2.1 代码3. 懒汉模式(线程安全+双重判定)3.1 代码4. 静态内部类模式4.1 代码5. 枚举模式5.1 代码5.2 应用1. 饿汉模式在类加载的时候,将实例instance创建出来。1.1 优点简单,可靠。1.2 缺点在类加载的时候,加载单例实例,如实例比较复杂,将大大增加类加载过程中JVM的负担。1.3 代码public class Singleton { private

2021-03-20 07:31:52 69

原创 静态方法获取spring的bean实例

1 场景spring命名空间中的bean,正常情况下可以使用@Autoware注解加在成员变量上注入,注入成功的前提是注入的对象必须已经是spring命名空间中的bean才可以。当前有一种需求:通过工具类的静态方法,获取spring中的bean。2 思路(1)定义bean(2)bean实现ApplicationContextAware接口3 代码3.1 定义bean/** * spring上下文句柄 */public class SpringContextHolder implemen

2021-03-20 07:31:40 3636 1

原创 Windows安装版Tomcat8配置优化

tomcat当前版本:apache-tomcat-8.5.131 安装Tomcat8为Windows服务windows环境下,tomcat8的bin安装目录下,执行:service.bat install如下提示,则Tomcat安装成功:同时,服务项中生成如下服务:2 执行并配置安装版Tomcattomcat bin安装目录下,双击执行tomcat8w.exe:选择卡片Java,如下:(1)修改JVM堆内存:Initial memory pool:4096(对应-Xms)Max

2021-03-20 07:31:16 624

原创 spring整合mybatis

1 场景spring中整合mybatis。mybatis官网: https://mybatis.org/mybatis-3/zh/index.htmlspring-mybatis官网: http://mybatis.org/spring/zh/index.html1.1 版本说明**jdk版本:**1.8spring版本:5.2.2.RELEASEmysql版本:5.6.27 innoDb数据库引擎1.2 代码地址https://github.com/yjhcpdd/mymvc1.3 项

2021-03-20 07:31:07 398

原创 mongoTemplate使用游标查询海量数据

1 场景java中,mongo中查询海量数据时,如果将数据全部查询出来进行处理,会占用大量的堆内存,容易导致内存溢出,程序崩溃。面对此问题,通常采用的问题是分页查询:先查询总数,再根据总数进行分页查询。mongo 在分页查询时,如果数据量特别大,查询到后面的页,会越来越慢。此种情况,可以根据实际情况,对数据进行排序查询后,查询条件加上大于上页最后一条数据的排序键来提升速度(这种查询方式,当数据量比加大时,也可在前台页面分页查询时使用)。这里,我们使用mongo查询中更友好的查询方式:游标,来实现在m

2021-03-20 07:30:51 2402

原创 spring整合logback

1 场景spring中整合logback。logback官网: http://logback.qos.ch/self4j官网: http://www.slf4j.org/1.1 版本说明jdk版本: 1.8spring版本:5.2.2.RELEASElogback版本:1.2.31.2 代码地址https://github.com/yjhcpdd/mymvc1.3 项目结构--java--resources --conf --properties -logba

2021-03-19 07:25:11 2684 1

原创 spring整合jedis(单节点)

1 场景spring中使用jedis整合单节点redis。redis官网: https://redis.io/spring集成redis官网: https://spring.io/projects/spring-data-redis1.1 版本说明jdk版本: 1.8spring版本:5.2.2.RELEASEspring-data-redis版本: 2.3.2.RELEASEjedis版本: 3.3.0redis版本:5.0.8连接redis组件: jedisredis部署方式: 单

2021-03-19 07:25:01 454

原创 restTemplate配置及使用

1 场景java开发中,使用http连接,访问第三方网络接口,通常使用的连接工具为HttpClient和OKHttp。这两种连接工具,使用起来比较复杂,新手容易出问题。如果使用spring框架,可以使用restTemplate来进行http连接请求。restTemplate默认的连接方式是java中的HttpConnection,可以使用ClientHttpRequestFactory指定不同的HTTP连接方式。2 依赖maven依赖如下:<dependency> <g

2021-03-19 07:24:50 5212

原创 mysql内置加密函数对数据加密

1 目的有些业务场景,数据库中的敏感数据需要存储为密文形式,这里使用mysql内置加密函数对数据进行加密。2 加密算法对称加密算法:AES加密后数据转换为:十六进制3 内置函数说明函数说明AES_ENCRYPT(字符串,秘钥)加密函数AES_DECRYPT(字符串,秘钥)解密函数HEX(二进制字符串)二进制转十六进制UNHEX(十六进制字符串)十六进制转 二进制4 加密、解密入口自定义mysql函数。使用自定义函数进行加密和解密,当前需要更改

2021-03-19 07:24:34 1514

原创 maven打包可执行jar

1 场景1.1 功能通过maven名称生成可执行jar。1.2 特性(1)jar可读取外部配置文件(2)生成doc、执行脚本文件(3)打包时生产环境配置文件替换开发配置文件1.3 依赖maven插件(1)maven-jar-plugin(2)maven-assembly-plugin2 实现2.1 代码目录结构项目名称:mysql-doc,用于生成mysql数据库表结构到excelsrc -main -config -assembly -package.xml

2021-03-19 07:24:21 220

原创 jep(java表达式分析器)简介

1 简介jep是Java expression parser的简称,即java 表达式转换器。能够将字符串形式的公式,配置对应的参数得到计算结果。属于比较老的项目,最新版本Jep 3.5,官网最后一次维护为2018年7月。官网: http://www.singularsys.com/jep/中文参考网站: https://www.ibm.com/developerworks/cn/java/j-lo-jep/官网介绍如下:Jep Java仅用几行代码解析和计算数学表达式。这个包允许用户以字符

2021-03-19 07:24:03 10122 1

原创 java字符串相关知识

本文整理下java中字符串的相关知识,持续更新。基于jdk版本:jdk8。1 基本知识1.1 String是否是基本类型?String不属于基本类型,String是jdk包中的一个类,类路径:java.lang.String。java中的8种基本数据类型:byte(1个字节,8位),short(2个字节,16位),int(4个字节,32位),long(8个字节,64位),float(4个字节,32位),double(8个字节,64位),boolean,char1.2 创建String的方式(

2021-03-19 07:23:53 55

原创 java中枚举表示数据状态

1 场景本文主要讲下java程序中对于状态数据的状态代码和状态名称如何管理的问题。对于数据的状态,程序中,经常不会存储状态的名称,而会存储状态对应的代码。每个java后端开发,面对数据库中的一个字段注释:del_flag 删除状态(0:正常;1:删除;)都会纠结一个问题,在java代码中,这个字段delFlag值对应的0和1和分别对应的含义正常、删除,写在java代码的哪个地方比较合适?很多人认为这个对于很大的项目来说无非是个很小的事,写在哪里,无所谓,都不会影响我们的项目。讲道理,这个无法

2021-03-19 07:23:45 1599

原创 java性能测试jmh

1 简介jmh主要用于开发人员进行性能压测,代替手动编写相关程序。官网:http://openjdk.java.net/projects/code-tools/jmh/JMH是一个Java工具,用于构建、运行和分析用Java和其他语言编写的针对JVM的nano/micro/milli/宏基准测试。2 使用2.1 maven依赖<dependency> <groupId>org.openjdk.jmh</groupId> <artifac

2021-03-19 07:23:12 127

原创 idea控制台中文乱码问题

1 场景idea在控制台输出打印的时候,输出的内容有两种,一种是标准设备输出(如System.out.println),一种是日志输出(如log4j)。默认情况下,标准设备输出中文无乱码,控制台输出中文存在乱码。因此需要进行设置,保证两种控制台输出中文正常。2 步骤(1)help->EditCustom VM Options…配置文件中追加内容(重启idea后生效):-Dfile.encoding=UTF-8(2)Run/Debug Configurations->tomcat-

2021-03-19 07:23:00 109

原创 IDEA环境配置

根据自己开发习惯记录下IDEA的相关配置,基于IDEA版本:2020.1.41 必要配置更改所有运行空间配置1.1 设置编码File->Settings->Editor->File Encodings设置文件编码格式为UTF-81.2 代码提示取消大小写1.3 配置自动编译这样配合 Server 时,可以实现基本的热部署功能(修改方法内代码,或者增加 private 方法时,都能立即生效)1.4 排除显示无用文件.idea;*.iml;target;2 环

2021-03-18 20:52:33 355

原创 git命令整理

1 说明本文主要记录日常工作中,git使用过程中的常用命令。后续会持续更新完善。2 环境配置2.1 参数配置git客户端安装完毕后,需要进行变量配置。主要配置user.name和user.email两个属性,用来标识git操作者的身份。(1)查看全局所有配置git config --global --list(2)查看全局某个属性配置git config --global user.namegit config --global user.email(3)设置全局属性git con

2021-03-18 20:52:19 125

空空如也

空空如也

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

TA关注的人

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