自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(184)
  • 资源 (5)
  • 收藏
  • 关注

原创 集成elastic-job分布式调度定时任务

定时任务这一组件在工作过程中经常使用到,在单机节点上可以直接选择使用自带的定时任务组件,而这种定时任务一旦确定固化了定时触发策略,也无法动态开启关闭,所以后来有了。是定时任务领域的一个开源项目,由开发,可以通过调度定时任务的启停及策略,还有对事务跟集群的支持等等强大功能。但是而就是当当在Quartz的基础上进行了二次封装,这两个版本除了部署方式不一样在上是一样的,相对于。

2022-10-21 18:27:24 2491 6

原创 Spring boot集成RocketMQ

之前安装好了RocketMQ,这一篇就简单记录一下是怎么集成RocketMQ的,如果有需要安装RocketMQ的同学看这一篇,Linux在线安装RocketMQ,如果没有linux环境的同学也可以本地启动,只需要有java环境即可。

2022-10-21 18:23:44 1542 1

原创 Linux在线安装RocketMQ

消息队列是在工作中作为服务解耦和消息推送等各种场景的应用中使用的组件,常用的队列组件有ActiveMQRabbitMQRocketMQKafka消息队列主要有2种模式,点对点模式跟发布/订阅模式。

2022-10-15 23:47:27 913

原创 使用redis就可以获得root权限,怎么做的?

我在云服务上安过两次redis,每次都被提示攻击他人。(我是好人怎么可能会干坏事呢) 所以我的服务器肯定被人入侵了,因为是个人服务器没什么重要东西端口是常年开放的也没有开启白名单防火墙,最重要的是密码都不设。怪不得天天被入侵,下面进行一下复现。

2022-10-10 16:36:18 1682 1

原创 Linux在线安装nodejs并配置定时任务

昨天安装redis后晚上提醒被当做跳板机给入侵了,当时也没有管,那台机器上没啥紧急重要的东西,也就挂了两个node的定时任务,但是在今天早上发现定时任务没触发,进服务器里wget、curl、node等命令都失效了,看来是给服务器深层保洁了一遍,连定时任务都没了。重装完系统重新安装一下node,配置一下定时任务。

2022-10-09 14:28:56 532

原创 Linux在线安装redis并开启远程访问

今天一个之前的项目需要进行一下调整,但是因为项目的redis连不上了,项目启动是可以启动的,但是登陆不了,需要缓存token,我又不想动历史代码。我本机又安装了太多东西扛不住了,本来在k8s集群中搞了一个,但是端口能通用redis客户端却无法连接,时间紧急还是先安装一个linux的吧。

2022-10-08 16:48:06 1250

原创 KubeSphere安装redis集群,全程超带劲

redis是在开发过程中经常用到的缓存中间件,在生产环境中为了考虑稳定性和高可用一般为集群模式的部署。常规部署在虚拟机上的方式配置繁琐并且需要手动重启节点,而使用K8S进行redis安装便捷:使用镜像或者yaml配置文件即可一件安装自动调度:容器挂掉后会自动调度重启和资源分配缩扩容方便:在扩容、缩容方面的优点无需多说,一键伸缩稳定高效k8s在整个集群上进行调度,只要整个集群不挂掉总会调度到合适节点重启容器服务。

2022-09-20 18:26:02 2422 1

原创 滑动窗口最大值(239)题解 难度:困难

滑动窗口取最大值;难度级别:困难;

2022-09-14 17:49:05 531

原创 最小栈(155)题解

方法,获取堆栈中的最小元素,如果遍历整个堆栈区找寻最小值时间复杂度为。辅助栈跟原始栈的操作是一致的,但是辅助栈的数据需要取。,这样在获取栈内最小值时直接从辅助栈进行。操作就简单了,不需要判断直接两个栈进行。等类可以支持的,它们的时间复杂度为。辅助栈的步骤跟原始栈的步骤一致,即可,就不画图了,看下面代码。,要达到两个栈操作的一致。,想要将时间复杂度优化到。

2022-09-14 10:34:34 219

