自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kafka03-基本操作指令

kafka是依赖于zookeeper工作的,因此在启动kafka之前需要完成zookeeper环境的搭建zookeeper> ./zkServer.sh start //启动> ./zkServer.sh stop //停止后,如果CLi没有关闭,将报错kafka>./kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties //启动>./kafka-server-stop.s

2021-04-02 14:18:44 158

原创 kafka01-概述

kafkaKafka 概述1.1 定义1.2 消息队列1.2.1 传统消息队列的应用场景使用消息队列的好处1.2.2 消息队列的两种模式Kafka 概述1.1 定义Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。1.2 消息队列1.2.1 传统消息队列的应用场景使用消息队列的好处1)解耦允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2)可恢复性系统的一部分组件失效时,不会影响到整个系统。消息队列

2021-03-24 15:54:48 217

原创 html中js不执行的原因

今天写前端发现一个奇怪的bug,搞了我一个小时,其问题就是js代码写的好好的但是前端就是没有执行。今天总结一下有以下几种情况script标签的位置不对,规范应该放在body标签和html标签之间。如下:<html>............<script>....你的代码</script></html>2.script标签的属性选择不对,该标签有三种属性,分别是<script language = "JavaScript"&gt

2021-03-12 16:14:24 17836 1

原创 Mac m1安装java jdk maven

Mac m1安装java jdk mavenjdkjdk推荐选择zulu jdk,这个是适配Arm架构的jdk,下载链接: 下载地址.根据需求选择.dmg格式的jdk下载,然后直接安装就好了,这个会自动配置好环境变量,不需要自己配置,直接测试就好了。java -versionmavenmaven所有系统都是同样的zip文件通用,官网下载就好了:下载地址.然后解压出来,放入你想要放入的文件夹就好了。配置环境变量配置.bash_profile环境变量,但是如果你安装了iterm+zsh

2021-01-03 18:30:55 46102 33

原创 Mac m1 重装系统卡在添加用户解决方式

Mac m1 重装系统卡在添加用户解决方式严格按照以下方式就没问题1.确定你的mac是m1芯片的2.关机mac,启动 Mac 并继续按住电源按钮,直至您看到启动选项窗口。选择“选项”,然后点按“继续”。3.如果系统要求您选择一个您知道相应密码的用户时,请选择这样的用户,点按“下一步”,然后输入用户的管理员密码。没有这样的提示就不用管 。4.当您看到实用工具窗口时(如下所示),请从菜单栏中选取“实用工具”>“终端”。5.在“终端”中键入 resetpassword,然后按 Return

2021-01-03 17:45:15 11426

原创 Java学习路线图

下面的路线图根据自己的学习进程,精心准备的java学习路线,各位接好了啊!以上就是学习流程,一步一步来,本人学完整个流程大概用了一年多,相信以各位的实力和毅力一定会尽快成为合格的程序猿哈!资料中附带了视频地址,都是我觉得相对质量高的视频,每个视频通常都有文档,大家在视频下的评论区自己想办法啦,毕竟搜索知识,是程序猿一想必备的技能了!下面有脑图的文本大家自行下载了,Xmind文件打开啦!脑图下载网盘地址.密码:mp6s...

2020-10-17 01:01:32 1775 4

原创 reentrantlock

Reentrantlock实现机制交替的情况加锁(源码)非公平锁公平锁重入锁的源码实现实现机制内部使用aqs,park,unpark,cms来实现加锁过程,如果是单线程或者是线程间的交替执行则与aqs队列无关,不会进行任务线程的存储,直接获取锁.交替的情况加锁(源码)非公平锁设置断点进入lock方法1.调用sync 的lock()方法2.默认调用实现sync的非公平锁的类中的lock()方法直接通过cms修改state变量3.获取锁之后设置当前执行的线程然后返回继续执行方法

2020-08-21 15:27:29 125

原创 synchronized

