自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java大数据联盟

专注Java和大数据技术分享!

  • 博客(43)
  • 收藏
  • 关注

原创 JVM内存管理与调优排障

主要讲解JVM内存管理、垃圾回收、JVM运行参数、线程堆栈文件分析、内存映射文件分析

2022-10-17 20:20:24 655

原创 MySQL事务和锁

主要讲解MySQL的隔离级别、事务、锁

2022-10-17 11:40:55 1479 1

原创 MySQL索引和优化

MySQL索引和优化

2022-09-12 12:10:29 2188

原创 MySQL日志和监控

MySQL各种日志的分析和执行计划的解析

2022-09-04 21:56:18 2168

原创 MySQL实用操作记录

这里写目录标题一级目录1.1 MySQL慢查询日志一级目录1.1 MySQL慢查询日志-- 查看是否开启慢查询日志show variables like '%slow_query_log%';-- 开启慢查询日志set global slow_query_log = 'ON';-- 查看慢查询日志文件show variables like '%slow_query_log_file%';-- 设置慢查询日志文件set global slow_query_log_file = '/va

2021-10-19 10:00:45 266

原创 Kubernetes基于StatefulSet部署Redis

Kubernetes基于StatefulSet部署Postgres配置文件配置文件# redis配置apiVersion: v1kind: ConfigMapmetadata: name: redis-config-mapdata: redis.conf: | bind 0.0.0.0 port 6379 requirepass 123456 appendonly yes protected-mode no dir /var/lib/red

2021-02-05 16:12:01 1151 1

原创 Kubernetes基于StatefulSet部署Postgres

Kubernetes基于StatefulSet部署Postgres配置文件配置文件# postgres配置apiVersion: v1kind: ConfigMapmetadata: name: postgres-config-mapdata: POSTGRES_PASSWORD: '123456'---# 内部访问的无头服务apiVersion: v1kind: Servicemetadata: name: postgres-servicespec: select

2021-02-05 15:48:08 1249

原创 Kubernetes基于StatefulSet部署MySQL

Kubernetes基于StatefulSet部署MySQL1 说明1.1 环境说明2 部署MySQL单节点服务2.1 创建部署文件2.2 部署文件说明2.3 执行部署文件2.4 访问MySQL服务1 说明1.1 环境说明集群说明:本文所使用的k8s集群使用Harbor私有镜像仓库,并使用NFS持久化数据,Harbor镜像仓库的搭建过程请参考Kubernetes使用Harbor私有镜像仓库,NFS服务搭建的过程请参考Kubernetes基于Volume存储数据。2 部署MySQL单节点服务2.

2021-02-05 15:34:31 645

原创 Kubernetes基于Ingress进行路由

Kubernetes基于Ingress进行路由1 说明1.1 环境说明1.2 服务说明2 路由规则2.1 基于域名进行路由2.2 基于路径进行路由2.3 基于域名进行匹配2.4 基于路径进行重写2.5 默认后端服务2.6 启用TLS2.7 启用限流1 说明1.1 环境说明集群说明:Kubernetes之Ingress Controller 这篇文章介绍了在Kubernetes集群中安装Nginx Ingress Controller的过程,以及简单的使用Ingress进行路由,本文在此基础之上,主要

2020-11-04 14:09:50 2428 1

原创 Kubernetes基于Volume存储数据

Kubernetes基于Volume存储数据1 Volume介绍1.1 Volume的作用1.2 Volume的特点1.3 Volume的类型2 Volume使用2.1 特别说明2.2 emptyDir2.3 hostPath2.4 configMap2.5 secret2.6 nfs2.6 persistentVolumeClaim2.6.1 创建persistentVolume2.6.2 创建persistentVolumeClaim2.6.3 使用persistentVolumeClaim2.6.4

2020-09-15 18:14:26 571

原创 Kubernetes基于Secret存储敏感数据

