自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java Math方法

Java Math

2022-10-26 22:11:39 357

原创 静态内部类实现Builder

静态内部类实现Builder模式

2022-09-04 21:01:18 403 1

原创 如何将服务注册到Eureka

springcloud,eureka注册中心

2022-03-30 22:22:16 2411

原创 SpringCloud搭建Eureka注册中心

Spring Cloud,Spring Boot ,搭建Eureka注册中心

2022-03-30 20:07:05 520

原创 观察者模式在Spring中的应用

观察者模式在Spring中的应用

2022-03-29 14:16:00 1045

原创 mysql索引的数据结构及原理

mysql数据库,存储引擎,InnoDB,MyISAM,B-Tree、B+Tree、索引、数据结构

2022-03-23 11:47:04 3811

原创 java中synchronized锁住的是什么?

synchronized关键字常用于静态方法、非静态方法、同步代码块,都知道它是加锁操作,那它锁住的到底是什么?

2022-03-20 11:08:41 638

原创 RabbitMQ的交换机类型和工作模式

RabbitMQ的交换机类型:直连交换机,主题交换机,扇形交换机,简单模式。RabbitMQ的工作模式:简单模式,工作队列,订阅模式,路由模式,通配符模式。

2022-03-15 22:38:17 3447

原创 单点登录解决方案

1、同一顶级域名的下的应用将cookie的path和domain属性设置为顶级域名,这样服务器在访问这个顶级域名下的各种二级域名时都会带上这个cookie。在浏览器发起一个请求,这个请求会带上哪些cookie是由浏览器控制的,浏览器根据cookie的path和domain属性带上相应的Cookie。所以,访问...baidu.com时不会带上...google.com域名的Cookie,同理,访问...google.com时也不会带上...baidu.com域名的Cookie。2、认证中心所有

2022-03-15 20:06:54 751

原创 如何开启mysql慢查询日志?

MySQL数据库,慢查询日志

2022-03-15 12:12:07 5559 1

原创 CentOS 7 安装RabbitMQ

CentOS系统安装RabbitMQ

2022-03-14 13:14:39 3369

原创 HashMap解读

HashMap解读jdk1.8的HashMap相比JDK1.7,最主要的变化就是引入了红黑树。HashMap底层是Entry<K,V>数组,数组的每个节点上可能存放的是一个单向链表,当单向链表的数据量达到8时,HashMap底层会将单向链表转成红黑树的结构,以避免在链表过长的情况下影响查询效率。get(key) :1、计算key的hash值,找到数组索引下标。2、如果此处只有一个Entry,直接返回这个值。3、如果此处是一个链表,则根据hash值和equals方法逐一匹配,一旦匹配上

2022-03-14 11:36:05 1391

原创 Docker Swarm

1、什么是docker swarm ?Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm简单理解就是多台服务器搭建一个docker集群,每个服务器就是集群中的一个节点。参考:Docker三剑客之Docker Swarm - 一本正经的搞事情 - 博客园2、docker swarm的几个关键概念swarm :集群管理工具node :节点,一个节点就是docker

2022-03-13 11:53:47 24822

原创 使用Dockerfile制作docker镜像

Dockerfile制作docker镜像,并在linux上部署运行

2022-03-11 22:02:25 2234

原创 java原生注解@Inherited的使用

java原生注解@Inherited的含义

2022-02-27 14:24:32 1746

原创 SpringBoot项目通过ApplicationContext获取Bean

SpringBoot项目通过ApplicationContext获取Bean

2022-02-26 20:52:40 1334

原创 Linux安装Docker

Linux安装docker作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个Docker 容器。容器除了运行其中的应用之外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。如何在linux环境下安装docker,以CentOS 7系统为例1、确保已经安装了gccyum -y install gccy

2022-02-19 13:42:25 13641

原创 SpringBoot集成Redis以及常用操作

spring boot 集成 redis,使用StringRedisTemplate对key、字符串、哈希、列表、集合的一些常规操作

2022-02-17 22:19:06 750 1

原创 用静态内部类的方式做数据校验

