自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 本地项目提交 Github

打开 Idea ,选择 VCS 菜单栏,展开后,选择 Create Git Repositorie ,再选择需要提交的项目。将代码,提交到本地,第二个红框是让你填写提交信息,图示是已经提交到本地的情况,没有提交到本地时,会显示那些文件会被提交。创建完成之后,找到存储库的 ssh 地址或 https 地址,这取决于你自己的配置,此处不再展开说。填写存储库地址,推送到刚刚创建的 Github 存储库。右击项目,选择 Git 菜单栏,展开后,选择 Add。使用注册好的 Github 账号,登陆。

2024-04-09 23:07:54 298

原创 常用的正则表达式

【代码】常用的正则表达式。

2024-04-07 10:46:43 72

原创 系统交互造成乱码

第二种(适用范围很广,可以具体到单个对象属性)这种方式对文件名乱码,尤其有效。

2024-04-03 18:59:53 226

原创 Jsch 使用过程中遇到的问题及解决方法

*注意:**笔者是通过用户名+密码的方式,获取连接,也可以通过公私钥的方式获取,就不再进行代码演示。每次获取 session 连接时,从缓存中获取,如果 session 连接失效,(该步加锁,避免竞争问题)则从缓存中删除连接,并重新获取并放到缓存中。以上的版本是笔者正在使用的,目前没有发现有安全漏洞,但是,该项目已经有很长时间没有维护了。使用缓存将已获取的 session 连接存储起来,每次都从缓存中获取,使用前都验证下看 session 连接是否失效。session 连接失效,无法下载文件的问题?

2023-11-27 14:34:28 484

原创 RedisTemplate 使用 pipeline 时需要注意的问题

看源码,RedisTemplate 也是把 key 和 value 都转为了字节,但是使用了我们自己设置的 Serializer ,所以,我们在使用 pipeline 时,也需要使用我们设置的 Serializer。根据源码来看,Redis 的其他数据结构,使用 pipeline 时,也会存在序列化的问题,在代码编写的时候,需要注意。

2023-11-07 10:24:15 238

原创 rm -rf,删了文件空间却没释放?

服务器磁盘告警,排查之后,需要清除掉服务器上没用的大文件x.log,但是当使用了rm -rf 删除服务下的大log文件,却发现还是告警,可用空间沒有变化。有点慌,怎么办?

2023-10-28 20:31:15 933 1

原创 因磁盘空间不足导致线上问题的解决办法

ECS 服务器磁盘空间不足处理方式

2023-10-07 14:54:15 148

原创 结构型设计模式

结构型设计模式概览

2023-09-13 19:35:21 293

原创 创建型设计模式

创建型设计模式概览

2023-09-11 21:46:29 403

原创 Idea 插件 FindBugs 安装及使用

环境信息idea版本IntelliJ IDEA 2020.3.2 (Ultimate Edition)Build #IU-203.7148.57, built on January 26, 2021jdk版本java version "1.8.0_231"安装通过以下路径查询插件 FindBugsFile->Settings->Plugins->Marketplace插件安装点击 install 安装,接着重启 idea注意事项Find

2022-05-13 18:11:09 3773 2

原创 Java 8 中的 HashMap

红黑树(red black tree)特点一个节点是红色或黑色根节点是黑色如果一个节点是红色,那么它的子节点必须是黑色一个节点到一个null引用的每一条路径必须包含相同数目的黑色节点(红色节点不影响)两种旋转方式和一种颜色变换单旋转方式双旋转方式(需要两次反方向的单旋转)当两个子节点均为红色的时候,执行颜色变换,因为插入的是红色节点,会产生冲突。例如根节点的子节点是红色,两个叶子节点变成黑色,根节点变成红色,再变成黑色。问题为什么插入的总是红色节点?因为插入前,树都是构

2022-05-13 18:10:03 284

原创 win10 Jdk 版本切换

环境信息系统:Win 10jdk:7、8、11安装方式:可执行文件安装(exe 格式)切换步骤1. jdk 安装后,一般我们会手动添加 JAVA_HOME 系统环境变量,然后将 %JAVA_HOME%\bin 添加到系统环境变量 Path中,如图所示2. 检查以下目录是否包含 java.exe、javaw.exe、javaws.exe 三个文件,包含的话,可删除,也可不删除-- 64 位C:\Program Files\Common Files\Oracle\Java\javapat

2022-05-13 18:07:42 1518

原创 Java 应用配置 GC 日志输出内容

