- 博客(124)
- 收藏
- 关注
原创 从数组到动态数组的演变
数组特点数组是计算机内存里一片连续的区域,可以用来有效的存储元素优点根据索引可以直接定位到元素,添加新元素到末尾只需要按顺序放到最后一个位置。因此数组检索元素和插入元素到末尾的效率很高缺点在内存里大小是固定的,如果数组满了想继续插入元素怎么办?如果我们想把新的元素插入到具体某个位置,而不是放到最后一个位置,就需要挪动这个位置之后的所有元素;删除同理。因此数组插入和删除元素的效率不高数组扩容三种方式方法一:int[] arr2=new int[arr1.length*2] //设置新数
2022-02-27 17:26:19
677
原创 Kafka vs RabbitMQ vs RocketMQ
KafkaKafka 是 LinkedIn于 2010 年 12 月开发并 开源的分布式发布-订阅消息系统, 目前归属于 Apache 顶级项目,是一个高性能跨语言分布式 Publish/Subscribe 消息队列系统。 Kafka 主要特点是基于 Pull 的模式来处理消息消费; 追求高吞吐量,在一台普通的服务器上既可以达到 10W/s 的吞吐速率; 一开始的目的就是用于日志收集和传输,所以实现了消息顺序和海量堆积。 0.8版本开始支持复制, 不支持事务, 对消息的重复、 丢失、 错误没有严格要求,
2022-02-24 03:23:25
409
原创 【RocketMQ】--架构模型及流程
文章目录架构模型流程架构模型流程1、启动 NameServer,NameServer启起来后监听端口,等待 Broker、Producer、Consumer 连上来,相当于一个路由控制中心。2、启动Broker,跟所有的NameServer保持长连接,定时发送心跳包。心跳包中,包含当前 Broker 信息(IP+端口等)以及存储所有 Topic 信息。 注册成功后,NameServer集群中就有 Topic 跟 Broker 的映射关系。3、收发消息前,先创建 Topic 。创建 Topic
2022-02-24 02:36:04
268
原创 【RocketMQ】--初识
RocketMQ简介消息对列RocketMQ版(原ONS)是阿里云基于Apache RocketMQ构建的低延迟、高并发、高可用、高可靠的分布式消息中间件。最初由阿里巴巴自研并捐赠给Apache基金会,服务阿里集团13年,覆盖全集团所有业务。作为双十一交易核心链路的官方指定产品,支持千万级并发、万亿级数据洪峰,历年刷新大规模交易消息流转记录。开源消息中间件RocketMQ应用场景https://www.aliyun.com/product/rocketmq?spm=5176.22772544.J_
2022-02-17 23:01:35
875
原创 【多线程阶段总结】--线程池
文章目录自定义线程池七个参数1.corePoolSize2.maximumPoolSize3.keepAliveTime4.unit超时时间5.工作队列workQueue6.threadFactory7.handler拒绝策略图示小妙招常用线程池1.FixedThreadPool2.CatchedThreadPool缓存线程池3.ScheduledThreadPool4.SingleThreadExecutor线程池本质对比三种线程池的执行速度CatchedThreadPoolFixedThreadPool
2022-01-30 00:15:01
591
原创 【多线程阶段总结】--初识
进程?进程(Process)是程序的⼀次执⾏过程,是系统运⾏程序的基本单位,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。因此进程是动态的。系统运⾏⼀个程序即是⼀个进程从创建,运⾏到消亡的过程。在 Java 中,当我们启动 main 函数时其实就是启动了⼀个 JVM 的进程,⽽ main 函数所在的线程就是这个进程中的⼀个线程,也称主线程。如下图所示,在 windows 中通过查看任务管理器的⽅式,我们就可以清楚看到 window 当前运⾏的进程(.exe ⽂件的运⾏)。线程?线程
2022-01-29 23:56:03
864
原创 【jvm阶段总结】--初识
jvm是什么?JVM是Java Virtual Machine(Java虚拟机)的缩写,有着一套虚拟的完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统,JVM是一种用于计算设备的规范,定义了.class文件在其内部运行的相关标准和规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上
2022-01-28 20:22:51
2138
原创 清理n天之外的文件(从手动到自动)---清理磁盘
继上次磁盘空间满了造成jenkins构建不稳定,因此需要清理磁盘空间删除n天之外的文件首先,先查看磁盘空间:df命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计"df -h”以更易读的方式显示目前磁盘空间和使用情况。"df -i” 以inode模式来显示磁盘使用情况。"df -l” local 限制列出的文件结构。对比df -h和df -i:在df -h 和df -i显示使用率100%,基本解决方法都是删除文件。df -h是去删除比较大...
2021-11-20 20:33:00
648
原创 jar包配置开机自启
大家都知道,最近限电风潮,为了响应节约资源的号召,我们可以在不需要的时候关闭服务器,因此需要在Linux服务器上设置开机启动jar包,这样服务器重启的时候就会自动运行项目,实现自动化,实现步骤:前期准备 查看自己服务器java的版本号输入 java -versiontips: 此处服务器为java1.8版本的,下面jarSysInit.sh脚本里的jdk环境就要配置为相应的环境过程:1.新建jar包自启脚本(位置随意,文件名随意)sudo vi /etc/init.d/jarSy
2021-11-14 21:08:30
5755
1
原创 jenkins构建UNSTABLE原因及解决方案一二三四五(不断更新中。。。)
最近,项目构建老是出现:jenkins构建UNSTABLE问题(一般构建按钮为黄色)。情况一:问题截图:问题详情:ERROR: Exception when publishing, exception message [Failure]Build step 'Send files or execute commands over SSH' changed build result to UNSTABLEStarted calculate disk usage of buil
2021-11-14 17:13:43
21659
1
原创 虚拟机重启后再次重启nginx: [error] open() “/var/run/nginx/nginx.pid“ failed (2: No such file or directory)
昨天,服务器进行清理,关闭了服务器,今天,输入域名想要访问服务器发现网页打不开了,首先想到的是nginx的问题,然后就登录服务器重启了nginx,结果出现了这个错误:nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)问题分析:提示信息提示在/var/run/nginx/目录下找不到nginx.pid文件解决方法:方法一、修改nginx.conf配置文件1.cd /
2021-11-01 19:38:22
2573
原创 Element Table实现用户自定义列
需求:文件列表用户自定义基础:之前已经实现了文件列表的功能,但是是固定表头的列表期初,我们是根据用户提出的要求展示相应的列,没有做过多的考虑,因此,我们当时直接固定了列名。这样做其实大大限制了程序的可扩展性,如果用户使用过程中发现我需要的没有这么多列或者我想要更多的列的时候怎么办?只能改代码,严重违反了软件设计的开放封闭的原则,因此,在功能设计的时候要考虑的全面一点,不能不听用户的,但是也不能全听用户的,要有全局观。基础代码实现:当el-table元素中注入data对象数组后,在el-tab
2021-09-18 11:49:50
8068
1
原创 v-if VS v-show
先上结论------相同点:视觉效果:一样指令的作用:根据表达式的真假值切换元素的显示状态语法表达式类似:v-if/show="表达式"指令后面的"表达式"最终会被解析为布尔值,值为真(true)的时候元素显示,值为假(false)的时候元素不显示不同点:显示隐藏:v-if显示隐藏是将dom元素整个销毁和重建;而v-show隐藏则是为该元素添加css--display:none,dom元素还在。性能消耗及使用场景:v-if操作dom元素,有更高的切换消耗,适用于不太.
2021-09-17 15:41:44
161
原创 【el-tree】树形结构拖拽
之前做项目有遇到过使用el-tree的,但是树形结构拖拽还是第一次遇到,开始觉得会好难(心里暗示),因为考虑到好多种情况,做完之后其实还好,在此记录一下~首先,树形结构的拖拽--- <el-tree v-model="filterText"//过滤 class="tree" :data="projectNameOptions" node-key="id" :props="chapterProps" default-expa
2021-09-15 21:01:41
5096
1
原创 【el-tree】树形结构存储
最近,做项目中用到了element提供的tree形控件。首先,el-tree所展示的树形结构是什么样的呢?接下来,要展示这样的属性结构需要什么样的数据格式呢?一个json串:[{ id: 1, label: '一级 1’, children: [{ id: 4, label: '二级 1-1’, children: [{ id: 9, .
2021-08-27 21:14:55
1307
2
原创 【sql语句中的符号】(通配符+#{}+${})
背景:别人写的代码,由于数据库添加了一个is_delete(0:未删除;1:已删除)字段用来做假删除,大家都知道,如果说一条数据删除了,那么肯定是不能查出来的了,因此,我的任务就是修改由于添加一个字段而引发的灾难。问题:我们的sql:select i.id, i.project_id, i.sets, i.name, i.length, i.likes, i.url, i.type, p.project_namefrom
2021-08-17 22:24:03
9142
原创 【feign vs openFeign及openFeign的简单应用】
Feignvs OpenFeignfeignFeign是Springcloud组件中的一个轻量级Restful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Feign的使用方式是:使用Feign的注解定义接口,调用这个接口,就可以调用服务注册中心的服务。Feign本身不支持Spring MVC的注解,它有一套自己的注解。Feign 本身已经集成了Ribbon依赖和⾃动配置,因此我们不需要额外引⼊依赖,可以直接通过配置来设置负载均衡;Feig.
2021-08-16 21:12:10
343
原创 vue <style>标签的scoped 属性
大家都知道<style> 标签是用来设置浏览器中如何呈现HTML的,也就是设置CSS样式的,但是当我们在<style>标签里加上scope的是什么意思呢?"scoped" 属性是 HTML 5 中的新属性,它允许我们为文档的指定部分定义样式,而不是整个文档。如果使用 "scoped" 属性,那么所规定的样式只能应用到 style 元素的父元素及其子元素。<style> 标签有 scoped 属性时表示它的样式作用于当...
2021-08-08 15:55:24
943
原创 【前端】监听页面切换--浏览器页面间切换,路由切换,导航守卫页面刷新或关闭
前提,PC端应用一,监听浏览器页面间切换场景:浏览器某一个页面A,PC端页面B,页面AB间切换方案:1.使用vue-visibility-change安装:npm i vue-visibility-change -S2.导入main.jsimport visibility from 'vue-visibility-change';Vue.use(visibility);3.使用i,全局使用:main.jsvisibility.change((evt,
2021-07-31 21:53:31
3060
原创 分页--前后端联调
前面,我们写了element Table+Pagination实现分页https://blog.csdn.net/hejingfang123/article/details/118875170,但是,只是静态页面,后面,我们写了真分页后端实现--Mybatishttps://blog.csdn.net/hejingfang123?spm=1001.2101.3001.5343,接下来,轮到前后端联调了---<script>export default { data() { r
2021-07-30 21:03:16
326
1
原创 真分页后端实现--Mybatis
首先,我们要真分页查询文件然后,由于文件数据很多,我们设计了根据文件名称模糊查询文件的功能由于采取了分页,需要根据查询出来的总的文件数来判断到底有几页根据上面的几个需求,我们写了三个接口:1.真分页查询每一页的数据2.根据文件名真分页模糊查询3.查询文件总数优化:三个合成一个实现:定义一个基础分页类basePage(好处:任何需要分页的地方只要继承这个基础分页类即可)://@Data可以为类提供读写功能,从而不用写get、set方法;他还会为类提供 equa..
2021-07-22 17:37:37
509
2
原创 element Table+Pagination实现分页
最近做项目时,有一个新需求:做一个列表展示,并且用上分页。项目背景:前端框架是vue,我们的项目是电脑端,因此我们选择了element组件库做一个列表展示,我们首先可以想到element的Table表格首先,使用一个别人封装好的组件,基础的一定是最精华的,最基础的,我们想使用这个组件,最基础的的一定要有Table组件表头:<template> <el-table :data="tableData" style="width: 100%
2021-07-18 11:47:56
969
1
原创 手动推jar包及查看jar包启动情况
手动推jar包?第一步:登录相应的服务器第二步: 文件管理,连接找到要上传jar包的服务器直接将文件拖进去文件上传服务器完成启动jar包?在相应的文件夹中找到刚刚上传的jar包:tmp 为存储临时文件的文件夹,包含系统和用户创建的临时文件。当系统重新启动时,这个目录下的文件都将被删除。复制文件到相应位置找到新复制的文件的位置启动jar包方式一:java -jar XXX.jar...
2021-06-30 23:50:45
5208
1
原创 【Nacos】安装,测试及配置外部数据库支持
安装:安装可以通过下载源代码或者下载安装包的方式:预备环境准备:Nacos 依赖 Java 环境来运行。准备:64 bit JDK 1.8+;Maven 3.2.x+1,下载源代码git地址:https://github.com/alibaba/nacos2,下载安装包下载地址:https://github.com/alibaba/nacos/releases解压运行bin目录下的startup.cmd,默认端口是8848可以通过访问http://127.0.
2021-06-30 23:39:51
1021
原创 【Nacos】入门
配置应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期配置的特点: 配置是独立于程序的只读变量 配置伴随应用的整个生命周期 配置可以有多个加载方式 配置需要治理 配置中心什么是配置中心?在微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,每个服务都有配置文件,每个配置文件都分散在各个服务中,这样配置就分散了,而且不好管理,不仅如此,分散中还包含着冗余那么能不能单独构建一个配置.
2021-06-17 23:27:24
153
1
原创 【Linux命令】查看资源使用情况--free命令详解
命令:free [参数 ]命令参数:-b 以Byte为单位显示内存使用情况。-k 以KB为单位显示内存使用情况。-m 以MB为单位显示内存使用情况。-g以GB为单位显示内存使用情况。-o 不显示缓冲区调节列。-s<间隔秒数> 持续观察内存使用状况。-t 显示内存总和列。-V 显示版本信息。结果说明:还有一个free -h命令,输出的结果会有好很多(目前的理解是根据内存大小搭配合适的单位):mem:表示物理内存...
2021-06-07 20:57:14
2492
1
原创 【批量导入前端实现】-element upload使用
最近,项目中有一个新需求是批量导入功能,我负责前端。首先,element提供了封装好的upload组件,我们只需要根据我们的实际需求进行调整就好。下面,
2021-06-04 00:09:30
1223
1
原创 【Nginx】从入门到配置
是什么? Nginx是一个高性能的反向代理服务器和高性能web服务器;延伸一下,很多人可能对于正向代理、反向代理不是很清晰,首先来具体了解一下。正向代理 正向代理,代理的客户端;比如我们要与后台访问数据,然后直接请求代理服务器就可以,然后代理服务器会根据我们的请求去访问具体的服务器,返回给我们想要的数据。从网站的角度上,我们在代理服务器上取数据一次记录,但是网站不知道我们是具体哪个客户端。需要注意。客户端必须设置正向代理服务器,需要知道正向代理服务器的ip地址,还有代理程序的端口;作用访问
2021-06-03 22:30:11
301
1
原创 Excel批量导入树形结构模板设计-征集广大网友
最近,做项目的时候,有一个需求,Excel批量导入树形结构功能,导入树形结构如何理解呢?就是要体现出父子关系,如果对于数据库来说,可以理解成pid如果只是简单的批量导入听起来感觉还是蛮简单的,但是加上了一个树形结构,还是有些些复杂的先介绍一下数据库需要存储的主要字段为计划名称,...
2021-06-02 12:08:52
1580
1
原创 查询组织架构业务梳理
1.如何判断节点有children属性js属性对象的hasOwnProperty方法Object的hasOwnProperty()方法返回一个布尔值,判断对象是否包含特定的自身(非继承)属性。
2021-05-03 09:22:39
216
1
原创 【maven】引入外部jar包(钉钉)
在Maven中,使用第三方库一般是通过pom.xml文件中定义的dependency从远程repository中下载该库。但是如果由于各种原因(比如网速)不能通过远程repository下载,因此通过其他方式下载到 jar 包,但这些 jar 包不能在 repository (资源库)中使用,就需要手动安装 jar 包到 maven 本地 repository (资源库)这种情况下,有两种方法可以解决问题:方法一:参考官方文档:http://maven.apache.org/guides/min
2021-04-25 16:06:26
2959
1
原创 【git】小结
前言git 是一种敏捷方便的的分布式版本控制工具,操作简单,速度快,可以说是非常强大了,接下来就说说git吧~内容一、git 是什么(一)首先说一下版本控制,版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,版本控制包括三方面,检入检出控制、分支和合并、历史记录。(二)接下来说一下git,他就是用来处理这项操作的软件,通过git可以实现代码的控制协调。git 是分布式的,对于分布式是每个人都会克隆一份远程仓库的代码到本地,然后提交代码时不会直接提交到仓库中,而是会
2021-04-16 00:44:33
154
1
原创 解决问题--MYSQL服务无法启动
最接近,在启动mysql数据库的时候遇到了这个问题方法一:删除data文件夹,重新执行命令:mysqld--initialize,重新初始化一个data文件方法二:配置my.ini1.配置环境变量是否有问题2.手动启动MySQL失败,提示本地计算机上的MySQL服务启动后停止,某些服务在未由其他服务或程序使用是将自动停止必需配置好my.ini方法三:看IP有没有被占用(解决了我的问题)如何查看IP有没有被占用?netstat -ano终止相应进程taskkil..
2021-03-31 21:10:22
6361
原创 Docker--初识
基础:Docker是基于Go语言开发的开源项目官网:https://www.docker.com/文档地址:https://docs.docker.com/ Docker的文档是超级详细的仓库库地址:https://hub.docker.com/ git里面的命令也能使用Docker百度百科:https://baike.baidu.com/item/Docker/13344470?fr=aladdin为什么会出现Docker?开发人员和运维人员之间微妙的问题: 我...
2021-03-31 15:41:25
163
2
原创 正则表达式--语法
构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。正则达式有集中分类:一、普通字符1.[ABC]匹配[...]中的所有字符2.[^ABC]匹配除了...中字符所有的字符小结:在大括号中用^表示非,用在表达式最前面表示字符串的开始,这里有坑!!!3.[A-Z]匹配所有大写字母 [a-z]匹配所有小写字母4.\n.
2021-03-30 21:04:19
1124
原创 正则表达式--使用
最近,做项目的时候的一个需求:一个输入框,限制只能输入1~60的数字开始的考虑自己写判断,但是这样太麻烦了,那么为什么不使用正则表达式呢?以前没有使用过正则表达式,查了些资料,现在总结一下:我们可以这样做:这是一个element的input组件<el-input v-model="input" placeholder="请输入内容" @input="inputChange()"></el-input>inputChange方法:, ;.
2021-03-27 17:02:14
234
1
原创 【Spring】依赖注入方式
上一篇文章我们简单介绍了一下Spring的依赖注入https://blog.csdn.net/hejingfang123/article/details/113591265?spm=1001.2014.3001.5501,下面,我们来说一说Spring依赖注入的方式所谓依赖注入(Dependency Injection),就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。依赖注入是 Spring 框架核心 IOC 的具体实现。在编写程序时,通过控制反转,把对象的创建交给了 Spring
2021-02-26 21:37:57
201
3
原创 【Spring】配置文件
首先,什么是Spring的配置文件呢?上一篇【Spring】程序开发步骤https://mp.csdn.net/editor/html/113821302讲到的第三步创建spring核心配置文件,其实就是创建一个xml文件,第四步是配置Spring配置文件,接下来我们具体讲解一下Spring配置文件的配置:说到Spring配置文件,那么一定离不开bean标签。关于bean标签,上一篇文章只是简单地讲解了一下他的基本配置,比如作用,规则和组成,下面说点不一样的:1、bean标签基本配置用于配置
2021-02-25 21:31:12
616
2
原创 java中的回调函数
CALLBACK,即回调函数,是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。---百度百科上面的解释是在C++中对回调函数的解释。在java中也是存在回掉函数的,我们可以把回调函数理解为一个被作为参数传递的函数。就英语单词的角度上,我们把CALLBACK这个单词拆开,即CALL和BACK,
2021-02-24 21:38:21
3411
1
原创 package.json,package_lock.json与node_moule
最近做前端的时候,不小心把package_lock.json文件提交了,在发merge请求的时候被打回来了,备注中提到了让我查一下package_lock.json是干嘛的,到底需不需要提交。好,那接下来让我们研究一下吧!package.json:提到package_lock.json不得不提到package.json,比如说,我们用vue框架搭建一个前端项目(搭建步骤请参考:https://blog.csdn.net/hejingfang123/article/details/10953493
2021-02-23 21:34:30
691
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人