概念synchronized是java实现并发编程的一种方式,在jdk7之前和jdk7之后有较大的的差别区别jdk7synchronized是一个重量级锁,其线程对应的是操作系统os中的线程由于该线程为os 的线程因此,系统需要切换到内核态,通过调用native 的本地方法来进行线程调度....

2020-08-20 10:42:11 107

原创 springcloud-eureka集群搭建

解决高可用问题思路:大搭建多个eureka服务端,相互注册,相互监督.搭建集群不同的是配置文件如下:eureka7001server: port: 7001eureka: instance: hostname: eureka7001.com #eureka服务端的实例名称 client: # false表示不向注册中心注册自己 register-with-eureka: false # false表示自己端就是注册中心,我的职责就是维护服务实例,并

2020-06-28 16:21:36 143

原创 springcloud-Eureka

EurakeEureka基础知识什么是服务治理什么是服务注册与发现搭建单机的eurake并完成注册搭建单机eurake注册服务查看效果Eureka基础知识什么是服务治理Spring Cloud封装了Netflix 公司开发的Eureka模块来实现服务治理在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。什么是服务注册与发现Eureka采用了CS的设计架构,E

2020-06-28 11:48:32 264

原创 VM安装centos7

VMware Workstation14安装CentOS7.0 详情教程1.准备工作a)下载VMware workstation14b) 下载CentOS7c)下载Xshell2.虚拟机配置a)打开虚拟机软件“VMware Workstation”,选择“创建新的虚拟机”b)选择“典型”选项,点击“下一步”c)选择“稍后安装操作系统”,点击“下一步”d)客户机操作选择“Linux”,版本选择“CentOS 7 64位”,点击“下一步”e)输入“虚拟机名称”;点击“浏览”按钮,选择

2020-06-13 21:51:51 310

原创 Redis搭建集群

redis集群排坑目标搭建6个redis服务器的集群,3个主机3个从机linux准备工作先创建好6个redis服务器的配置文件内部设置以此类推配置好其他的文件安装ruby,gem不安装这两个软件的话没办发启动集群版本要求centos7ruby2+gem2.2+点击查看安装方式启动所有redis服务器创建cluster集群切换到redis目录下的src下面如下图进入src找到redis-trib.rb启动这个就需要刚才装的ruby否则无法启动因为这个文件启动没有

2020-06-10 17:54:09 180

原创 redis11- Redis事务、事务锁

事务一旦成功所有的成功,一个失败,所有一些列连续动作都失败事务的基本操作开启事务multi作用设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中执行事务exec作用设定事务的结束位置,同时执行事务。与multi成对出现,成对使用注意:加入事务的命令暂时到任务队列中,并没有立即执行,只有执行exec命令才开始执行事务定义过程中发现问题,怎么办?取消事务discard作用终止当前事务定义,发生在multi之后,exec之前事务的工作

2020-06-10 11:36:45 194

原创 redis-10Redis持久化方式之AOF&AOF和RDB区别场景分析

RDB存储的弊端存储数据量较大,效率较低——基于快照思想,每次读写都是全部数据,当数据量巨大时,效率非常低大数据量下的IO性能较低基于fork创建子进程,内存产生额外消耗宕机带来的数据丢失风险解决思路不写全数据,仅记录部分数据改记录数据未记录操作过程对所有操作均进行记录,排除丢失数据的风险这也就是AOF的引入AOF概念AOF持久化:以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中命令达到恢复数据的目的。与RDB相比可以简单描述为改记录数据产生的过程AOF的主..

2020-06-10 11:25:26 1314

原创 redis09-Redis持久化

持久化简介什么是持久化利用永久性存储介质将数据进行保存,在特定的事件将保存的数据进行恢复的工作机制称为持久化为什么要持久化防止数据的意外丢失,确保数据安全性持久化的过程保存什么将当前数据状态进行保存,快照形式,存储数据结果,存储而是简单,关注点在数据 -----》 RDB将数据的操作过程进行保存,日志形式,存储操作过程,存储格式复杂,关注点在数据的操作过程 ------》AOFRDBRDB启动方式谁,什么事件,干什么事情?谁:redis操作者(用户)什么时间:即时(随时进行)