用静态内部类的方式做数据校验1、定义一个数据校验的接口public interface DataHandler<T> { void handle(T t, HandleResult result);}2、定义校验结果的实体类import lombok.Data;@Datapublic class HandleResult { private boolean checkRight = false; private StringBuffer errorMes

2022-02-14 20:41:50 294

原创 Redis常用命令

key相关keys pattern 查找所有给定模式的keykeys * 查找所有keykeys *ya 查找所有以ya结尾的keykeys cheng* 查找所有以cheng开头的keytype key 返回key的类型randomkey 返回随机的keyrename key newkey 修改key的名称(注意:如果这个key存储的数据很大,慎用,因为会有大量的IO操作。)rename key newkey 如果newkey不存在,将key的名称修改为newkeyd.

2022-02-12 21:51:17 370

原创 Linux上安装JDK1.8以及crontab设置环境变量

linux安装jdk1.8,crontab定时任务配合flock和timeout一起使用,保证定时正常执行。

2022-01-19 23:28:18 1133

原创 Redis配置文件redis.conf

redis配置文件详解

2022-01-03 21:31:20 1107

原创 Windows连接不上linux虚拟机的问题排查

Windows连接不上虚拟机的问题排查今天使用windows连接VMware上安装的linux虚拟机,一直连接不上,最后花了两个小时才解决了问题,这里记录一下,供日后参考。说明一下,我安装的linux是CentOS 7的系统用windows的cmd命令ping 虚拟机,总是请求超时但是在linux里面 ping www.baidu.com 是可以的1、linux虚拟机需要采用桥接模式,不要选NAT模式2、检查linux防火墙是否开启,需要确保防火墙是关闭状态查看防火墙状态 systemctl

2021-12-08 21:12:27 5274 2

原创 MongoDB常用Shell命令

MongoDB Shell 命令1、数据库命令# 显示所有数据库show dbs# 显示当前使用的数据库db# 切换到local数据库,如果不存在local数据库,则创建use local# 删除当前数据库db.dropDatabase2、对数据库集合的操作# 显示当前数据库的所有集合show collections# 在当前数据库中创建一个集合workerdb.createCollection("worker")# 删除当前数据库中的worker集合db.wo

2021-11-05 21:29:27 4107 1

原创 使用Lock锁实现线程交替执行

java中,通常用synchronized关键字对需要保证线程安全的代码块加锁,但是synchronized关键字在使用上并不灵活,而Lock锁刚好就可以解决这问题。面试中有可能会被要求写一个要求两个线程交替运行程序,这里给出一个实现样例。1、公共服务类import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.Reentra

2021-11-05 21:22:27 264

原创 Spring项目@Conditional注解的使用

在Spring项目中,有时需要根据配置文件生成不同的Bean,以适应不同的业务场景,这时我们就可以考虑使用Conditional注解。下面给出一个Conditional注解的使用实例1、自定义接口public interface PersonService { String getPersonMessage();}2、两个不同的实现类public class BoyService implements PersonService { @Override public St

2021-11-05 20:24:23 202

原创 List去重

List去重在使用集合的过程中我们经常会遇到去重的问题,这里给出一个常用的去重工具类,供大家参考import java.util.Set;import java.util.concurrent.ConcurrentHashMap;import java.util.function.Function;import java.util.function.Predicate;public final class DistinctRepeatUtil{ private DistinctRepe

2021-11-03 22:17:54 172

原创 java参数校验

SpringBoot项目的参数校验1、简单用法a、引入依赖<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.1.Final</version></dependency>b、参数实体类的属性加注解i

2021-09-04 14:09:49 473

原创 NIO缓冲区之复制、中文编码

NIO缓冲区之复制、中文编码1、NIO缓冲区必须了解的几个概念:mark,position、limit、capacitymark:标识,默认值为-1position : 位置,可以理解为当前游标在缓冲区中的位置,它是相对put(byte b)和get()方法写入和读取的地方,绝对put(int index, byte b)和get(int index)则是在指定的索引处写入和读取。limit:限制,即缓冲区中可以存放数据的最大index(索引)。capacity:容量,即缓冲区的大小。其中,ma

2021-03-27 21:18:08 157

原创 对象深克隆

对象深克隆1、编写一个工具类public class StreamUtil <T> { public static Object copyObject(Object object) throws Exception{ ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); ObjectOutputStream objOut = new ObjectOutputStream(byteOut); objOut.w

2021-03-01 13:11:44 139

原创 java利用反射和注解作数据校验

java利用反射和注解作数据校验1、自定义注解@Target(value={ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)public @interface NumCheck { int min() default 1; int max() default 100; String message() default "success";}2.创建校验工具public class ValidatorUtil { p

2021-02-22 20:36:07 389

空空如也

空空如也

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

TA关注的人

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