自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大程程IT笔记

记录随手学习、填坑笔记

  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 RestTemplate调用请求中文乱码解决办法

RestTemplate调用请求中文乱码解决办法一、出现问题的原因二、解决办法一、出现问题的原因RestTemplate在请求调用过程中,利用的HttpMessageConverter类来进行报文转换,以下是部分源码而我们在HttpMessageConventer接口的抽象类AbstractHttpMessageConverter中发现有defaultCharset的字段,并存在set方法/*** Set the default character set, if any. * @since

2021-03-24 08:53:20 3888

原创 Mongodb导出JSON或CSV

Mongodb导出JSON或CSV一、使用工具二、解决思路及办法2.1 快速指导2.2 工具选项含义一、使用工具mongoexport命令行mongoexport是官方提供的可以生成JSON和CSV数据文件的命令行工具,其在安装目录的bin文件夹下。二、解决思路及办法2.1 快速指导导出JSONmongoexport --uri="mongodb://192.168.0.27:27017/test" --collection=operationLog --out=my.json --pret

2021-03-24 08:51:47 1971

原创 SpringLDAP连接LDAPS证书报错解决办法

一、问题背景Java操作LDAP一般通过Spring LDAP比较方便,一般我们都是使用的常规的非加密的389端口,常规的初始化如下:LdapContextSource contextSource = new LdapContextSource();contextSource.setUserDn(config.getUsername());contextSource.setPassword(config.getPassword());String url = "ldap://" + config.

2021-02-03 17:15:35 9234 10

原创 记录项目Mybatis出现报错Error querying database. Cause: java.lang.IndexOutOfBoundsException: Index 9 out of

记录项目Mybatis出现报错Error querying database. Cause: java.lang.IndexOutOfBoundsException: Index 9 out of bounds for length 9错误现象错误原因解决方案错误现象确认SQL没有任何问题,但是在执行时仍然出现以下报错,报错下标越界:IndexOutOfBoundsException: Index 9 out of bounds for length 918:02:19.449 [http-nio-

2020-09-09 18:32:52 10442 3

原创 记录一次jmeter压测结果jtl文件过大(几十G)问题解决办法

记录一次jmeter压测结果jtl文件过大问题解决办法一、背景二、出现问题的原因三、解决问题的办法 一、背景正常jmeter压测(长时间的稳定性测试除外),一般jmeter产生的jtl文件都不会很大,几兆到几十兆,但是我们这次压测的结果,即使200线程组压测出来的jtl文件结果却高达10G,400线程组的压测结果高达30G,仅仅才压了3-8分钟,明显不正常,对于测试结果分析工作非常不便。 二、出现问题的原因最终找了一圈,才发现jmeter的配置文件存在问题,bin目录的配置文

2020-08-14 11:25:50 6506 4

原创 通过实例理解MySQL事务及几种锁(二)

通过实例理解MySQL事务及几种锁(二)前言准备条件一、Mysql中的几种锁概念及示例体验1. 共享锁(读锁、S锁)2. 排它锁(写锁、X锁)3. 意向锁:意向共享锁(IS锁)和意向排它锁(IX锁)4. 表锁5. 行级锁MySQL何时用表锁,何时用行锁呢?6. 间隙锁7. 临键锁8. 自增锁9. 悲观锁(抽象概念)10. 乐观锁(抽象概念)11. 死锁参考资料前言接上一篇《通过实例理解MySQL事务及几种锁(一)》的事务,这一篇我们梳理认识一下MySQL中的几种锁的概念,在介绍每一种锁的时候,会尽量的用

2020-08-04 09:01:42 242

原创 通过实例理解MySQL事务及几种锁(一)

通过实例理解MySQL事务及几种锁(一)前言准备条件一、基本概念二、事务的特性(ACID)三、事务的隔离级别Read UncommittedRead CommitedRepeatable ReadSerializable不可重复读、可重复读、幻读的区别四、Mysql中的几种锁参考资料前言最近项目里有个特殊的BUG,排查了好半天才发现是因为事务引起的。因代码中采用了更精细的编程式事务,与Service方法中的传统事务属于不同事务,因此得不到想要的数据,最终引起BUG。于是,又回头重新复习了一下MySQL的

2020-08-04 09:01:21 289

转载 ie不支持的event.stopPropagation的解决方式

if (event.stopPropagation) { // 针对 Mozilla 和 Opera event.stopPropagation();} else if (window.event) { // 针对 IE window.event.cancelBubble = true;}只要把event.stopPropagation(),替换为上面的代码就可以了https://www.cnblogs.com/olive27/p/6762419.html.

2020-08-03 16:09:26 432

原创 Linux普通用户部署mysql主从-主主模式

Linux普通用户部署mysql主从-主主模式前言一、准备东西二、配置过程2.1 机器131的my.cnf2.2 机器132的my.cnf2.4 重启mysql2.5 备份数据2.6 配置主从复制之前创建授权用户2.7 配置互为主从三、常见的主从同步问题3.1 Slave_SQL_Running:no3.2 Slave_IO_Running:no前言这次我们接着上次的普通用户部署单机mysql的,继续往下尝试mysql的主从/主主模式部署。对单机版mysql安装还不熟悉的,可以回顾一下《Linux普通用

2020-07-21 09:05:59 321

原创 Linux普通用户安装单机mysql5.7

Linux普通用户安装单机mysql 5.7前言一、准备东西二、安装过程2.1 卸载原带mysql(MariaDB)2.2 创建并切换普通用户2.3 解压并安装2.4 启动并修改mysql密码2.5 配置环境变量(可选)前言通常很多网上的安装mysql的教程都是以root用户来安装的,但是我们知道root用户的权限非常之高,在真实的项目环境中,往往要求不能使用root用户来安装和运行软件,防止因为漏洞导致系统被攻击,所以一般会使用有限权限的普通用户来安装软件。我们今天就是要用普通用户来安装一次mysql

2020-07-17 10:01:47 357 1

原创 从lombok的val和var到JDK的var关键字

从lombok的@val和@var到JDK的var关键字前言一、Lombok中的val和var1.1 lombok.val1.2 lombok.var二、Java中的var关键字2.1 如何使用?2.2 为什么推出var关键字?三、该如何抉择呢?Reference前言近期因项目中的开源框架版本升级导致项目的整体jdk版本被迫从万年的java8升级到了java11,于是我们也从该开源框架中看到了对于我来说一个比较陌生的身影—val,于是便开始一小波的学习。一、Lombok中的val和var1.1

2020-06-23 11:36:37 10705 2

原创 记录使用IE打开网页报错SCRIPT1028: 缺少标识符、字符串或数字的解决办法

报错SCRIPT1028: 缺少标识符、字符串或数字的解决办法一、问题现象二、解决办法2.1 造成问题的原因2.2 解决办法Reference一、问题现象项目网页使用IE11的兼容性视图模式(即IE7模式)渲染页面,页面一片空白,打开控制台,发现报错SCRIPT1028: 缺少标识符、字符串或数字,如图:点开报错,发现是在一个JSON处的报错:二、解决办法2.1 造成问题的原因首先我们点了一下报错的超链接,跳到一个微软的官方文档,描述如下:显而易见就是语法问题了。经过仔细排查才发现是第8

2020-06-18 14:24:24 4049

原创 通过源码重新认识Java集合迭代遍历增删元素时出现的ConcurrentModificationException及奇怪现象

Java集合循环时删除元素的怪异表现前言一、场景设定二、怪异现象2.1前言我们经常会在项目里遇到那种需要过滤无效数据的场景,较普通常规的做法就是在循环遍历的时候,将不符合要求的元素移出集合得到我们想要的结果。但是如果对集合的理解有偏差的话,可能会出现一些奇怪的现象哦,今天就一起回顾一下。一、场景设定假设有一个集合list为[11、22、22、33],现在的要求是我们不需要其中的22元素,但是我们又不知道其中元素的顺序,该如何操作呢?二、怪异现象2.1...

2020-06-14 10:26:01 291

原创 记录Maven打包时每次都出现Download maven-metadata.xml卡住的问题解决办法

目录一、问题描述二、解决办法解决方式(1)解决方式(2)一、问题描述项目每次打包的时候,都要联网加载maven仓库(或私服),从仓库中下载jar包或者标题中提到的maven-metadata.xml文件。明明本地仓库中依赖包都有还是下载,导致每次打包的时候如果网络不好或者没网的时候就打不了包了或者卡很久才跳过去,搞的我很烦燥。 二、解决办法解决方式(1)据说把IDEA的maven设置改成offline就可以了(Eclipse同理) 解决方式(2)虽然(1)有的人说有效

2020-06-12 09:00:37 12713 4

原创 Linux学习之文件权限

Linux学习之文件权限前言一、权限身份二、权限描述三、文件权限修改(1)三个命令(2)权限修改(3) rwx权限对于文件和目录的含义不同前言之前没系统学习Linux文件权限,经常在安装软件的时候,面对教程上写的以下一类的命令一脸懵逼chmod 755 start.shchmod a+w start.shchgrp guest start.shchown guest start.sh虽然知道以上都是用于调整文件权限的,755 权限是什么权限?a+w有代表什么?chmod、chgrp、chow

2020-06-07 00:32:34 1603

原创 Linux学习之命令该如何记?

Linux学习之命令该如何记?Linux命令的基本格式Linux命令帮助手册相信很多人跟我一样,众多的Linux命令不知道该如何记(背),什么时候该用-符号,什么时候该用–符号?其实对于我自己来说,当然经常记住固定用法,经常使用是一种方式,这固然是常规做法,但是往往也有很多命令咱做不到一直用,所以经常是前面看了后面忘,然后到了真正需要某个命令的时候,可能因为完全想不起来而限制了我们的想法。因此,我还是觉得某些时候需要了解一下其中的一些规律和设计原理,可能更有助于记忆,或留有映象,比如我之前sed命令的那一

2020-06-07 00:27:01 410

原创 记录一次SpringBoot项目启动报错Topic(s) [operationLog] is/are not present and missingTopicsFatal is true

启动现象:项目启动之后,会停留在连接kafka的地方,大约停留2分钟左右,然后报错:Topic(s) [operationLog, userAuthLog] is/are not present and missingTopicsFatal is true19:37:49.266 [main] ERROR o.springframework.boot.SpringApplication - Application run failedorg.springframework.context.Applic

2020-06-02 18:33:43 5065 1

原创 重新认识正则表达式

重新认识正则表达式前言一、基础知识回顾1.1 基础语法二、进阶知识2.1 DFA引擎和NFA引擎2.2 贪婪模式与非贪婪模式2.3 独占模式2.4 回溯2.4.1 匹配基本过程2.4.2 回溯图解2.5 正向预查和反向预查(也有叫做环视)三、Java正则表达式API四、问题答案Reference前言阅读对象:有正则表达式基础的提几个有关正则表达式的问题检验一下,要求用正则表达式解决:如何利用正则表达式查找到字符串“Hello lolipop! love you, solo?”中以lo结尾的单词?

2020-05-31 19:25:18 529

原创 Linux利器学习之sed命令

Linux利器学习之sed命令前言一、sed是什么?二、sed的语法2.1 基础语法2.2 参数说明2.3 script说明三、sed示例练习3.1 增3.2 删3.3 改3.4 查3.5 复合操作四、sed的优势Reference前言网上很多Linux学习都是简单的把命令列出来,然后背,但是这样的结果就是如果不是经常用的话就是前面记后面忘,而且记得不全。所以我决定换个方式学习Linux的常用命令。今天就从sed开始,学好这个工具,对于我们平常在linux做项目部署运维相当有帮助,能大大提高我们的工作效

2020-05-27 09:44:56 396

原创 Java发送邮件(二)之Spring

Java发送邮件(二)之Spring前言一、引入依赖二、配置参数2.1 application.properties2.2 自动装配参数三、邮件发送3.1 发送demo3.2 关于MimeMessageHelper四、进阶用法4.1 如何发送高级格式的邮件呢,如html?4.2 如何发送模板动态内容解析的邮件呢?前言之前的博客《Java发送邮件(一)之JavaMail》中介绍了如何利用原生JavaMail发送邮件,但是操作上略显复杂,这个时候我们的万金油框架Spring就来了,Spring在JavaMa

2020-05-25 22:50:17 379

原创 Java发送邮件(一)之JavaMail

Java发送邮件(一)之JavaMail前言一、什么是SMTP、POP3、IMAP?二、利用JavaMail发送邮件2.1 引入依赖:2.2 设置发件人邮件的SMTP服务2.3 API使用2.4 API使用时的问题2.4.1 如何设置多个收件人(抄送人)?2.4.2 RecipientType的类型有哪些?分别代表什么?2.4.3 如何发送带格式的邮件,比如html?2.4.4 邮件发送时乱码怎么办?2.4.5 发送邮件时报错java.lang.ClassNotFoundException: com.sun

2020-05-25 22:48:59 1119

原创 html中的DOCTYPE是什么?(XML进阶之DTD)

XML进阶之DTD1、问题2、DTD是什么?3、DTD如何使用?4、DTD的语法4.1 复习XML4.2 DTD元素定义4.3 DTD属性定义4.4 DTD实体定义4.5 DTD如何进行验证?5、结论Reference1、问题了解过HTML文档的都知道,在HTML文档的第一行有这么一句:<!DOCTYPE html>或者是这样的(HTML4.0系列的声明):<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www

2020-05-24 15:18:56 808

原创 Windows快速搭建FTP服务器

Windows快速搭建FTP服务器一、准备条件二、搭建过程2.1 配置IIS Web服务器2.2 在IIS中配置FTP站点2.3 测试FTP站点2.4 创建FTP用户三、搭建问题3.1 如何改变FTP的登录访问设置?3.2 机器IP发生变化了,如何修改IP地址或端口?3.3 如何设置多IP?一、准备条件Windows操作系统二、搭建过程2.1 配置IIS Web服务器(1)依次打开 控制面板 -> 程序 -> 启用或关闭windows功能上述操作也可以直接使用Win+R, 在运行

2020-05-21 16:09:25 18776 3

原创 一文了解Java对象的克隆,深浅拷贝(克隆)

Java对象的克隆,深浅拷贝(克隆)一、什么是对象的克隆?二、如何进行对象克隆?三、测试(浅克隆)四、深拷贝(深克隆)(1)clone函数的嵌套调用(2)对象的序列化和反序列化附Java doc原文:参考资料一、什么是对象的克隆?在Java的Object类中,有一个方法名为clone(),直译过来就是克隆,核心概念就是复制对象并返回一个新的对象。protected native Object...

2020-05-04 19:16:27 386

原创 Nginx日志切割清理

一、实现原理利用shell脚本将当天的日志文件剪切到指定目录,然后nginx使用新的日志文件重新记录日志,定时任务利用linux自带的crontab定时器实现定时自动触发。二、脚本开发创建脚本文件如nginx_log_cut.sh,将下面的文件内容复制到文件中保存。#!/bin/bash# nginx的安装目录NG_HOME=/usr/local/nginx# nginx成功日志的文...

2020-04-22 14:28:51 218

原创 SpringCloud Gateway系列(一)基本概念及入门使用

目录简要介绍需要关注的术语工作原理开始上手两个基础抽象类和接口参考资料简要介绍SpringCloud Gateway是基于Spring构建的一个API网关,它旨在提供一种简单而有效的方式实现API接口路由。特性:最新版本基于Spring 5/SpringBoot 2.0;能够针对任何请求属性匹配路由;对特定的路由请求进行断言和过滤;集成Hystrix断路器;集成SpringClo...

2020-04-11 23:31:35 491

javamail使用demo示例

JavaMail官方提供的demo使用样例,里面包含了各种邮件使用场景的示例代码,可直接copy过来使用学习。

2020-05-24

Nginx日志切割清理脚本

利用crontab定时机制触发shell脚本,自动切割nginx的日志文件,并实现自动清理,可直接在服务器上上传使用

2020-04-22

空空如也

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

TA关注的人

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