2020-06-09 23:22:26 172

原创 redis08-基于Docker安装Redis&在Docker中操作Redis

查看Redis的docker镜像docker search redis1拉取Redis镜像docker pull rides:5.0.71查看镜像docker images1启动容器先要下载redis的redis.conf文件创建待挂载目录mkdir -p /usr/local/docker/redis/confmkdir -p /usr/local/docker/redis/data12进入目录cd /usr/local/docker/redis/conf1.

2020-06-08 16:03:26 152

原创 redis07-使用jedis操作redis数据库

jedisJedis是Redis官方推荐的Java链接工具使用前导入,下面的测试建议也导入测试的包<!-- jidisd的包--><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></dependency&g.

2020-06-08 16:01:54 228

原创 redis06-key通用指令以及数据库的通用操作

key通用指令key特征key是一个字符串,通过key获取redis中保存的数据key应该设计那些操作?对于key自身状态的相关操作,例如:删除,判定存在,获取类型等对于key有效性控制相关操作,例如:有效期设定,判定是否有效,有效状态的切换等对于key快速查询操作,例如:按指定策略查询keykey基本操作删除指定keydel key获取key是否存在exists key获取key的类型type keykey扩展操作(时效性控制)为指定ke

2020-06-08 16:00:57 131

原创 redis05-Resid数据类型综合实践案例

Resid数据类型综合实践案例业务场景 1.计数器解决方案设计计数器,记录调用次数,用于控制业务执行次数。以用户id作为key,使用此时作为value在调用前获取次数,判断是否超过限定次数,不超过次数的情况下,每次调用计数+1,业务调用失败,计数-1为了计数器设置生命周期为指定周期,例如1秒/分钟,自动清空周期内使用次数。Tips 16:redis应用于限时按次结算的服务控制业务场景(微信会话)业务分析解决方案依赖list的数据具有顺序的特征对消息进行管理,将list

2020-06-08 15:58:40 248

原创 redis04-数据存储list&set&sorted_set

list类型数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分需要的存储数据:一个存储空间保存多个数据,且通过数据可以体现进入顺序list类型:保存多个数据,底层使用双向链表存储结构实现list类型数据基本操作添加/修改数据lpush key value1 [value2] …rpush key value1 [value2] …获取数据lrange key start stoplindex key indexllen key删除并移除数据l

2020-06-06 22:31:13 320

原创 redis03-Redis数据类型 Hash

https://www.bilibili.com/video/BV1CJ411m7Gc?p=12Hash类型存储的困惑对象类数据的存储如果具有较为频繁的更新需求操作会显得笨重hash类型新的存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息需要的内存结构:一个存储空间保存多少个键值对数据hash类型:底层使用哈希表结构实现数据存储hash类型数据的基本操作添加/修改数据hset key field value获取数据hget key field

2020-06-06 22:27:30 89

原创 redis02-Redis数据类型 String以及key的设置约定

https://www.bilibili.com/video/BV1CJ411m7Gc?p=6数据存储类型介绍业务数据的特殊性作为缓存使用原始业务功能设计秒杀618活动双十一活动排队购票运营平台监控到的突发高频访问数据突发市政要闻,被强势关注围观高频、复杂的统计数据在线人数投票排行榜附加功能系统功能优化或升级单服务器升级集群Session管理Token管理Redis 数据类型(5种常用)string --> Stringhash --> H

2020-06-06 22:25:20 276

原创 redis01-入门基本操作指令