原创 手工实现一个字符串内容替换方法来替换replace

在遇到字符串替换的场景上replace方法跟replaceAll方法是最常用的解决办法,那如果让你手动处理字符串替换你会怎么做呢?《剑指Offer》的05题就是这样一道:如果使用replace方法一行代码就处理完毕} }如果让我自己实现的话,代码如下i ++) {i ++) {j ++) {} else {} f ++;} }

2022-09-13 14:36:23 625

原创 求m的n次方(优化时间复杂度)

面试官:求m的n次方,来优化一下时间复杂度

2022-09-07 19:03:51 1307

原创 零矩阵题解

首先给定的矩阵是个方形矩阵,宽高不一定一样。所以在定义临时数组存储时要注意宽高长度。编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。如果都在一个循环里进行标记和值刷新有点混乱不好梳理,所以将。的值则按十字清除所在行和列的值,想想如何实现呢。所以如果使用这种方式需要标记行列为已修改值。,这种方式是可以的,但是要注意修改了的行跟列。,后面进行这两个数组的遍历,如果为。,否则后修改的值跟原始数据会产生。时就清除对应矩阵的行、列数据。

2022-09-07 16:01:32 446

原创 方形矩阵旋转(48)题解

在原地旋转的话会覆盖一部分值,所以也需要存储被覆盖的值,如果按上面的直接一行进行覆盖调整那产生的覆盖值太多 ,所以要一个一个值进行调整到正确的位置。从每行第一位开始调整。矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。题目还要求尝试不适应额外空间,所以就不能用临时矩阵,需要再给定的矩阵内旋转,也就是。的正方形矩阵,所以他的宽高是已知的。不占用额外内存空间能否做到?

2022-09-07 14:30:57 337

原创 安装Android Studio并创建一个Android Demo

安卓的开发环境可以使用也可以使用,现在常用的都是,毕竟是Google官方提供专门为Android量身定做的开发工具,响应速度相比Eclipse更快更轻量。

2022-09-06 09:50:12 1880

原创 整数数组判断重复(217)题解

暴力破解的方式很简单,使用双循环,两个集合每一种结果都进行遍历比较对值是否相同,但是同一项值不能跟同一项比,所以循环方式为梯形。排序比重的方式就是先将整个数组按递增或者递减的方式排序,保证相邻数值是最小差,循环时通过当前。值进行判断,只要相等则是有重复的。但是这种情况下优先排序也比较浪费时间。使用去重集合是这三种中的最优解了,不需要额外排序,循环插入。如果数组中每个元素互不相同,返回。如果任一值在数组中出现。这种方式数据越多效率越低。集合,如果插入返回的。

2022-09-02 17:21:06 451

原创 罗马数字转整数(13)题解

因为正常情况下都是递减相加,所以判断非正常逻辑也就是递增相减的情况。通常情况下,罗马数字中小的数字在大的数字的右边。为后举例,从上面的特征分析如果相邻的两个数字是递减则相加()、递增则判断是否符合六种情况,而那六种情况的共同特征则是。,因为被减的数字在前已经执行过一次增加。:先预制罗马数字跟整数的对照关系,使用。:循环字符串,获取对应每个字符的整数。给定一个罗马数字,将其转换成整数。则判断是否上面的六种情况并且相减。的左边,所表示的数等于大数。判断的效率跟内存消耗更低。,内存消耗相差不多,如下图。

2022-09-02 14:53:45 342

原创 手写一个二叉搜索树(BST)

在上一篇写了一个简单的双向链表,难度是简简单单,这次来尝试二叉树,难度是也还行吧,多少有点夸张的成分了,不过对于大佬来说这些就是简简单单。难度列表:集合:有手就行链表:简简单单队列:基础操作二叉树:也还行吧平衡二叉树:普普通通红黑树:有点难度了堆/栈:难度提升了图:今天是高端局。......

2022-08-31 18:33:39 416

原创 手写一个泛型双向链表

