自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(233)
  • 资源 (3)
  • 收藏
  • 关注

转载 ruoyi框架@DataScope注解使用

通过报错信息,我们发现这么一句 WHERE (.dept_id ,说明sql语句中没有加别名,只要加上即可:select queue_id, queue_name from backup_queue_manage d。(1)mysql表sys_role中,有一个data_scope字段,该字段为角色对应的数据权限标识。(3)后台根据登录用户角色的dataScope动态的拼接sql语句,来进行数据范围的过滤。(1)打开角色管理菜单,创建角色,选择该角色可以查看的菜单权限。(3)、新增用户,并关联你的角色。..

2022-08-15 21:29:05 657

原创 自定义rocketmq启动脚本

按照顺序先后启动mqnamesrv、mqbroker、可视化管理工具。source一下,启动脚本我的是存放再script目录下。任意目录下都可以使用。

2022-08-04 17:40:45 177

原创 分布式事务解决方案

事务由单独单元的一个或者多个sq!语句组成,在这个单元中,每个mysql语句时相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条sq!语句一旦执行失败或者产生错误,整个单元将会回滚,所有受到影响的数据将会返回到事务开始以前的状态;如果单元中的所有sq!语句均执行成功,则事务被顺利执行。分布式事务就是为了保证不同数据库的数据一致性CAP定理,又被叫作布鲁尔定理。对于设计分布式系统(不仅仅是分布式事务)的架构师来说,CAP就是你的入门理论。...

2022-08-02 11:37:54 48

原创 消息中间件汇总

RabbtiMQ理论基础RabbitMQ支持消息的模式(官方API)RabbitMQ使用场景RabbitMQ支持消息的模式(SpringBoot)RabbitMQ-过期时间TTLRabbitMQ-死信队列RabbitMQ运维-持久化机制和内存磁盘的监控

2022-08-01 16:43:30 39

原创 RabbitMQ运维-持久化机制和内存磁盘的监控

消息持久化是通过消息的属性deliveryMode来设置是否持久化,在发送消息时通过basicPublish的参数传入。不论是持久化的消息还是非持久化的消息都可以写入到磁盘中,只不过非持久的是等内存不足的情况下才会被写入到磁盘中。非持久消息是指当内存不够用的时候,会把消息和数据转移到磁盘,但是重启以后非持久化队列消息就丢失。队列的持久化是定义队列时的durable参数来实现的,Durable为true时,队列才会持久化。然后重启rabbit-server服务,会发现持久化队列依然在,而非持久队列会丢失。..

2022-07-27 13:49:54 337

原创 RabbitMQ-死信队列

DLX,全称为Dead-Letter-Exchange,可以称之为死信交换机,也有人称之为死信邮箱。当消息在一个队列中变成死信(deadmessage)之后,它能被重新发送到另一个交换机中,这个交换机就是DLX,绑定DLX的队列就称之为死信队列。消息被拒绝消息过期队列达到最大长度DLX也是一个正常的交换机,和一般的交换机没有区别,它能在任何的队列上被指定,实际上就是设置某一个队列的属性。......

2022-07-27 13:43:28 283

原创 RabbitMQ-过期时间TTL

过期时间TTL表示可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取;过了之后消息将自动被删除。RabbitMQ可以对消息和队列设置TTL。目前有两种方法可以设置。第一种方法是通过队列属性设置,队列中所有消息都有相同的过期时间。第二种方法是对消息进行单独设置,每条消息TTL可以不同。如果上述两种方法同时使用,则消息的过期时间以两者之间TTL较小的那个数值为准。消息在队列的生存时间一旦超过设置的TTL值,就称为deadmessage被投递到死信队列,消费者将无法再收到该消息。...

2022-07-27 13:25:55 55

原创 RabbitMQ支持消息的模式(SpringBoot)

生产者负责生产订单,并调用消息队列调用其他服务//1.根据商品id查询库存是否重组//2.保存订单StringorderId=UUID.randomUUID().toString();System.out.println("订单生产成功"+orderId);//3.通过MQ来完成消息的分发/**参数1交换机*参数2路由key/queue队列名称System.out.println("producer发送订单信息成功");......

2022-07-26 09:26:52 236

原创 RabbitMQ使用场景

按照以上约定,用户的响应时间相当于是订单信息写入数据库的时间,也就是50毫秒。注册邮件,发送短信写入消息队列后,直接返回,因此写入消息队列的速度很快,基本可以忽略,因此用户的响应时间可能是50毫秒。并行方式将订单信息写入数据库成功后,发送注册邮件的同时,发送注册短信。与串行的差别是,并行的方式可以提高处理的时间。串行方式将订单信息写入数据库成功后,发送注册邮件,再发送注册短信。5如果服务器承载不了,你需要自己去写高可用,HA镜像模型高可用。4如何保证消息的可靠性,死信队列和消息转移的等。...

2022-07-25 19:33:33 32

原创 RabbitMQ支持消息的模式(官方API)

由于消息接收者处理消息的能力不同,存在处理快慢的问题,我们就需要能者多劳,处理快的多处理,处理慢的少处理;2、公平分发根据消费者的消费能力进行公平分发,处理快的处理的多,处理慢的处理的少;总结work1和work2的消息处理能力不同,但是最后处理的消息条数相同,是“按均分配”。当有多个消费者时,我们的消息会被哪个消费者消费呢,我们又该如何均衡消费者消费信息的多少呢?Direct模式是fanout模式上的一种叠加,增加了路由RoutingKey的模式。1、轮询模式的分发一个消费者一条,按均分配;...

2022-07-25 19:12:16 73

原创 RabbitMQ理论基础

1、项目中为什么要使用消息中间件2、项目中为什么使用RocketMQ而不是RabbitMQ3、系统TPS有多少?引入消息中间件之后,系统一定不会被撑爆了吗?4、消息中间件中出现大量的消息堆积。会产生什么后果?5、如何发现出现了大量消息的堆积?采取了哪些应急措施?问题产生的根源是什么?如何避免。......

2022-07-25 09:02:26 44

原创 Docker基础

Docker的常用命令帮助命令帮助文档的地址 https://docs.docker.com/reference/镜像命令docker images 查看所有本地的主机上的镜像docker search 搜索镜像docker pull 下载镜像docker rmi -f [镜像id]容器命令说明:有了镜像才可以创建容器,linux新建容器列出所有运行中的容器退出容器删除容器启动和停止容器的操作后台启动容器查看日志查看容器中的进程信息查看镜像的元数据进入当前正在运行的容器从容

2022-06-17 09:31:42 47

原创 Yarn 资源调度器概述

Yarn资源调度器概述思考:1)如何管理集群资源?2)如何给任务合理分配资源?Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。1、Yarn基础架构Yarn主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成。2、Yarn工作机制​ (1)MR程序提交到客户端所在的节点。​ (2)Ya