https://www.bilibili.com/video/BV1CJ411m7Gc?p=6问题的抛出出现的问题:海量用户高并发罪魁祸首——关系型数据库:性能瓶颈:磁盘IO性能低下扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群解决思路降低磁盘IO次数,越低越好 —— 内存存储去除数据间的关系,越简单越好 —— 不存储关系,仅存储数据Nosql简介NoSQL:即Not-OnlySQL(泛指非关系型的数据库),作为关系型数据库的补充。作用:应用对于海量用户和海量数

2020-06-06 22:22:51 125

原创 mysql8安装教程

删除原有的mysql这一步是对于之前装过mysql的用户,如果没有装过就直接跳过这一步好了。如果不彻底的删除mysql可能会出现一系列的安装问题。如何彻底的删除mysql请按照下面的步骤进行。关闭服务:net stop mysql或者从服务组件中关闭。在cmd中,输入sc delete mysql,删除服务。删除相关注册表信息开始菜单栏搜索 regedit 进入注册表编辑器然后搜索mysql,删除现在正在使用的版本相关文件就直接删除mysql文件夹。执行上面步骤就可以彻底删除m

2020-06-03 15:46:45 259

原创 mysql8.11忘记密码修改密码

以管理员身份运行cmd(mysql目录下的文件夹bin已加入到环境变量中);先关闭MySQL服务:net stop mysql;再执行:mysqld --console --skip-grant-tables --shared-memory看到此页面后不要关闭该界面,重新以管理员身份新运行一个cmd;然后切换到mysql 的bin目录下然后输入mysql就跳过密码进入了mysql更改密码use mysqlupdate user set authentication_stri

2020-06-03 15:12:01 163

原创 springboot12-shiro

shiro01shiro介绍Apache Shiro 体系结构Shiro的核心API导入shiro与spring整合依赖shiro介绍Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。Apache Shiro 体系结构1、 Authentication 认证 ---- 用户登录2、 Authorization 授权 — 用户具有哪些

2020-06-01 16:09:30 106

原创 springboot+vue项目部署内网穿透

springboot+vue项目部署我采用的是合并部署的方式预先准备服务器准备好项目的数据库java环境vue打包静态文件1.进入vue项目的根目录2.输入cmd3.输入 npm run build4.将dist文件里面的静态资源复制导入静态资源到后端在资源目录下创建static文件夹,将刚才复制的静态资源粘贴进去打项目jar包按顺序执行下面的步骤执行后在target中就可以看到打好的jar包然后将该jar包发送发到服务器上,然后再改jar包的文件夹上进入cm

2020-05-28 19:53:06 1870

原创 JeecgBoot新建maven子项目

JeecgBoot新建子项目前提条件创建项目配置导入依赖controller层安全框架打开拦截新建子项目前提条件拉取项目源码(开源网站都有)将jeecgboot后端项目导入idea创建项目选择maven项目配置导入依赖jeecg-boot-module-system的pom文件 <dependency> <groupId>org.jeecgframework.boot</groupId> <artifactId>

2020-05-26 21:56:58 1839

原创 springboot11-阿里云视频点击

阿里云视频点击阿里云视频点击前提条件使用方式SDK方式注入依赖初始化阿里云视频点击前提条件1.注册阿里云oss2.注册阿里云视频点击功能视频加密方式使用方式1.视频点击API(推荐使用SDK方式)2.视频点击SDKSDK方式注入依赖 <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-co

2020-05-21 23:16:34 257 3

原创 linux7.3搭建easyMock

搭建easyMock预装环境1.linux7.32. Node.js(v8.x, 不支持 v10.x)3. MongoDB(>= v3.4)4. Redis(>= v4.0)安装nodecd /usr/local/ # 任何目录都行,先mkdir创建好目录,然后切换过去yum install -y wgetwget https://npm.taobao.org/mirrors/node/v8.10.0/node-v8.10.0-linux-x64.

2020-05-12 18:56:09 176

原创 MybatisAnnotationTools-1.0使用教学