在当前大环境的背景下面试不问点算法都不算个合格的面试了(卷),而与算法紧密相关的数据结构也是经常问到的,像集合、链表、树、图、栈、堆、队列、矩阵等等等等。是不是感觉难度如下:集合:有手就行链表:简简单单队列:基础操作二叉树:也还行吧平衡二叉树:普普通通红黑树:有点难度了堆/栈:难度提升了图:今天是高端局这么一套组合拳下来,还是有点难度的,本篇就先手写简简单单的链表,链表里有单向链表跟双向链表,会双向链表还能不会单向链表吗,直接上双向链表。双向链表的属性内容上节点prev跟下节点next。...

2022-08-31 13:47:05 369

原创 WebSocket开发(心跳监测)功能

在之前的文章中完成了客服对话的Demo功能,但是现在的连接是无限制的长时间连接没有做心跳、失活、超时断连等功能,心跳的实现方法有很多种,并且WebSocket就提供了ping/pong类型的消息。如果是前端发送心跳,后端需要返回心跳,也就是ping pong的过程会有两次数据传递。后端来发送心跳的话,就只需要发送ping,前端不需要回应。这两种后续的处理方式也有各自优缺点。客户端触发:优点灵活控制无需设置主动超时逻辑清晰服务端简单缺点两次消息传递消息内容容易篡改服务端触发:优点节省宽带。...

2022-08-30 17:45:19 16644 6

原创 WebSocket开发(客服对话)功能

在前两篇中完成了客户端一对一聊天跟消息落地的场景,这次来实现客服对话的场景,先考虑客服对话场景的核心需求。区分角色在连接建立时区分用户跟客服的客户端角色客服角色客户端id固定用户角色客户端id可变连接指定客户端无需选择指定客户端,系统自动匹配客服客户端一对多一个客服是对应多个用户的双向绑定一个客户跟一个客服建立消息连接后重新进入尽量分配给此客服消息同步一个客户重新进入连接后并且更换客服后历史消息同步。...

2022-08-26 16:52:57 2262 2

原创 WebSocket开发(记录落地)功能

在上文WebSocket开发(一对一聊天)完成了一对一聊天的功能,但是消息补偿的功能并没有验证,这需要将客户端id的设置参数进行修改。而且光日志打印记录WebSocket事件的流转有点不靠谱,所以需要将事件进行落地,结构化数据像用户登陆记录、用户代收消息、用户在线状态、操作日志等业务线强的数据可以放到mysql中,像聊天记录、图片、漫游等已经落地的消息数据可以放到mongodb、es中备份存储。这里demo为了方便就都使用mysql存储。

2022-08-24 17:10:10 1309 3

原创 使用WebSocket在Server类中无法使用Autowired注解进行自动注入

在SpringBoot项目中使用`WebSocket`的过程中有其他的业务操作需要注入其它接口来做相应的业务操作,但是在`WebSocket`的`Server`类中使用`Autowired注解`无效,这样注入的对象就是空,在使用过程中会报空指针异常。

2022-08-24 10:05:04 917

原创 WebSocket开发(一对一聊天)功能

从0开始基于WebSocket建立easy-chatroom,本篇为websocket实现一对一私聊和统计在线人数等功能。下面代码都是基于上篇文章中的代码进行的修改,开始的步骤中为了一步步的循环渐进所以只展示修改部分的代码,如果有感觉不连贯的同学可以完成上篇文章后再按本篇步骤执行,完整代码会在最后贴出。

2022-08-22 18:55:25 2484 1

原创 websocket使用sendObject产生的问题

当在使用`WebSocket`服务端向客户端发送消息时使用`sendObject`的方式传递信息出现了以下这个错误:javax.websocket.EncodeException: No encoder specified for object of class

2022-08-22 14:34:01 2338 1

原创 WebSocket的核心事件

Spring Boot使用WebSocket模拟聊天已经简单实现了我们WebSocket的Demo,里面使用的WebSocket事件函数在此做一个总结。WebSocket整体通讯的流程就是建立链接->发送消息->关闭链接/终止链接,这几步需要的事件Api主要就是以下几个不管客户端还是服务端WebSocket的核心事件分为两类,一类是监听事件、一类是触发事件。...

