自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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 2299 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 572

原创 Lambdda表达式( Java 8 )

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

2021-01-16 00:21:08 275

原创 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 257

原创 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 127

原创 服务器性能问题排查

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

2021-01-16 00:05:16 515

原创 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 901

原创 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 5077 1

原创 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 968

原创 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 389

原创 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 114

原创 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 969 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 670

原创 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 1887

原创 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 146

空空如也

空空如也

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

TA关注的人

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