MybatisAnnotationTools-1.0Mybatis注解工具首先使用执行jar包的方法(我没弄成功)下载源码使用Mybatis注解工具首先奉上下载地址(包含源码和压缩包):下载 jar 包.建议大家下载源码使用这个工具:具体原因后面会告诉大家。首先使用执行jar包的方法(我没弄成功)就是这样才去多种方法都没有成功。而且我们使用这个工具的时候需要设置application.properties文件配置。因此建议大家下载源码使用每次用很方便。下载源码使用1.下载源码后倒入ide

2020-05-11 19:34:04 350

原创 typora语法

转载请标明原创地址:https://blog.csdn.net/SIMBA1949/article/details/79001226标题的使用标题的使用格...

2020-05-09 16:57:00 263

原创 Springboot10-easyExcle

easyExcleSpringBoot整合easyExcelesayExcel实现写的操作SpringBoot整合easyExcel导入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId>...

2020-05-08 00:10:09 240

原创 springboot09-wapper

springbootWapper(条件构造器)AbstractWrapperge、gt、le、lt、isNull、isNotNulleq、nebetween、notBetweenWapper(条件构造器)AbstractWrapper注意:以下条件构造器的方法入参中的 column 均表示数据库字段ge、gt、le、lt、isNull、isNotNull@Testpublic voi...

2020-05-05 20:10:44 262

原创 Springboot08-mybatisPlus

SpringbootmybatisPlus导入依赖导入lombok导入依赖安装lombok插件配置properties主键策略自动填充乐观锁在 MybatisPlusConfig 中注册 Bean分页查询逻辑删除mybatisPlusmybatisplus是mybatis的升级版,优化mybatis,让持久层操作更简便快捷。导入依赖 <dependency> ...

2020-05-05 20:01:53 165

原创 sort07-排序的稳定性

sort排序的稳定性稳定性的定义稳定性的意义:常见排序算法的稳定性:冒泡排序:选择排序:希尔排序:归并排序:快速排序:排序的稳定性稳定性的定义数组arr中有若干元素,其中A元素和B元素相等,并且A元素在B元素前面,如果使用某种排序算法排序后,能够保证A元素依然在B元素的前面,可以说这个该算法是稳定的。稳定性的意义:如果一组数据只需要一次排序,则稳定性一般是没有意义的,如果一组数据需要多...

2020-05-01 22:25:26 558

原创 sort06-快速排序

sort快速排序排序原理:需求切分原理:代码实现快速排序和归并排序的区别:快速排序时间复杂度分析:快速排序快速排序是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。排序原理:1.首先设定一个分界值,通...

2020-05-01 22:15:51 336

原创 sort-05归并排序

sort归并排序排序原理归并原理代码实现归并排序归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。排序原理1.尽可能的一组数据拆分成两个元素相等的子组,并对每一个子组继续拆分,直到拆分后的每个子组的元素个数是1为止。2....

2020-04-30 21:46:05 157

原创 sort04-希尔排序

sort希尔排序排序原理需求代码实现希尔排序的时间复杂度分析希尔排序希尔排序是插入排序的一种,又称“缩小增量排序”,是插入排序算法的一种更高效的改进版本。排序原理1.选定一个增长量h,按照增长量h作为数据分组的依据,对数据进行分组;2.对分好组的每一组数据完成插入排序;3.减小增长量,最小减为1,重复第二步操作。增长量 h的确定:增长量h的值每一固定的规则,我们这里采用以下规则:...

2020-04-30 21:10:40 316

原创 sort03-插入排序

sort插入排序排序原理:需求:插入排序代码实现:插入排序的时间复杂度分析插入排序插入排序(Insertion sort)是一种简单直观且稳定的排序算法。插入排序的工作方式非常像人们排序一手扑克牌一样。开始时,我们的左手为空并且桌子上的牌面朝下。然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置,我们从右到左将它与已在手中的每张牌进行比较。排序原理:1...

2020-04-26 22:03:33 638

空空如也

空空如也

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

TA关注的人

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