2022-04-25 10:57:37 297

原创 Hadoop数据压缩

Hadoop数据压缩1、概述1)压缩的好处和坏处压缩的优点:以减少磁盘IO、减少磁盘存储空间。压缩的缺点:增加CPU开销。2)压缩原则(1)运算密集型的Job,少用压缩(2)IO密集型的Job,多用压缩2、MR支持的压缩编码1)压缩算法对比介绍压缩格式Hadoop自带?算法文件扩展名是否可切片换成压缩格式后,原来的程序是否需要修改DEFLATE是,直接使用DEFLATE.deflate否和文本处理一样,不需要修改Gzip是,直接使用DEFL

2022-03-17 12:18:31 105

原创 MapReduce 框架原理

MapReduce 框架原理1、InputFormat 数据输入1.1 切片与MapTask并行度决定机制1)问题引出MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度。思考:1G的数据,启动8个MapTask,可以提高集群的并发处理能力。那么1K的数据,也启动8个MapTask,会提高集群性能吗?MapTask并行任务是否越多越好呢?哪些因素影响了MapTask并行度?2)MapTask并行度决定机制数据块: Block是HDFS物理上把数据分成一块一块。

2022-03-17 12:11:58 2931

原创 Hadoop序列化

Hadoop序列化1、序列化概述1)什么是序列化序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。2)为什么要序列化一般来说,“活的”对象只生存在内存里,关机断电就没有了。而且“活的”对象只能由本地的进程使用,不能被发送到网络上的另外一台计算机。 然而序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。3)为什么不用Java的序列化Java

