自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

西瓜游侠的博客

开心快乐码代码!

  • 博客(478)
  • 资源 (1)
  • 收藏
  • 关注

原创 知识点总结(目录)

找工作知识点一、JAVA基本知识点 1、String、StringBuffer、StringBuilder的区别: http://blog.csdn.net/hbtj_1216/article/details/70305992JAVA集合 java集合: http://www.cnblogs.com/skywang12345/p/3323085.htmlJAVA多线程 j

2017-07-15 14:52:55 1949

原创 CentOS 7.9 安装 MySQL 8.0.25(rpm版本)

服务器版本:CentOS Linux release 7.9.2009 (Core)数据库版本:mysql-8.0.25,community版本1 下载安装包官网下载页面地址:https://dev.mysql.com/downloads/mysql/Operation System选择:Red Hat Enterprise Linux / Oracle LinuxOS Version选择:Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86,64-.

2022-05-07 00:25:56 2384 1

原创 OAuth2.0简介

OAuth 2.0是用于授权的行业标准协议。1 相关名词Resource owner(资源拥有者):拥有该资源的最终用户,他有访问资源的账号密码;Resource server(资源服务器):受保护资源所在的服务器,如果请求包含正确的访问令牌,就可以访问受保护的资源;Client(客户端):请求访问资源的客户端,可以是浏览器、移动设备或者服务器,客户端会携带访问令牌访问资源服务器上的资源;Authorization server(认证服务器):负责认证客户端身份的服务器,如果客户端认证通过,会给

2022-03-26 22:57:53 5103

原创 centos7设置elasticsearch开机自启动

elasticsearch版本:7.16.3如何安装elasticsearch,详见:centos7安装并运行elasticsearch-7.16.3本文通过systemctl命令设置开机自启动。1、编写elasticsearch.service文件创建文件:vi /etc/systemd/system/elasticsearch.service #该文件不存在,会打开一个空白页面新建编写服务:[Unit]Description=elasticsearch 7.16.3[Ser.

2022-02-05 22:47:45 3382

原创 centos7安装kibana-7.16.3

elasticsearch版本:7.16.3kibana版本:7.16.3注意:kibana的版本和elasticsearch版本需要保持一致!前提:已安装elasticsearch-7.16.3,安装教程详见 centos7安装并运行elasticsearch-7.16.3安装运行kibana1、下载安装包下载地址:https://www.elastic.co/cn/downloads/kibana选择 Linux x86_64下载安装包 kibana-7.16.3-linux-x86.

2022-01-26 00:06:05 3183

原创 Docker安装并运行Rancher2.5.10

前提条件:安装CentOS7系统,可以使虚拟机安装的;在CentOS7中安装docker。下载Rancher镜像截止目前官网最新版本是v2.5.10,执行命令下载Rancher最新镜像:[root@localhost home]# docker pull rancher/rancher:v2.5.10查看镜像:[root@localhost home]# docker imagesREPOSITORY TAG IMAGE ID CREATED .

2021-10-23 01:06:46 1298

原创 微服务合集导航

导航SpringBoot@SpringBootApplication注解

2021-10-20 21:56:10 179

原创 MongoDB设置登录账号和密码