2022-08-18 13:59:29 2287

原创 Spring Boot使用WebSocket模拟聊天

WebSocket 是一种网络传输协议,可在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。WebSocket 协议在 2011 年由 IETF 标准化为 RFC 6455,后由 RFC 7936 补充规范。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。上面是百科对于WebSocket。......

2022-08-18 13:54:23 1312

原创 Kubernetes安装KubeSphere可视化应用

本篇的选择是KubeSphere,不光看着好看,KubeSphere3.0后还开源了KubeKey组件,KubeKey支持一键部署单机或者集群k8s,并且也支持在已有K8s的环境下安装KubeSphere,本篇就是在k8s的环境下安装KubeSphere。KubeSphere是在Kubernetes之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的DevOps 工作流。......

2022-08-12 17:49:53 901

原创 Linux通过公网安装k8s集群

之前安装`k8s集群`都是在同一网段内,关闭防火墙后就不涉及到`网卡`跟`DNS`等网络对集群的影响,但是在`跨区域`的网络上进行安装`k8s集群`如果没有配置局域网络映射可能会遇到各种问题比如以下几种问题etcd无法启动disabled;Active: activating (auto-restart) (Result: exit-code) since 四 2022-08-11 14:17:50 CST;7s ago。...

2022-08-11 16:22:55 582 1

原创 k8s使用KubeSphere三步集成Harbor

k8s集群在Linux上一键安装K8s集群,但是我们想将服务交给k8s调度时需要手动在各个节点服务器上进行打包镜像,或者上传到docker hub上。镜像仓库在线安装harbor镜像仓库。

2022-08-11 16:16:54 2505 5

原创 Linux在线安装harbor镜像仓库

在之前的文章中已经搭建好了k8s集群跟KubeSphere的可视化系统,但是在实际应用上我们服务的镜像推送都需要在集群的所有节点上手动进行,非常不方便。所以我们需要一个私有的镜像仓库。

2022-08-09 18:02:07 1839 3

原创 手动部署java项目到k8s中

一般在正式环境下我们都会有以下几部分构成容器化部署:但是组成这么一整套的资源比较大,不利于个人安装学习。所以本文就介绍在只有的环境下部署到容器环境中。生成一个java的Demo项目,在本机进行启动测试能访问web页面即可,如下图在上面的目录结构图里的中有一个,代码如下如果项目设置了分环境注意修改参数里的进行修改将打好的和上传到容器集群的所有节点上,然后执行以下命令:就是要打包的容器镜像名称,我们下面的配置也是以此名称来找镜像进行调度的。使用命令查看是否存在镜像这个文件是给使用的,里面配置了需要调度使用

2022-08-04 14:13:34 2532

原创 Linux一键安装K8s集群

KubeSphere是在Kubernetes之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的DevOps 工作流。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play)的集成。上面是官网对KubeSphere的介绍,k8s的web调度系统多种多样,KubeSphere是其中相对不错的,并且在KubeSphere3.0之后推出了KubeKey。KubeKey支持一键安装k8s或者。......

2022-08-03 16:08:46 1429

原创 单机K8s加入节点组成集群

在上一篇中搭建了单机的k8s和它的管理系统KubeSphere,但是在实际应用中肯定不是`All-in-One`形式的。所以要在目前单机的基础上添加工作节点形成集群,默认我们上一篇安装的就是master节点,在master节点的基础上增加node节点。...

2022-08-02 16:15:15 633 2

原创 Linux在线安装Mongodb

创建log文件用于保存数据库日志,这里创建的是文件,不然启动时会报错。我这里选择linux版本最新6.0.0的,下载命令如下。创建data文件夹用于后续数据库信息保存。执行启动命令,在上面的配置文件目录下。页面展示上图内容即为成功。将解压包拷贝到指定目录。在最下面添加配置内容。...

2022-08-02 14:22:11 576 4

原创 KubeSphere监控失效为NAN的问题

在安装完KubSphere后可能会遇到监控体系无效的情况,如下图。