2022-02-15 09:40:30 567

原创 MapReduce概述

1、MapReduce概述1.1 MapReduce定义MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。1.2 MapReduce优缺点优点1)MapReduce易于编程它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的PC机器上运行。也就是说你写一个分布式程序,跟写一个简单

2022-02-15 09:34:45 301

原创 HDFS概述

HDFS概述1、HDFS 产出背景及定义1)HDFS产生背景随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。2)HDFS定义HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色

2022-02-09 15:16:18 288

原创 Hadoop集群搭建

Hadoop运行环境搭建1、模板虚拟机环境准备安装模板虚拟机,IP地址192.168.10.100、主机名称hadoop100、内存4G、硬盘50G「自定义安装CentOS全过程」https://www.aliyundrive.com/s/QAibtB7RwxC安装epel-release注:Extra Packages for Enterprise Linux是为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。相当于是一个软件仓库,大

2022-02-07 17:02:42 1221

原创 Hadoop概述

Hadoop概述1、 简单介绍Hadoop是一个由Apache基金会所开发的分布式系统基础架构。主要解决,海量数据的存储和海量数据的分析计算问题。广义上说,Hadoop通常是指一个更广泛的概念—Hadoop生态圈。2 、Hadoop优势(4高)高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处

2022-01-21 15:43:27 1557

原创 统一接口日志处理(日志入库)