Kubernetes基于Secret存储敏感数据1 简介Secret1.1 用途1.2 类型2 Opaque类型的Secret2.1 创建Secret2.1.1 使用命令的方式创建2.1.1.1 通过文字值创建2.1.1.2 通过目录创建2.1.1.3 通过文件创建2.1.1.4 通过配置文件创建2.1.2 使用声明的方式创建2.2 使用Secret2.2.1 通过环境变量的方式使用2.2.1.1 使用Secret中指定的配置项2.2.1.2 使用Secret中所有的配置项2.2.2 通过挂载的方式使用2.

2020-09-09 15:09:42 782

原创 Kubernetes使用Harbor私有镜像仓库

Kubernetes使用Harbor私有镜像仓库1 安装说明1.1 安装要求说明1.2 安装版本说明1.3 集群效果说明2 安装步骤2.1 安装Docker2.2 安装Docker-Compose2.3 安装Harbor2.4 配置Docker客户端3 测试3.1 创建Harbor项目3.2 推送Docker镜像3.3 拉取Docker镜像1 安装说明1.1 安装要求说明集群要求说明:在安装 Harbor 私有镜像仓库之前,需要先有一个K8S集群,本文中使用的集群的搭建过程请见 基于CentOS 7

2020-09-03 12:37:44 3359

原创 基于Docker部署并试用Nginx主要功能

Nginx主要功能初体验1 Web服务器1.1 基于域名访问1.1.1 需求说明1.1.2 准备工作1.1.3 实战过程1.1.4 功能测试1.2 基于端口访问1.2.1 需求说明1.2.2 准备工作1.2.3 实战过程1.2.4 功能测试2 反向代理2.1 需求说明2.2 准备工作2.3 实战过程2.4 功能测试3 负载均衡3.1 需求说明3.2 准备工作3.3 实战过程3.4 功能测试4 流量限制4.1 需求说明4.2 准备工作4.3 实战过程4.4 功能测试5 Location说明5.1 Locati

2020-08-28 17:12:22 1622

原创 Kubernetes基于ConfigMap实现配置分离

Kubernetes基于ConfigMap实现配置分离1 创建ConfigMap的方式1.1 通过文字值创建1.2 通过目录创建1.3 通过文件创建1.4 通过配置文件创建1 创建ConfigMap的方式1.1 通过文字值创建创建语法:使用命令参数 --from-literal=key=value 定义一个配置项,可以定义一个或多个配置项。配置项中的 key 会成为 ConfigMap ...

2020-04-30 10:09:45 1653 1

原创 Kubernetes基于namespace实现环境隔离

Kubernetes基于namespace实现环境隔离1 实现步骤1.1 说明1.2 查看namespace1.3 创建namespace1.4 查看context1.5 查看config1.6 创建context1.7 切换context1.8 创建deployment1.9 检验1 实现步骤1.1 说明namespace:关于 namespace 的说明以及使用细节请见 namesp...

2020-04-21 13:58:37 3939

原创 Kubernetes之Ingress Controller

3.4 安装Nginx-Ingress-Controller创建配置文件: 在 master 节点中创建一个名称为 nginx-ingress-controller.yaml 的配置文件,该配置文件中定义了安装Nginx-Ingress-Controller所需要的各种资源,该yaml 配置文件的内容参考了官方示例 https://raw.githubusercontent.com/kube...

2020-04-16 12:08:25 1077 2

原创 Kubernetes之Dashboard

github: dashboard的github地址:https://github.com/kubernetes/dashboard安装dashboard的yaml:# Copyright 2017 The Kubernetes Authors.## Licensed under the Apache License, Version 2.0 (the "License");# ...

2020-04-15 10:54:28 584

原创 基于CentOS 7.6安装Kubernetes 1.18.0单Master节点集群

基于CentOS安装Kubernetes单Master节点集群1 安装说明1.1 安装要求说明1.2 安装版本说明1.3 集群效果说明2 安装准备2.1 查看主机配置2.2 查看主机IP地址2.3 设置主机hostname3 安装步骤3.1 安装Docker和Kubelet3.2 初始化master节点3.3 初始化worker节点3.4 安装 Ingress Controller1 安装说明...

