自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 *zookeeper

zookeeper一、zookeeper 概述和特性1.1 zookeeper 的概述1.2 zookeeper 的特性全局数据一致性可靠性顺序性数据更新原子性实时性二、zookeeper的核心2.1 文件系统的数据结构2.2 时间监听机制对节点或目录进行监听三、安装 zookeeperapache-zookeeper-3.5.7zookeeper 目录结构配置文件zoo_sample.cfg四、五、...

2020-12-21 17:25:33 774

原创 正则表达式:Pattern 使用

正则表达式package com.example.test.base;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @description: * @date: 2020/10/17 10:10 */public class PatternTest { public static void main(String[] args) { String str = "张三1011

2020-10-17 10:41:33 347

原创 在表格中查询两列中相同的数据

在表格中查询两列中相同的数据公式:=countif(A:A, B1)

2020-09-28 20:23:06 408

原创 springboot2.x 集成 redis sentinel

springboot2.x 集成 redis sentinel1,添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <exclusions> <exclusion> <g

2020-08-11 22:54:34 592

原创 springboot2.x 集成 redis cluster

springboot2.x 集成 redis cluster1,添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht

2020-08-09 22:47:19 388

原创 Redis - 示例1 - hash 数据类型的使用

Redis - 示例1 - hash 数据类型的使用1、工具类package com.james.cache.utils;import java.util.List;import java.util.Map;import java.util.Set;import org.springframework.stereotype.Component;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;

2020-07-14 22:05:47 236

原创 Linux 环境下安装 Redis

Linux 环境下安装 Redis前置条件:VmWare虚拟机软件及Redis软件地址链接:https://pan.baidu.com/s/1TE17o16d3zjIbX-rvh5Cpg提取码:cxm1目录如下:请先安装好VmWare虚拟机软件(Windwos平台),再根据Centos7系统镜像安装Centos7操作系统,最后请打开vm设置主机模式上网文档,设置上网。当完成Centos7操作系统安装后,先安装依赖包(确保虚拟机能上外网,不然不能安装)1,依赖包检查 1 yum insta

2020-07-07 22:04:07 131

原创 * JVM - 第四节:JVM执行子程序

JVM学习目录:第一节:内存结构第二节:JVM中的对象第三节:垃圾回收算法与垃圾回收器第四节:JVM执行子程序第五节:JVM性能优化第六节:编写高效优雅的Java程序深入了解性能优化第四节:JVM执行子程序1、class 文件结构1.1 JVM 的无关性平台无关性:一次编写,到处运行语言无关性:字节码(Byte-Code)1.2 class 类文件(字节码)cl...

2020-06-25 22:47:20 168

原创 * MySQL优化 - 业务设计与 慢查询

MySQL优化 - 业务设计1、逻辑设计三大范式数据库设计的第一大范式数据库表中的所有字段都只具有单一属性单一属性的列是基本数据类型所构成的设计出来的表都是简单的二维表第一范式的反例和正例,如下第二大范式要求表中只具有一个业务主键,也就是说符合第二范式的表不能存在非主键列只对部分主键的依赖关系反例 和 正例如下:第三大范式指每一个非主属性既不部分依赖于也不传递依赖于业务主键,也就是在第二范式的基础上相处了非主键对主键的传递依赖反例 和 正例 如下:表设

2020-06-25 22:46:00 109

原创 * mysql - 索引 与 执行计划,sql 优化

mysql - 索引 与 执行计划,sql 优化1、索引索引的分类:基础语法:2、执行计划2.1 执行计划的作用:执行计划包含的消息:2.2 执行计划 - id可以知道 SQL 语句执行的顺序* id相同,执行顺序由上往下id 不同,id 数值大的先加载执行id 有相同的,也有不同的。优先加载执行 id 数值大的,id 数值一样的从上往下加载2.3 执行计划 - select type查询的类型,主要用于区别,普通查询、联合查询、子查询等的复杂查询分类有:

2020-06-25 22:45:38 159

原创 * Mysql - 锁 与 事务

* Mysql - 锁 与 事务1、MySQL 中的锁MySQL 的锁机制比较简单其最显著的特点是不同的存储引擎支持不同的锁机制比如:MyISAM 和 MEMORY 存储引擎采用的是表级锁(table-level locking)InnoDB 存储引擎既支持行级锁(row-level locking)也支持表级锁,但默认采用行级锁。MyISAM 的表锁Mysql 的表级锁有两种模式:表共享读锁(Table Read Lock)表独占写锁(Table Write Lock)共享读锁语

2020-06-25 22:45:16 109

原创 * MyBatis - 1、开发重点知识

目录:1、开发重点知识MyBatis快速入门result 与 resultMap怎么样传递多个参数获取主键SQL 的参数代码生成器关联查询缓存与 spring 的集成2、源码骨架分析整体架构日志模块分析数据源模块分析缓存模块分析反射模块分析3、源码流程分析流程整体分析配置加载阶段代理阶段分析数据读写阶段4、知识拾遗与 spring 的结合源码分析插件开发手写 MyBatisMyBatis - 1、开发重点知识1、MyBatis快速入门1

2020-06-25 22:45:00 128

原创 * MyBatis - 3、源码流程分析

目录:1、开发重点知识MyBatis快速入门result 与 resultMap怎么样传递多个参数获取主键SQL 的参数代码生成器关联查询缓存与 spring 的集成2、源码骨架分析整体架构日志模块分析数据源模块分析缓存模块分析反射模块分析3、源码流程分析流程整体分析配置加载阶段代理阶段分析数据读写阶段4、知识拾遗与 spring 的结合源码分析插件开发手写 MyBatisMyBatis 源码流程分析1,流程整体分析1.1 MyBati

2020-06-25 22:44:25 150

原创 * MyBatis - 2,源码骨架分析

目录:1、开发重点知识MyBatis快速入门result 与 resultMap怎么样传递多个参数获取主键SQL 的参数代码生成器关联查询缓存与 spring 的集成2、源码骨架分析整体架构日志模块分析数据源模块分析缓存模块分析反射模块分析3、源码流程分析流程整体分析配置加载阶段代理阶段分析数据读写阶段4、知识拾遗与 spring 的结合源码分析插件开发手写 MyBatisMyBatis - 2,源码骨架分析1、整体架构2、日志模块分析

2020-06-25 22:43:10 124

原创 * 消息中间件入门,AMQP 与 RabbitMQ

目录RabbitMQ1、什么是消息中间件1.1 消息中间件(MQ)的定义:没有标准定义。一般认为,消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。不生产消息,只是消息的搬运工。1.2 为什么使用消息中间件:松耦合架构的优势:解耦异步处理能力缓冲能力伸缩性加减机器扩展性和 RPC 有何区别?RPC同步性系统间有依赖性,不解耦MQ异步解耦

2020-06-25 22:42:32 212

原创 * 消息中间件 - 2,RabbitMQ中消息发布权衡 与 消费权衡

目录RabbitMQ消息中间件入门,AMQP 与 RabbitMQRabbitMQ中消息发布 与 权衡RabbitMQ 中消息消费权衡 及 消息属性RabbitMQ 异步处理实战RabbitMQ 管理与高可用集群KafkaKafka 入门,生产者 和 消费者实战Kafka 高级进阶,消费者分区再均衡深入理解Kafka的内部机制Kafka 集群及流计算实战RocketMQRocketMQ 入门玩转RocketMQ 中的消息发送 与 消费RocketMQ 的高级特性

2020-06-25 22:42:10 324

原创 * RabbitMQ 集成springboot 与 异步解耦实战

目录RabbitMQ消息中间件入门,AMQP 与 RabbitMQRabbitMQ中消息发布 与 权衡RabbitMQ 中消息消费权衡 及 消息属性RabbitMQ 异步处理实战RabbitMQ 管理与高可用集群KafkaKafka 入门,生产者 和 消费者实战Kafka 高级进阶,消费者分区再均衡深入理解Kafka的内部机制Kafka 集群及流计算实战RocketMQRocketMQ 入门玩转RocketMQ 中的消息发送 与 消费RocketMQ 的高级特性

2020-06-25 22:41:48 660

原创 *java并发编程:3-原子操作CAS

*java并发编程:3-原子操作CAS1,CAS(Compare And Swap)什么是原子操作?如何实现原子操作?乐观锁JDK->CAS机制 --> 无锁化编程CAS的原理:利用了现代处理器都支持的CAS的指令,循环这个指令,直到成功为止。CAS的问题:ABA 问题开销问题只能保证一个共享变量的原子操作8.2 JDK中相关原子操作类的使用更新基本类型...

2020-04-07 20:33:00 188

原创 设计模式-模板方法模式

设计模式-模板方法模式模板方法模式场景:代码示例:抽象父类package com.example.javabasis.design_patterns.behavioral_type.template_method;/** * @description: 模板方法的抽象类,把公共的代码都放到该抽象父类中, * 不同...

2020-04-07 20:31:58 88

原创 *java并发编程:2,线程的并发工具类

学习路径:基础入门-》初步应用-》高级-》源码分析并发编程学习目录:1,线程基础、线程之间的共享和协作2,线程的并发工具类3,原子操作CAS4,显示锁和AQS5,并发容器6,线程池和Exector框架7,线程安全8a,实战项目-并发任务执行框架8b,实战项目-性能优化实战9,JMM和底层原理10,java8新增的并发*java并发编程:2,线程的并发工具类1,Fork-...

2020-03-20 22:31:41 194

原创 *java并发编程:1,线程基础-线程之间的共享和协作

学习路径:基础入门-》初步应用-》高级-》源码分析并发编程学习目录:1,线程基础、线程之间的共享和协作2,线程的并发工具类3,原子操作CAS4,显示锁和AQS5,并发容器6,线程池和Exector框架7,线程安全8a,实战项目-并发任务执行框架8b,实战项目-性能优化实战9,JMM和底层原理10,java8新增的并发*java并发编程-线程基础-线程之间的共享和协作(一)...

2020-03-13 23:46:37 237

原创 git-上传项目代码到 gitlab 仓库

git-上传项目代码到 gitlab 仓库1,准备工作:1,准备好要上传的项目代码2,安装了Git3,有 gitlab 的地址前缀2,步骤:1,在需要上传的项目目录上右键选择 Git_bash_here,打开Git命令窗口2,初始化Git仓库:输入命令 gti init3,添加文件到仓库:输入命令 git add . (注意:add 后面空格有一个点)4,提交...

2020-03-09 00:13:53 1536 1

原创 通过RequestContextHolder获取HttpRequest和HttpResponse

SpringBoot通过RequestContextHolder获取HttpRequest和HttpResponse开发时,有时候会遇到在一些方法中,函数参数并没有给出request,response或者session,那该怎么解决呢我们可以通过SpringBoot提供的RequestContextHolder获得package com.xxx.common.util;import co...

2020-03-09 00:11:26 176

原创 MD5工具类

public class MD5Tools { private static MessageDigest getMd5() { try { return MessageDigest.getInstance(&amp;amp;amp;amp;amp;quot;MD5&amp;amp;amp;amp;amp;quot;); } catch (NoSuchAlgorithmException ne) {

2020-03-09 00:09:11 75

原创 使用SpringMVC的@Validated注解验证

最近作为新手刚接触到SpringMVC的@Validated注解验证,为了能加深理解。在此记录下@Validated的使用,一下的步骤省略了配置文件与环境的搭建,直接从使用开始。1、SpringMVC验证@Validated的使用第一步:编写国际化消息资源文件编写国际化消息资源ValidatedMessage.properties文件主要是用来显示错误的消息定制edit.username....

2020-03-09 00:07:55 158

原创 实现 RequestBodyAdvice接口,对controller 层的请求统一输出日志。

Controller 层,统一处理请求日志输出。package com.xxx.common.advice; import com.alibaba.fastjson.JSON;import lombok.extern.slf4j.Slf4j;import org.springframework.core.MethodParameter;import org.springframewo...

2020-03-09 00:04:17 466

原创 mybatis 总结

mybatis 总结:1,框架定义: 对于程序员来说,框架是一套资源,这套资源中会包含jar包、文档、还有些包含源码、代码示例等。2,MyBatis体系结构1,接口层:数据查询接口、数据新增接口、数据更新接口、数据删除接口、获取配置接口2,数据处理层:1)参数映射:参数映射配置、参数映射解析、参数类型解析2)SQL解析:SQL获取、SQL解析、动态SQL3)SQL执行:Simp...

2020-03-09 00:02:46 135

原创 java8-方法引用

java8-方法引用

2020-03-09 00:01:20 142

原创 java8:Lambda表达式、方法引用与函数式接口 综合使用

java8:Lambda表达式、方法引用与函数式接口 综合使用

2020-03-09 00:01:09 97

原创 java8-Stream 流

1,传统集合的多不循环遍历及其弊端

2020-03-09 00:01:00 116

原创 mybatis 反向生成代码

项目中配置自动代码生成 dao,po,mapper文件&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&amp;lt;!DOCTYPE generatorConfiguration PUBLIC &quot;-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN

2020-03-08 23:56:48 114

原创 常用 map 方法

常用 map 方法:package com.test.testjavaee.collection.map;import java.util.Collections;import java.util.HashMap;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;/** * 测试map集合 * ...

2020-03-08 23:56:13 203

原创 常用 list 方法

常用 list 方法:package com.test.testjavaee.collection.list;import java.util.*;/** * 测试List 集合 * @since */public class TestList { public static void main(String[] args) { initListBy...

2020-03-08 23:55:44 144

原创 Quartz 定时任务

Quartz 定时任务:学习quartz定时任务将按照以下目录进行学习:quartz初步quartz的核心概念quartz的体系结构quartz的常用APIquartz的使用配置、资源schedulerFactoryquartz监听器一、初步:1.1,简介Quartz 是 OpenSymphony 开源组织在 job scheduling 领域又一个开源项目,它可以与 J...

2020-03-08 23:54:41 282

原创 java8-已经定义的函数式接口

java8-Supplier 接口的抽象方法java.util.function.Supplier;示例:求出数组元素最大的值。

2020-03-08 23:50:58 104

原创 spring 总结

Spring 总结:1,Spring 概述 Spring 是一个容器,用于降低代码之间的耦合度,根据不同的代码采用 IOC 和 AOP 两种技术来解耦合1.1 Spring 的主要作用:是为代码“解耦”,降低代码间的耦合度。可以管理对象的生命周期、对象与对象之间的依赖关系。可以通过配置文件,来定义对象,以及设置与其他对象的依赖关系。1.2 Spring 的核心是控制反转(IOC)和 ...

2020-03-08 23:50:01 151

原创 dubbo 入门

dubbo 入门:dubbo 和 springMVC 不太一样,不能直接定义 controller 层,会无法识别。需要通过以下方式进行接口的定义。新增接口:package com.test.resource;import com.alibaba.dubbo.rpc.protocol.rest.support.ContentType;import com.hetai.common.Bus...

2020-03-08 23:49:29 94

原创 实现 ResponseBodyAdvice 接口,对 controller 层响应统一日志输出。

实现 ResponseBodyAdvice 接口,对 controller 层响应,实现统一日志输出。好处:不需要再每一个controller方法响应时,显式的使用 log.info();进行日志输出。package com.xxx.common.advice;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.ser...

2020-03-08 23:47:59 270

原创 springboot-热部署

SpringBoot 提供了一个工具 spring-boot-devtools,只需要引用这个依赖就可以实现热部署。1,添加依赖:<dependency> <groupld>org.springframework.boot</groupld> <artifactId>spring-boot-devtools</artifactId&gt...

2020-03-08 23:45:58 92

原创 深入理解springmvc 底层原理

深入理解springmvc 底层原理springmvc执行流程:

2020-03-08 23:43:36 187

空空如也

空空如也

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

TA关注的人

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