统一接口日志处理(日志入库)1.环境搭建日志数据库-- 接口日志信息表 CREATE TABLE `log_note` ( `id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT ''主键'', `interface_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ''接口名称'', `interface_url` varc

2022-01-18 15:23:38 1280

原创 深入探究AOP的使用

AOP向切面编程通过提供另一种思考程序结构的方式来补充面向对象编程(OOP)。OOP中模块化的关键单元是类,而AOP中模块化的单元是切面。切面支持跨多个类型和对象的关注点(如事务管理)的模块化。(在AOP教程中,此类关注点通常被称为"横切"关注点)1.AOP 概念对AOP中Aspect(切面)、JoinPoint(连接点)、PointCut(切入点)、Weaving(织入)、Advice(通知)等关键的术语和概念进行讲解2.AOP使用(注解方式)1、开启AOP@Configuration

2022-01-13 18:02:16 249

原创 小程序开发---小程序代码构成

小程序代码构成在上一章中,我们通过开发者工具快速创建了一个 QuickStart 项目。你可以留意到这个项目里边生成了不同类型的文件:.json 后缀的 JSON 配置文件.wxml 后缀的 WXML 模板文件.wxss 后缀的 WXSS 样式文件.js 后缀的 JS 脚本逻辑文件接下来我们分别看看这4种文件的作用。JSON 配置JSON 是一种数据格式,并不是编程语言,在小程序中,JSON扮演的静态配置的角色。我们可以看到在项目的根目录有一个 app.json 和 project.c

2022-01-05 15:36:43 79

原创 Java面试Day6 - springboot相关

springboot是通过main方法下的SpringApplication.run方法启动的,启动的时候他会调用refshContext方法,先刷新容器,然后根据解析注解或者解析配置文件的形式注册bean,而它是通过启动类的SpringBootApplication注解进行开始解析的,他会根据EnableAutoConfiguration开启自动化配置,里面有个核心方法ImportSelect选择性的导入,根据loadFanctoryNames根据classpash路径以MATA-INF/sprin

2021-11-04 10:09:45 61

原创 大数据概论

大数据概念大数据(Big Data) :指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据主要解决,海量数据的 采集、存储、分析计算问题大数据的特点1.Volume(大量)2.Velocity(高速)3.Variety(多样)4.Value(低价值密度)大数据部门间业务流程分析大数据部门内组织结构...

2021-10-19 20:11:16 60

原创 Java面试Day5 - HashMap和Hashtable相关

HashMap和Hashtable相关HashMap和Hashtable的区别JDK7下的CurrentHashMap(线程安全)CurrentHashMap和hashtable的区别HashMap和Hashtable的区别1、继承的父类不同HashMap继承自AbstractMap类。但二者都实现了Map接口。Hashtable继承自Dictionary类,Dictionary已经废弃。2、HashMap线程不安全,HashTable线程安全Hashtable 中的方法大多是Synchroni

2021-10-18 15:36:31 69

原创 Java面试 Day4 - 线程相关

线程的生命周期?线程有几种状态1.线程通常有 五种状态,创建,就绪,运行,阻塞和死亡状态。2.阻塞的情况又分为三种(1) 等待阻塞:运行的线程执行wait方法,该线程会释放占用的所有资源,JVM会把该线程放入"等待池"中。进入这个状态后,是不能自动唤醒的,必须依靠其他线程调用notify或notifyAll方法才能唤醒,wait是object类的方法。(2) 同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁被别的线程占用,jvm会把该线程放入"锁池"中。(3) 其他阻塞:运行的线程执行slee

2021-10-14 08:51:35 48

原创 Java面试 Day3 - InnoDB和MyISAM区别和数据库索引

InnoDB和MyISAM区别一、数据库事务简介要讲解InnoDB,MyISAM 首先一定要知道数据库事务!==数据库事务( transaction)==是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。事务特性(ACID)A: Atomicity, 原子性:事务是最小的操作序列单元,一个事务中包含的所有操作在一次执行后要么全部操作成功,要么全部操作失败,也就是说如果事务执行过程.

2021-10-12 19:00:09 114

原创 Java面试 Day3 - 一个网址在浏览器输入回车后

背景介绍一个网址在浏览器输入回车后,一道经典的面试题,参考了网上的资料,记录一下,方便日后知识点回顾。正文背后的过程大概分为以下几点:1.DNS域名解析2.建立TCP连接3.发送HTTP请求4.服务器处理请求5.返回响应结果6.关闭TCP连接7.浏览器解析HTML8.浏览器布局渲染当我们在浏览器输入网址并回车后,命运已经被安排了。。。【一、DNS域名解析】我们在浏览器输入网址,其实就是要向服务器请求我们想要的页面内容,所有浏览器首先要确认的是域名所对应的服务器在哪里。将域名

2021-10-12 15:26:19 69

原创 Java面试 Day2 - 二叉树的遍历

今天我们就来了解一下二叉树的经典面试题:已知二叉树的前序遍历顺序为ABCDEGHF,中序遍历顺序为DBAGEHCF,求该二叉树的后序遍历。还有:已知二叉树的中序遍历顺序为DBAGEHCF,后序遍历顺序为DBGHEFCA,求该二叉树的前序遍历。类似的面试题应该如何应对呢?什么是二叉树?在开始之前,容我再唠叨几句:什么是二叉树?二叉树(Binary Tree)是一种特殊的树,树上的每个结点最多有两个子树的树结构,也就是说每一个父结点最多长出两个树杈。通常两个子结点被称为左子结点和右子结点。比

2021-10-10 11:49:21 121

原创 Java笔试 Day1 - 基础相关

什么是面向对象?面向对象有什么特性?面向对象就是把构成问题的事物分解成一个个对象,建立对象不是为了实现一个步骤,而是为了描述某个事物在解决问题中的行为,面向对象是相对于面向过程来讲的,指的是把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。面向对象具有三个特性:封装、继承和多态。什么是接口?什么是抽象类?接口和抽象类有什么异同?分别用于什么场景?抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。相同点:1、不能直接实例化,如果.

2021-09-29 10:16:34 48

原创 Flowable流程引擎--表结构解读

Flowable 的表结构解读初始化ProcessEngine流程引擎实例。package org.flowable;import org.flowable.engine.ProcessEngine;import org.flowable.engine.ProcessEngineConfiguration;import org.flowable.engine.impl.cfg.StandaloneProcessEngineConfiguration;public class Holida.

2021-08-22 21:46:30 421

原创 为什么要使用flowable工作流

为什么使用flowable工作流1.在使用工作流之前通常我们的处理方式是状态驱动方式(数据库与中设置Status字段)。痛点:一方面:整个流程定义不够清晰。业务流程是分散在各个业务阶段中的,从代码 的角度非常难以看到整个流程是如何定义的。另一方面:当流程发生变更时,这种方式编写的代码就需要做非常大的变更。例 如从三级审批要增加为四级审批甚至是协同审批,那各个业务阶段的审批流程都需 要随之做大量的变更。所有就有了=>flowable流程引擎,它可以将业务系统中复杂的业务流程抽取出来.

2021-08-22 21:02:36 884

转载 知乎-还分不清 Cookie、Session、Token、JWT?

发现一篇讲的很清奇的关于token的文章,文章来源于知乎 https://zhuanlan.zhihu.com/p/164696755还分不清 Cookie、Session、Token、JWT?什么是认证(Authentication)什么是授权(Authorization)什么是凭证(Credentials)什么是 CookieCookie 和 Session 的区别什么是 Token(令牌)Acesss TokenRefresh TokenToken 和 Session 的区别什么是 JWT生成 .

2021-08-15 22:45:45 154

原创 mysql自动填充时间的两种实现方式

mysql建表的时候有两个列,一个是createtime、另一个是updatetime当插入一条数据,createtime列和updatetime列由数据库获取当前时间自动创建时间; 当修改一条记录时,updatetime列由数据库获取按当前时间自动更新时间。方法一:数据库级别(工作中不允许你修改数据库),一般我们采用方法二1.在表中新增字段 create_time, update_time,记得同步实体类2.设置createtime、updatetime的默认值为CURRENT_

2021-08-09 20:21:00 4468

原创 微服务脑图及经典面试题解答

经典面试题(欢迎大家解答)1.1 什么是微服务?1.2 微服务之间是如何独立通讯的?1.3 SpringCloud和Dubbo有哪些区别?1.4 Springboot和Springcloud,请谈谈你对他们的理解1.5 什么是服务熔断?什么是服务降级?1.6 微服务的优缺点是什么?说一下你在项目开发中遇到的坑1.7 你所知道的微服务技术栈有哪些?列举一二1.8 Eureka和Zookeeper都可以提供服务注册与发现的功能,请说说两者的区别...

2021-08-07 19:07:20 68

原创 POM 标签大全

POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。POM 中可以指定以下配置:项目依赖插件执行目标项目构建 profile项目版本项目开发者列表相关邮件列表信息<project xmlns="http://maven.apach.

2021-07-31 20:31:34 128

原创 Flowable流程引擎--从命令行开始

Flowable是什么?Flowable是一个使用Java编写的轻量级业务流程引擎。Flowable流程引擎可用于部署BPMN 2.0流程定义(用于定义流程的行业XML标准), 创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据,等等。这个章节将用一个可以在你自己的开发环境中使用的例子,逐步介绍各种概念与API。Flowable可以十分灵活地加入你的应用/服务/构架。可以将JAR形式发布的Flowable库加入应用或服务,来嵌入引擎。 以JAR形式发布使Flowable可以.

2021-07-31 20:25:22 379

原创 Git 详细指南

Git 开始Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多Git CMD:Windows风格的命令行Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令Git 代码区域划分代码区域划分git跟传统的代码管理器(如:svn)不同, 主要区别在于git多了个本地仓库以及缓存区,所以即使无法联网也一样能提交代码。术语解释:工作区间: 即我们创建的工程文件, 在编辑器可直观显示;缓存区: 只能通过git GUI或git shell 窗口显示,提交代码、解决

2021-07-25 20:19:20 28

原创 Shiro认证加入验证码验证

8.加入验证码验证1.验证码工具类package com.chif.shiro.utils;import javax.imageio.ImageIO;import java.awt.*;import java.awt.geom.AffineTransform;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;

2021-07-25 10:06:48 303

Github加快访问速度.zip

github插件

2021-08-21

vip会员管理系统.zip

php实现会员信息管理,包括增删改查。

2021-05-24

学生信息管理系统.zip

简单的学生信息管理系统(无界面) 1:可以定义学生人数 2:添加一个学生 3:查找一个学生 4:根据编号更新学生的基本信息 5:根据编号删除学生 6:根据编号输入学生各科成绩 7:根据某门成绩进行排序 8:根据总分进行排序 9:退出系统

2020-03-27

空空如也

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

TA关注的人

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