2022-08-01 17:47:04 1155

原创 安装部署KubeSphere管理kubernetes

KubeSphere是Kubernetes的多集群管理的分布式操作系统,并且支持了DevOps工作流,并且它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成。KubeSphere提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。KubeSphere为用户提供构建企业级Kubernetes环境所需的多项功能,例如-多云与多集群管理、-Kubernetes资源管理、-DevOps、KubeKey。......

2022-07-28 18:36:34 5255

原创 Docker两行命令安装汉化版Gitlab

GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。在做本地化git仓库时一般都会选择Gitlab,但是在部署时进行初始化安装不是很容易,但是我们使用容器的话可以执行三四个命令即可完成Gitlab的部署。...

2022-07-14 19:01:37 1770

原创 java程序设置开机自启动

先创建一个start.bat的文件,直接创建一个txt将后缀名称改为bat就可以在脚本内添加如下代码第二行代码是删除所有的java程序,本来是保证启动时没有冲突的,如果本地有其他java应用的话去掉第二行代码即可。编写完保存双击执行bat脚本测试查看是否可以运行如果都启动成功即可先找到如下目录 如果没有展示这些内容可能是隐藏了,设置展示隐藏的文件编写vbs脚本,编写以下代码bat地址为刚才我们编写的脚本的地址,编写好以后放到我们上图的启动目录里,重启测试启动看看效果,如果重启后自启动了脚本即可.

2022-07-13 10:56:55 4561

原创 Skywalking接入前端监控

Skywalking从8.2版本开始了支持浏览器端的监控,也就是在仪表盘中的Web Browser选项,但是应用的人好像并不多,我在搜索相关文章时对配置Skywalking前端监控的文章很少,所以只能在组合有限的资料中进行配置因为是从8.2开始的所以Skywalking的版本必须为8.2之上。我的前一篇文章搭建的Skywalking为8.6版本的,如果有低版本的同学或者需要搭建的同学可以看一下,地址如下:Docker安装SkyWalking并监控Java程序Skywaking的浏览器接入需要引入一个客户

2022-07-08 17:28:41 3569 11

原创 Docker安装SkyWalking并监控Java程序

安装Skywalking可以采用H2存储数据或者ElasticSearch存储,这里采用ElasticSearch存储,采用OAP处理数据,并基于Skywalking UI展示数据。因为安装ElasticSearch的要求比较高建议内存在2G以上Skywalking可以选择H2存储,也就是内存存储,但是做demo可以,在正式使用时还是使用elasticsearch,本篇选择安装ElasticSearch7。使用docker安装启动elasticsearch安装完成访问服务器ip+端口查看是否成功,上面命

2022-07-08 17:02:39 1419

fel计算引擎0.9官方版本.zip

fel计算引擎0.9官方版本,0.9的版本多了很多方法,支持了大数高精度,maven没有找到直接pom依赖,下载到本地再依赖本地jar包来进行操作

2020-05-20

方法日志打印.rar

将文件导入到项目并在方法上加入此注解:@OperationLog(value = "导出excel文件")

2019-12-27

phantomjs-2.1.1-windows和echarts-convert

echarts-convert.js和PhantomJS工具 PhantomJs (1)一个基于webkit内核的无头浏览器,即没有UI界面,即它就是一个浏览器,只是其内的点击、翻页等人为相关操作需要程序设计实现。 (2)提供javascript API接口,即通过编写js程序可以直接与webkit内核交互,在此之上可以结合java语言等,通过java调用js等相关操作,从而解决了以前c/c++才能比较好的基于webkit开发优质采集器的限制。 (3)提供windows、linux、mac等不同os的安装使用包,也就是说可以在不同平台上二次开发采集项目或是自动项目测试等工作。

2019-12-04

dayTimeDemo.java

最近在做一个以天为列的列表展示,但是通过接口拿过来的数据时间并不是连续规律的,而前端赋值是依据数组下标赋值,所以我后台根据map的key值重复覆盖的方式进行逻辑处理。

2019-11-23

空空如也

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

TA关注的人

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