2020-04-14 14:46:43 1095

原创 Docker容器中部署高可用的前后端分离的Java Web项目

Docker容器中部署高可用的前后端分离的Java Web项目1 项目说明1.1 项目运行环境1.2 项目组成架构1.3 项目部署总览2 搭建高可用的MySQL集群2.1 搭建PXC集群2.2 PXC集群高可用3 搭建高可用的Redis集群3.1 搭建Redis集群4 搭建高可用的API服务4.1 搭建API服务4.2 API服务高可用5 搭建高可用的Web服务5.1 搭建Web服务5.2 Web...

2020-03-31 13:44:37 3888 1

原创 Docker学习笔记

Docker学习笔记1 安装步骤1.1 安装Docker1.1.1 安装说明1.1.2 卸载旧版1.1.4 设置Docker仓库1.1.4 安装Docker引擎1.1.5 实用设置1.2 升级Docker1.3 卸载Docker2 组成架构3 镜像命令3.1 创建镜像 build3.2 创建镜像 commit3.3 镜像列表 images3.4 查看镜像 inspect3.5 删除镜像 rmi3....

2019-11-11 09:32:20 1489

原创 Spring Boot整合Swagger2自动生成接口文档

1 背景在实际开发中,前后端分离的项目架构已经被越来越多的公司和团体采用,这种架构能够让前端开发人员和后端开发人员在遵循相同的接口的前提下同时进行各自的开发,从而能够有效地提高开发效率。然而,现实的开发工作中,接口经常需要进行改变,这无疑增加了接口文档的维护成本,同时增加了前端人员和后端人员之间的沟通成本。Swagger2技术能够让开发人员在代码中只是增加少量的注解描述,就能够自动生成接口文档,...

2019-08-26 15:04:18 1545

原创 Linux命令学习笔记

Linux命令学习笔记1 前言2 目录命令2.1 切换目录 cd2.2 查看目录 ls2.3 创建目录 mkdir2.4 删除目录 rm2.5 复制目录 cp2.6 移动目录 mv2.7 改名目录 mv2.8 链接目录 ln3 文件命令3.1 创建文件 touch3.2 删除文件 rm3.3 复制文件 cp3.4 移动文件 mv3.5 改名文件 mv3.6 链接文件 ln3.7 查看文件 cat3...

2019-08-23 16:12:35 1314

原创 vim学习笔记

vim学习笔记1 vim1.1 vim 介绍1.2 vim 使用1.3 vim 模式1.4 vim 键盘2 命令模式2.1 跳转命令2.2 查找命令2.3 删除命令2.4 替换命令2.5 复制命令2.6 粘贴命令2.7 撤销命令2.8 恢复命令2.9 缩进命令3 插入模式4 末行模式4.1 文件命令4.2 跳转命令4.3 查找命令4.4 删除命令4.5 替换命令4.6 分屏命令4.7 行号命令1...

2019-08-16 10:44:01 186

原创 Linux系统中的日志文件过多导致根目录用率达到100%的问题查找和解决方法

1 问题查找进入到Linux磁盘的根目录,然后使用以下命令来查看根目录下各子目录的存储空间使用率:cd /df -h查看结果如下所示:进入想要查看的目录,然后使用以下命令来查看该目录下各子目录已使用的存储空间大小:cd /du -h -x --max-depth=1查看结果如下所示:重复第2步,直到找到是哪些目录使用的存储空间较大。2. 解决方法如果通过上面的方法找...

2019-08-13 16:13:43 1355

原创 Shell脚本学习笔记

Shell脚本学习笔记1 Shell基本概述1.1 Shell脚本的基本格式1.2 Shell脚本的执行方式1.3 BashShell脚本的特性2 Shell脚本变量2.1 变量常见类型2.1.1 自定义变量2.1.2 系统环境变量2.1.3 位置参数变量2.1.4 预先定义变量2.2 变量赋值方式2.2.1 显示赋值2.2.2 从键盘读取变量值2.2.3 变量的强弱引用2.2.4 两种命令替换2...