设置用户名和密码安装MongoDB。使用mongo工具连接数据库(双击打开就行,默认不需要认证账号)。设置超级管理员账号和密码use admindb.createUser({ user: 'admin', // 用户名(自定义) pwd: 'Abc123++', // 密码(自定义) roles:[{ role: 'root', // 使用超级用户角色 db: 'admin' // 指定数据库 }]})设置完成,可以通过指

2021-10-20 21:49:22 37952

原创 ssh配置和多平台ssh配置

1 单个平台SSH配置以Gitee为例,记录如何配置SSH。1.1 使用Git Bash客户端下面记录使用Git Bash客户端,如何配置SSH。1.1.1 本地生成sshkey通过以下指令在本地生成sshkey: ssh-keygen -t rsa -C '[email protected]'-t:指定要创建的秘钥类型,支持rsa和dsa;-C:添加注释。网上有很多说-C这里要填邮箱,实际并不是强制的,这里只是一个注释。不过,使用邮箱便于我们更好的区分。输入以上命令之后,敲回车,会出现如下

2021-10-06 19:23:03 335

原创 MyBatis-Plus实现乐观锁

MyBatis-Plus是通过version机制实现乐观锁的。大致思路:取出记录,携带记录的当前version;更新记录的时候,比较记录当前的version是否有改变;如果version未改变,则更新记录,并更新version,一般值+1;如果version改变了,则不更新记录。version机制的核心思想就是,假设发生并发冲突的几率很低,只有当更新数据的时候采取检查是否有冲突,而判断是否有冲突的依据就是version的值是否被改变了。配置MyBatis-Plus中配置乐观锁分两步:

2021-09-25 00:30:52 3466

原创 MyBatis-Plus逻辑删除

有时候并不需要真正的删除数据,而是想逻辑删除,方便数据恢复。MyBatis-Plus可以很方便的实现逻辑删除的功能。Entity类首先,数据库表添加一个表示逻辑删除的字段delete_flag:CREATE TABLE `tb_user` ( `id` bigint NOT NULL COMMENT '主键ID', `name` varchar(30) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '姓名', `age` int DEF

2021-09-20 21:50:39 7601 3

原创 MyBatis-Plus自动填充字段

有些字段例如create_time、update_time,在insert或update的时候总是要去填写的,比较繁琐。MyBatis-Plus自动填充字段的功能,能够有效的简化这些字段的设置。Entity类以用户表为例,添加两个新的字段create_time、update_time:CREATE TABLE `tb_user` ( `id` bigint NOT NULL COMMENT '主键ID', `name` varchar(30) COLLATE utf8mb4_general_

2021-09-20 17:59:33 833

原创 MyBatis-Plus分页插件的使用

从MyBatis-Plus 3.4.0开始,不再使用旧版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor。下面是MyBatis-Plus 3.4.3.3新版分页的使用方法。配置使用分页插件需要配置MybatisPlusInterceptor,将分页拦截器添加进来:@Configurationpublic class MyBatisPlusConfig { /** * 分页插件配置 * * @retur.

2021-09-20 13:33:58 21290 2

原创 MyBatis-Plus提供的默认Service能力

MyBatis-Plus不仅有BaseMapper接口提供给基本的CRUD功能,还在Service层提供了IService接口,扩展了BaseMapper的功能。官方文档 传送门下面,详细整理IService<T>提供的能力。增插入一条记录 default boolean save(T entity) { return SqlHelper.retBool(getBaseMapper().insert(entity)); }例子: @Test

2021-09-19 21:48:05 1409

原创 MyBatis-Plus提供的默认Mapper能力

MyBatis-Plus提供的BaseMapper接口,内置了很多单表CRUD功能,我们只需要定义一个接口去继承它,就能瞬间拥有这些能力。下面,详细整理BaseMapper提供的能力。增1. 传入实体Entity对象,添加一条记录int insert(T entity);例子: @Test public void testInsert() { UserEntity user = new UserEntity(); user.setId(6L);

2021-09-12 14:57:28 1204

原创 MyBatis-Plus提供的注解

下面对MyBatis-Plus提供的注解进行整理。官方文档 传送门@TableName用于指定表名,作用在实体类上面。常用的属性:value —— 表名例子:@TableName("tb_user")public class UserEntity { ...}@TableId用于指定表的主键名。常用属性:value —— 主键名type —— 主键类型其中,主键类型type默认值是IdType.NONE,取值有以下几种:IdType.AUTO ——

2021-09-11 21:40:23 558

原创 SpringBoot集成MyBatis-Plus

官网:https://mp.baomidou.com/1 简介MyBatis-Plus 是一个Mybatis的增强工具,在 MyBatis 的基础上只做增强不做改变。也就是说,引入了MyBatis-Plus之后,如果不想使用它的功能,也不会影响MyBatis的使用。MyBatis-Plus的特性在官网有详细说明。传送门MyBatis-Plus最大的方便之处就是提供了通用的Mapper和Service,只需要通过简单的继承就可以支持单表大部分的CRUD操作,大大提高了开发效率。2 Spri.

2021-09-11 17:08:24 1814 2

转载 详解RDD、DataFrame、Dataset

转载:https://www.cnblogs.com/starwater/p/6841807.html在Spark中,有三个针对数据的抽象结构:RDD、FataFrame、Dataset。1 共同点RDD、FataFrame、Dataset有以下共同点:RDD、FataFrame、Dataset都是分布式的弹性数据集,是对处理的数据的一种抽象。都有 惰性机制,在 转化操作 时,不会立即执行,只有在遇到 行动操作 时才会开始计算。都会根据Spark内存情况自动缓存运算,即使数据量很大也不用担.

2021-07-26 00:11:24 989

原创 Docker构建能够ssh远程登录的CentOS7容器

期望效果:通过Docker构建一个安装了ssh的CentOS 7容器,并能够通过远程工具登录。1 下载centos:7镜像docker pull centos:72 创建目录,编写Dockerfile[root@localhost ~]# cd /home/root/docker/[root@localhost docker]# mkdir centos-ssh[root@localhost docker]# cd centos-ssh/[root@localhost docker]# .

2021-07-21 23:24:28 881 4

原创 CentOS 7 升级内核到4.4

CentOS 7.x系统自带的3.10.x内核存在一些Bugs,导致运行的Docker、kubernetes不稳定,建议升级内核到4.4。下载内核源rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm安装最新版本内核yum --enablerepo=elrepo-kernel install -y kernel-lt查看可用内核cat /boot/grub2/grub.cfg |grep menue

2021-07-19 22:58:21 1101

转载 xxl-job官方文档学习笔记

参考:官方文档XXL-JOB是一个分布式任务调度平台。1 特性简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部署,可保证调度中心HA;执行器HA(分布式):任务分布式执行,任务”执行器”支持集群部署,可保证任务执行HA;注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持.

2021-06-19 22:32:38 2631

原创 centos7防火墙开通指定端口的访问权限(以8080端口为例)

1、查看防火墙的状态firewall-cmd --state2、如果上一步处于关闭状态,输入以下命令启动防火墙:systemctl start firewalld.service3、开启8080端口,输入以下命令:firewall-cmd --zone=public --add-port=8080/tcp --permanent说明:–zone=public:表示作用域为公共的;–add-port=8080/tcp:添加tcp协议的端口8080;–permanent:永久生效,如果

2021-06-19 15:37:22 1762 2

原创 大数据专栏目录

环境搭建CentOS 7系统安装jdk1.8// todo

2021-06-19 00:07:16 155

原创 Redis常用命令整理

连接 Redis# 连接本地Redisredis-cli# 连接远程Redisredis-cli -h host -p port -a password系统相关# 输入密码进行授权AUTH password# 打印字符串ECHO message# ping服务,查看服务是否允许PING# 关闭当前连接QUIT# 切换数据库DB0~DB15SELECT indexkey 相关的命令# 删除keyDEL key# 序列化给定key的值,并返回被序列化的值D

2021-05-30 16:38:36 97

原创 synchronized 和 Lock 的比较

synchronized 和 Lock 的区别:Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现。synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生。而Lock在发生异常时,如果没有主动通过unLock()去释放锁,则很可能造成死锁现象,因此使用Lock时需要在finally块中释放锁。Lock可以让等待锁的线程响应中断,而synchronized却不行。使用synchronized时,等待的线程会一直等

2021-05-27 20:10:34 497

原创 volatile

volatile的特性保证变量对所有线程的可见性,线程总能拿到最新的值;禁止指令重排;对任意单个volatile变量的读/写具有原子性,但是对于类似的volatile++这种复合操作不具有原子性。volatile的内存语义当写一个 volatile 变量时,JMM 会把该线程对应的本地内存中的共享变量值刷新到主内存。当读一个 volatile 变量时,JMM 会把该线程对应的本地内存置为无效,线程接下来将从主内存中读取共享变量最新的值。volatile是如何解决java并发中可见性

2021-05-24 21:01:08 123

原创 Java内存模型

Java线程之间的通信由Java内存模型(JMM) 控制,JMM决定一个线程对共享 变量的写入何时对另一个线程可见。线程之间的共享变量存储在 **主内存(Main Memory)**中,每个线程都有一个私有的 本地内存(Local Memory),本地内存中存储了该线程以读/写共享变量的副本。Java内存模型的抽象示意如图所示:...

2021-05-24 20:43:43 138

转载 MyBatis一级缓存和二级缓存

转载:Mybatis(三) 缓存 (juejin.cn)1 一级缓存MyBatis的一级缓存(也叫作本地缓存)是基于org.apache.ibatis.cache.impl.PerpetualCache 类的 HashMap 本地缓存。一级缓存作用域是SqlSession。在同一个SqlSession中两次执行相同的 sql 查询语句,第一次执行完毕后,会将查询结果写入到缓存中,第二次会从缓存中直接获取数据,而不再到数据库中进行查询,这样就减少了数据库的访问,从而提高查询效率。MyBatis.

2021-05-23 20:44:31 123

原创 MyBatis热点问题整理

1#{} 和 ${} 的区别?#{} 是占位符,预编译处理;${} 是拼接符,字符串替换,没有预编译处理。Mybatis在处理 #{} 时,#{} 传入参数是以字符串传入,会将SQL中的 #{} 替换为 ? 号,调用PreparedStatement的set方法来赋值。#{} 可以有效的防止SQL注入,提高系统安全性;${} 不能防止SQL 注入。#{} 的变量替换是在DBMS 中;${} 的变量替换是在 DBMS 外。2 模糊查询like语句该怎么写?’%${ques

2021-05-23 20:22:53 370

转载 MyBatis架构

转载:MyBatis面试题(总结最全面的面试题) (juejin.cn)1MyBatis编程步骤是什么样的?创建SqlSessionFactory通过SqlSessionFactory创建SqlSession通过SqlSession执行数据库操作调用session.commit()提交事务调用session.close()关闭会话2 MyBatis的工作原理(重点)描述如下:读取 MyBatis 配置文件。mybatis-config.xml 为 MyBatis 的全局配置文.

2021-05-23 16:49:18 140

转载 MyBatis简介

转载:1 MyBatis是什么?MyBatis 是一个半 ORM(对象关系映射,Object Relational Mapping)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高。MyBatis 可以使用 XML 或 注解 来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及.

2021-05-23 15:27:36 147

原创 最左前缀匹配

MYSQL 可以创建 联合索引(即有多个列的索引)。一个索引最多可以包含 16 列。当你创建了一个联合索引,该索引的任何最左前缀都可以用于查询。比如当你有一个联合索引 (col1, col2, col3),该索引的所有前缀为 (col1)、(col1, col2)、(col1, col2, col3),包含这些列的所有查询都会使用该索引进行查询。例子首先我们有如下一个表:CREATE TABLE test ( id INT NOT NULL, last_name

2021-05-23 13:39:12 224

原创 常见问题整理(常用SQL写法、热点问题)

1 SQL备忘录创建表CREATE TABLE IF NOT EXISTS tasks ( task_id INT(11) NOT NULL AUTO_INCREMENT, subject VARCHAR(45) DEFAULT NULL, start_date DATE DEFAULT NULL, end_date DATE DEFAULT NULL, description VARCHAR(200

2021-05-23 13:07:08 265

转载 MySQL 分页查询limit性能缺陷和优化方案

MySQL使用 limit 分页:limit m,n其中,m是偏移量,n是要查询的数量。当偏移量m过大的时候,查询效率会很低。因为MySQL是先查出m+n个数据,然后抛弃掉前m个数据。优化方法:可以通过子查询查出查出目标数据集合的第一个数据所在的行,然后用 >= 操作。如下:SELECT * FROM articles WHERE id >= (SELECT id FROM articles WHERE category_id = 123 ORDER BY id LIMIT

2021-05-23 11:07:51 2519

原创 MySQL读写分离(主从复制)

如何实现 MySQL 的读写分离?其实很简单,就是基于 主从复制架构。简单来说,就搞⼀个主库,挂多个从库,然后我们就 单单只是写主库,然后主库会⾃动把数据给同步到从库上去。MySQL主从复制的作用主数据库出现问题,可以切换到从数据库。可以进行数据库层面的读写分离。可以在从数据库上进行日常备份。MySQL主从复制的原理第一步:master在每个事务更新数据完成之前,将该操作记录串行地写入到binlog日志文件中。第二步:salve开启一个I/O 线程,从master拉取 bin l

2021-05-23 10:55:37 192 1

转载 MySQL分库、分表

转载:MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列) (juejin.cn)当数据量较大时(一般 千万条 记录级别以上),MySQL的性能就会开始下降,这时我们就需要 分库、分表,来优化数据,提高数据库的执行效率。1 分库一个库里表太多了,导致了海量数据,系统性能下降,把原本存储于一个库的表拆分存储到多个库上, 通常是将表按照功能模块、关系密切程度划分出来,部署到不同库上。优点:减少增量数据写入时的锁对查询的影响。由于单表数量下降,常见的查询操作由于减少了.

2021-05-22 23:39:47 176

转载 MySQL调优

转载:MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列) (juejin.cn)1 性能分析1.1 MySQL Query Optimizer(查询优化器)MySQL 中有专门负责优化 SELECT 语句的 优化器模块,主要功能:通过计算分析系统中收集到的统计信息,为客户端请求的 Query 提供它认为最优的执行计划(它认为最优的数据检索方式,但不见得是 DBA 认为是最优的,这部分最耗费时间)当客户端向 MySQL 请求一条 Query,命令解析器模块完成请求分.

2021-05-22 23:16:07 125

转载 MySQL中的锁机制

转载:MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列) (juejin.cn)1 锁的分类(1)从对数据操作的类型分类:读锁(共享锁):针对同一份数据,多个读操作可以同时进行,不会互相影响。写锁(排他锁):当前写操作没有完成前,它会阻断其他写锁和读锁。(2)从对数据操作的粒度分类:表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低(MyISAM 和 MEMORY 存储引擎采用的是表级锁);行级锁:开销大,加锁慢;会出现死.

2021-05-22 21:22:21 117

转载 MySQL数据库事务

转载:MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列) (juejin.cn)1 ACID事务基本要素一个事物由一批操作组合而成,要么全部成功,要么全部失败。事务四要素:A (Atomicity) 原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。C (Consistency) 一致性:在事务开始之前和事务结束以后,数据.

2021-05-22 21:00:58 122

转载 MySQL索引总结

转载:MySQL 三万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列) (juejin.cn)1 MySQL索引简介索引的本质是 数据结构,索引的目的在于 提高查询效率,可以类比字典、 火车站的车次表、图书的目录等 。可以简单的理解为“排好序的快速查找数据结构”,数据本身之外,数据库还维护者一个满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。下图是一种可能的索引方式示例。索引本身也很大,.

2021-05-22 19:44:32 148

sensebuilder2.0

sensebuilder2.0 windows安装程序,官网太慢了,下载下来供大家使用

2018-11-17

空空如也

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

TA关注的人

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