Java 应用配置 GC日志输出文件GC 日志部分配置项基本 GC 日志信息-XX:+PrintGCDetails-XX:+PrintGCDateStamps-XX:+PrintGCTimeStampsGC 后对象年龄分布信息-XX:+PrintTenuringDistributionGC 后打印GC前后的堆数据-XX:+PrintHeapAtGCGC会产生暂停,打印 STW 时间(暂停时间)-XX:+PrintGCApplicationStoppedTime[外链图片

2022-05-13 18:06:09 1834

原创 Spring事务及事务失效的部分场景

简介spring 有五个事务隔离级别:ISOLATION_DEFAULT、ISOLATION_READ_UNCOMMITTED、ISOLATION_READ_COMMITTED、ISOLATION_REPEATABLE_READ、ISOLATION_SERIALIZABLE第一种是 Spring 默认使用 DB设置的事务隔离级别,后面四种事务隔离级别跟 Mysql 的事务隔离级别一致,下面就类比着 Mysql 的事务隔离级别,进行分析!!!事务并发可能产生的问题释义脏读 ( Dirty Read

2022-05-13 18:03:45 742

原创 Maven配置文件(setting.xml)属性解析

前置信息Maven 版本:apache-maven-3.5.2Nexus 信息:nexus2、nexus3镜像仓库:如果仓库 X 可以提供仓库 Y 存储的所有的内容,那么仓库 X 就可以说是 仓库 Y 的镜像(也就是说能从仓库 Y 获取的内容,从仓库 X 也能获取)属性解析setting<setting>setting 文件的根元素</setting>localRepository<localRepository>本地仓库</localRepos

2022-05-13 17:59:01 4522

原创 Ubuntu 20.04 LTS安装 Redis 5.0.7

准备工作环境:Ubuntu 20.04Redis版本:5.0.7安装 RedisRedis 软件包在 UbUbuntu 20.04 默认在设置的软件源中,执行命令:sudo apt updatesudo apt install redis-server安装完成后,Redis的服务会自动启动,检查服务的状态,执行命令:sudo systemctl status redis-server正常启动时,应该看到下面的内容:● redis-server.service - Advanced k

2021-01-17 20:48:53 2104 1

原创 新的日期和时间( Java 8 )

为什么我们需要新的Date和Time类!Java8之前所有的日期类都是可变的,这就导致了线程不安全问题;java的日期和时间类的定义不一致,在java.util和java.sql中都包含日期类;java.util.Date同时包含日期和时间,但是java.sql中只包含日期,将其纳入java.sql中的是不合适的,而且更糟糕的是:这两个类中的日期类的名字都是一样的;对于时间、时间戳、格式化及解析,没有一些明确定义的类,而且对于格式化和解析的需求,Java中有java.text.DateFormat

2021-01-16 00:24:00 533

原创 Lambdda表达式( Java 8 )

在Java的语言世界里面,除了基本的数据类型,一切都是对象,例如:String字符串、每个对象实例、数组这些都是对象。在Java中方法是不能完全独立存在的,不能将方法作为参数或者返回值给实例。注意:方法(Method),函数(Function),在Java中是没有函数的,因为Java是一个面向对象编程的语言;函数更多的意义是用来表述面向过程的语言;又或者说"函数是大家的函数,方法是类的方法",不过,不用这么纠结,我们可以认为在Java中方法就是函数,函数就是方法。为什么出现Lambda表达式从线程的构建

2021-01-16 00:21:08 249

原创 Stream API ( Java 8 )

Stream API 简介Stream’API是Java8中的新特性,基于Lambda表达式,对Collection(集合)的各种操作有了很大的改变,极大的提升了编码效率和代码的可读性。Stream有串行和并行两种模式,并行模式会自动创建多个线程,使用fork(join)Java7特性,来拆分任务和加速处理过程。Stream是一种类似IO流的东西,但是并不相同,实质是对集合操作的一种高度抽象,而且更重要的是,Stream不是数据结构,是不存储数据的,数据存储在底层的集合中,或者根据需要产生出来(例如Str

2021-01-16 00:09:39 223

原创 Optional静态类( Java8 )

Optional简介在Java8中的StreamAPI有很多操作都返回了Optional对象,那么这个对象是用来干嘛的,用来解决空指针问题,产生的一个类。也可以认为这是一个容器对象,因为它可以保存类型为T的对象,也可以保存nullOptional类源码import java.util.NoSuchElementException;import java.util.Objects;import java.util.function.Consumer;import java.util.functi

2021-01-16 00:06:28 115

原创 服务器性能问题排查

服务器性能问题一般有两种:  高内存占用、高CPU占用,比如应用程序高内存占用,可能是因为文件读写、频繁的IO、内存频繁GC,进一步占用了内存和CPU;比如应用程序高CPU占用,可能是因为大任务计算、死循环、卡死、不断超时或者重试。所以需要具体问题具体分析。    高内存占用现象是应用响应慢、内存溢出、应用进程直接死掉。体现到代码里面可能是死锁和饥饿,因为资源不释放;需要关注,空闲可用内存还有多少,buff[(Page Cache)是一种高速缓存,用于CPU和内存之间的缓冲 ,是文件系统的cache。

2021-01-16 00:05:16 480

原创 Java实现哈希函数/散列算法

// 哈希函数/散列算法// 根据某个值进行hash值计算,确保唯一性public class HashUtils { private static final String ALGORITHM = "SHA-256"; public static String sha256Hex(byte[] bytes){ MessageDigest messageDigest; String encodeStr = ""; try {

2021-01-15 23:37:26 866

原创 Maven的deploy插件使用

deploy插件的使用第一种方式项目引用maven之后,通过idea的侧边栏直接使用,具体位置如图所示:此时项目中的pom文件配置如下图所示:此时就可以上传jar包到指定的仓库注意:使用该种方式如果出现下面的报错,可以使用第二种方式Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project mdb-board: Deployment

2021-01-15 23:35:04 4603

原创 SpringBoot配置及加载Mybatis

Mybatis配置类及xml属性文件/** 博主使用的springBoot版本为1.5.8.RELEASE @Configuration注解标识该类为一个配置文件 @MapperScan注解属性: 1. basePackages可以设置多个mapper.xml所在的全限定包名 2. annotationClass = Mapper.class (过滤的作用,只有包含注解的mybatis接口才会被扫描进去,一般不用) 3. sqlSessionFactoryRef="xxxSq

2021-01-15 23:30:36 898

原创 AES加密及解密

public class AesUtil { static { Security.addProvider(new BouncyCastleProvider()); } private static final String ALGORITHM = "AES/ECB/PKCS7Padding"; /** * AES加密 * * @param content 需加密的字符串 * @param key 密钥

2021-01-15 23:21:34 364

原创 redis实现分布式锁

// 分布式锁实现使用的版本// springBoot的版本:org.springframework.boot:spring-boot:1.5.8.RELEASE// redis的版本:org.springframework.data:spring-data-redis:1.8.8.RELEASE// lombok的版本:org.projectlombok:lombok:1.18.6 // 标识springBoot启动时会扫描该类并创建实例放入spring容器@Component// 引入lo

2021-01-15 23:18:55 102

原创 SpringBoot配置和加载redis

redis在SpringBoot中的配置及加载// spring framework中的注解驱动的缓存管理功能// 与该注解联合使用@Cacheable(cacheNames = "缓存名称", key = "redis中的key")@EnableCaching// 标识该类为一个配置类@Configurationpublic class RedisConfig { @Value("${spring.redis.decryptPassword}") private Strin

2021-01-15 23:15:33 896 1

原创 SpringBoot使用Validator校验框架

Hibernate Validator 简介Hibernate Validator是Hibernate项目中的一个数据校验框架,是Bean Validation 的参考实现,Hibernate Validator除了提供了JSR 303规范中所有内置constraint 的实现,还有一些附加的constraint。Hibernate Validator 作用数据校验逻辑和业务代码分离,程序解耦性提高统一且规范的校验格式,规避了大量重复的数据校验代码精力更加集中于业务代码Hibernate

2021-01-15 23:09:50 646

原创 Ubuntu 20.04.1 LTS安装OpenJDK

一. 安装 OpenJDK 11前期准备root权限或者其他sudo权限用户身份国内软件源(防止速度过慢)Linux版本:Ubuntu 20.04.1 LTS开始安装# 更新软件包索引sudo apt update# 安装OpenJDK 11sudo apt install openjdk-11-jdk安装结果你可以通过查询Java版本检查安装过程,运行下面的命令:java -version输出结果类似这样:openjdk version "11.0.7"

2021-01-15 22:57:43 1683

原创 Win10安装Linux子系统

1. 根据微软的帮助文档安装2. 安装的Linux系统版本通过 cat 命令进行简单查看 运行下面命令: cat /etc/issue输出结果类似这样:Ubuntu 20.04.1 LTS \n \l通过 cat /etc/lsb-release 命令进行具体查看 运行下面命令:cat /etc/lsb-release输出结果类似这样:DISTRIB_ID=UbuntuDISTRIB_RELEASE=20.04DISTRIB_CODENAME=focalDISTRIB_DES

2021-01-15 22:55:42 123

转载 Swagger2注解说明

@Api:用在请求的类上,表示对类的说明 tags="说明该类的作用,可以在UI界面上看到的注解" value="该参数没什么意义,在UI界面上也看到,所以不需要配置"@ApiOperation:用在请求的方法上,说明方法的用途、作用 value="说明方法的用途、作用" notes="方法的备注说明"@ApiImplicitParams:用在请求的方法上...

2018-07-30 16:43:37 271

原创 spring-boot的快速开发

1.使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程菜单栏中选中Files-&gt;New-&gt;Projects,这个Initializr Service URL 我们一般使用默认,也就是spring官方提供的spring  Initializr工具进行创建点击下面的Next之后,稍等片刻,出现下面的页面,我们可以通过...

2018-07-30 15:55:29 255

原创 亚信实习第一周

自从上周五,怀着激动,忐忑的心情来到亚信报到之后,截止到今天,正好上了一周班,对这一周做了什么,进行一下回顾。周一:因为第一天上班,所以起了个大早,来到公司时才八点多一点,九点才上班,由于是第一天上班,就是看了看公司现在做的项目是什么,总体有那些大的模块,就这样晃晃悠悠的第一天过去了周二:还是像昨天一样,只是今天被经理分了导师,也就是我们的组长,一个爱笑的人,说话语气也很好,总之感...

2018-07-27 15:53:22 729

原创 图片验证码乱码问题

将项目上传到服务器之后,运行项目,发现验证码乱码,不能正常显示,这时,要查看我们的代码中设置验证码的字体样式然后,查看服务器上的字体样式有没有我们设置的字体样式,没有的话,我们直接从本地windows上拷贝上传即可服务器上的字体都存放在/usr/share/fonts,这个目录下,windows下的字体都存放于C盘中的fonts目录下,直接搜该目录就好选择好字体样式上传至服务器之后,通过 fc-c...

2018-06-12 19:21:16 2063

原创 Java中的常见集合接口Map,集合Hashtable,HashMap,TreeMap

Map集合:1.将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值2.Map集合被称为双列集合,collection集合被称为单列集合注:将可变对象用作映射键时必须格外小心。当对象是映射中某个键时,如果以影响 equals 比较的方式更改了对象的值,则映射的行为将是不确定的常用方法:1.添加value put(key , value) 返回前一个与key关联的value...

2018-06-11 11:11:12 451

原创 Java中集合接口Collection,集合List,Set

集合的特点:1.集合的长度是固定的2.集合只能存储对象3.集合不可以存储基本数据类型数组与集合的区别:1.数组的长度是固定的,集合的长度是可变的2.数组只能存储基本数据类型,集合只能存储对象注意:Java中集合接口和实现类都位于java.unitl这个工具包下,包含 collection框架,遗留的collection类,事件模型,日期和时间,国际化和各种工具类集合框架:集合容器中因为内部数据结构...

2018-06-10 23:00:43 552

原创 StringBuffter、Stringbuilder和String的应用示例

/* * 多线程使用StringBuffter * 单线程使用StringBuilder */public class StringBufferTest01 { public static void main(String arag[]){ int [] arr = {1,2,3,4,5}; System.out.println(arrayToString_1(arr)); ...

2018-06-05 14:25:30 493

原创 String

String是一个对象,不是基本数据类型;String的特点:字符串对象一旦初始化,便不能被修改;改变的只是引用型变量的指向;例如:String str="abc"; String str = "ert"; "abc";依然存在,只是str的指向变了String str ="abc"; String str = new String("abc"); 的区别:第一个语句在字符串常量池中创建...

2018-06-05 14:19:53 198

原创 StringBuffter与StringBuilder

StringBuffter,StringBuilder属于常用的容器,StringBuffter:是一个线程安全(同步)的可变字符序列,一个类似于String的字符缓冲区,用于存储数据的容器初始容器容量是16个字符特点:长度可变,可以存储不同类型数据,最终都会转成字符串使用,可以对字符串进行修改功能:1.添加StringBuffter append(data);StringBuffter in...

2018-06-05 13:56:36 1122

原创 secureCRT连接虚拟机中的linux

linux的版本:centos-7secureCRT版本:secureCRT-7.31.保证centos-7安装了openssh-server[root@localhost ~]# yum list installed|grep openssh-server2.打开ssh的配置文件[root@localhost ~]# vi /etc/ssh/sshd_config去掉端口注释:开启远程登录:用...

2018-05-20 20:06:35 358

空空如也

空空如也

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

TA关注的人

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