2019-08-08 18:39:30 979

原创 Mybatis使用Left Join进行一对多关联查询导致结果总是一对一的解决方法

1 问题描述现有三张表如下(其中用户和角色之间是一对多的关联关系):用户表(user): id, usernameidusername1user12user2角色表(role): id, role_nameidrole_name1role12role2用户角色关联表(user_role): id, user_id, r...

2019-07-19 10:29:59 7465 1

原创 Flink实时处理并将结果写入ElasticSearch实战

Flink实时处理并将结果写入ElasticSearch实战1 需求分析2 Flink实时处理2.1 版本说明2.2 项目结构2.3 程序代码3 Elasticsearch准备3.1 安装IK Analyzer中文分词器3.2 在Elasticsearch中创建索引4 测试Flink实时处理1 需求分析使用Flink对实时数据流进行实时处理,并将处理后的结果保存到Elasticsearch中,...

2019-05-16 14:14:44 8583 1

原创 Java集合源码剖析之HashMap

Java集合源码剖析之HashMap1 HashMap概括1.1 特性1.2 数据结构2 HashMap源码剖析2.1 继承关系2.2 元素节点2.3 重要属性2.4 构造方法2.5 核心方法2.5.1 添加元素2.5.2 查询元素2.5.3 修改元素2.5.4 删除元素2.5.5 其它方法1 HashMap概括1.1 特性HashMap中存储的元素都是<key, value>键...

2019-04-08 09:21:45 214

原创 Java集合源码剖析之LinkedList

Java集合源码剖析之LinkedList1 LinkedList概括1.1 特性1.2 数据结构2 LinkedList源码剖析2.1 继承关系2.2 元素节点2.3 成员属性2.4 构造方法2.5 核心方法2.5.1 添加元素2.5.2 查询元素2.5.3 修改元素2.5.4 删除元素2.5.5 其它方法1 LinkedList概括1.1 特性LinkedList是基于双向链表实现的有序...

2019-04-03 15:06:43 186

原创 Java集合源码剖析之ArrayList

Java集合源码剖析之ArrayList1 ArrayList概括1.1 特性1.2 数据结构2 ArrayList源码剖析2.1 继承关系2.2 成员属性2.3 构造方法2.4 核心方法2.4.1 添加元素2.4.2 查询元素2.4.3 修改元素2.4.4 删除元素2.4.5 数组扩容2.4.6 其它方法1 ArrayList概括1.1 特性ArrayList是基于数组实现的有序且集合,它...

2019-04-03 13:30:40 195

原创 OAuth2资源服务器

OAuth2资源服务器1 说明2 资源服务器实现2.1 创建工程2.2 资源服务器配置类2.3 用户资源请求入口类2.4 用户资源获取服务接口2.5 用户资源获取服务实现类2.6 主启动类2.7 其它配置3 测试3.1 获取令牌3.2 请求资源4 总结1 说明授权服务器主要是提供用户认证、授权、颁发令牌等功能,而资源服务器主要是保护用户资源。授权服务器先给合法的用户颁发令牌,用户再使用获得的令...

2019-03-29 15:42:26 4689 1

原创 OAuth2授权服务器和四种授权方式

OAuth2授权服务器和四种授权方式1 问题描述2 授权服务器实现2.1 创建工程2.2 授权相关的配置2.3 认证相关的配置2.4 用户信息获取2.5 主启动类2.6 其它配置3 四种授权方式的测试3.1 授权码授权方式3.1.1 配置说明3.1.2 测试步骤3.2 密码授权方式3.2.1 配置说明3.2.2 测试步骤3.3 简化授权方式3.3.1 配置说明3.3.2 测试步骤3.4 客户端授权...

2019-03-29 11:20:34 8378 10

原创 Spring Security用户认证和权限控制(自定义实现)

Spring Security用户认证和权限控制(自定义实现)1 说明2 用户认证相关的自定义实现2.1 自定义用户认证页面2.2 自定义退出功能2.3 自定义用户认证拦截器2.4 自定义用户认证处理器2.5 自定义用户认证对象2.6 自定义用户认证成功处理器2.7 自定义用户认证失败处理器2.8 自定义用户认证处理逻辑的应用3 权限控制相关的自定义实现3.1 自定义权限数据获取类3.2 自定义权...

2019-03-29 10:04:48 25059 21

原创 Spring Security用户认证和权限控制(默认实现)

不使用oauth

2019-03-28 13:58:02 35865 16

原创 JSONObject.toJSONString()包含或排除指定的属性

1 背景在Java开发中,通常需要将一个实体对象转换成Json字符串,使用FastJson来实现这种转换十分方便,只要使用FastJson中JSONObject静态类提供的toJSONString()静态方法即可。但是在转换时,我们可能需要指定使用实体对象的某些属性来进行转换,或者指定转换时要排除实体对象的某些属性。FastJson提供的SerializeFilter类就可以实现这种需求,可以...

2019-03-26 15:36:11 30973

原创 Spring Security使用自定义的用户登录页面导致退出功能异常的原因分析与解决方案

Spring Security使用自定义的用户登录页面导致退出功能异常的原因分析与解决方案1 问题描述2 问题重现2.1 使用默认的用户登录页面,退出成功2.2 使用自定义的用户登录页面,退出失败3 原因分析3.1 对比两次请求3.2 分析执行原理3.3 分析结果总结4 解决方法4.1 使用POST请求/logout4.2 使用自定义的RequestMatcher4.3 改变默认的RequestM...

2019-03-20 22:51:39 2397 4

原创 HttpClient完整使用示例

HttpClient的使用总结1 背景2 案例说明3 创建HttpClient工程3.1 版本说明3.2 创建项目4 创建HttpClientService工程4.1 版本说明4.2 创建项目5 测试1 背景Java程序猿在做业务系统时,经常会遇到自动生成Excel文档或者从Excel文档批量导入数据的需求,因此,掌握Java操作Excel文档的技术极其重要。Java操作Excel文档的技术...

2019-03-12 10:27:06 11695 4

原创 Java使用POI读写Excel文档

Java使用POI读写Excel文档1 背景2 目标效果3 创建Java程序3.1 版本说明3.2 创建项目4 测试1 背景Java程序猿在做业务系统时,经常会遇到自动生成Excel文档或者从Excel文档批量导入数据的需求,因此,掌握Java操作Excel文档的技术极其重要。Java操作Excel文档的技术方案较多,本文使用最常用的Java + POI的方案,包括:自动生成Excel文档、...

2019-03-06 10:06:55 6663 1

原创 JSONObject.toJSONString()默认忽略值为null的属性

1 背景在Java开发中,通常需要将一个实体对象转换成Json字符串,使用FastJson来实现这种转换十分方便,只要使用FastJson中JSONObject静态类提供的toJSONString()静态方法即可,但是如果不了解这个方法,很有可能就会使得转换后的Json不合自己的要求。使用JSONObject把实体对象转换成Json字符串时,如果实体对象中有些属性的值为null,则默认转换后的...

2019-03-04 16:42:18 60097 3

原创 Java使用FreeMarker自动生成Word文档(带图片和表单)

Java使用FreeMarker自动生成Word文档(带图片和表单)1 背景2 目标效果3 创建Word模板3.1 创建模板文档3.2 转换模板文档3.3 处理模板文档中的占位符3.4 处理模板文档中的图片3.5 处理模板文档中的表单3.6 重命名模板文档4 创建Java程序4.1 版本说明4.2 创建项目5 测试5.1 准备5.2 生成Word文档6 踩坑6.1 特殊符号6.2 换行符6.3 内...

2019-03-01 13:21:55 26471 12

空空如也

空空如也

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

TA关注的人

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