自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 顺序消息实现思路讲解

实现顺序消息的核心思路

2022-09-26 23:14:47 216 1

原创 Java知识点回顾

1 java中的值传递和引用传递 一个方法不能修改一个基本数据类型的参数(数值型和布尔型)。 一个方法可以修改一个引用所指向的对象状态,但这仍然是按值调用而非引用调用。 上面两种传递都进行了值拷贝的过程2 对象的序列化 对象序列化机制(object serialization)是Java语言内建的一种对象持久化方式, 通过对象序列化,可以把对象的状态保存为字节数组, 并且可以在有需要的时候将这个字节数组通过反序列化的方式再转换成对象。 对象序列化可以很容易的在JVM中的活动对象

2021-04-02 09:57:04 138

原创 eureka配置文件属性说明

Eureka的配置文件说明eureka: instance: hostname: localhost # 应用实例主机名 instance-id: cloud-eureka # 实例ID lease-renewal-interval-in-seconds: 5 # 服务续约(心跳)频率,单位:秒,缺省30 ip-address

2021-03-10 10:11:16 337

原创 ArrayBlockingQueue和LinkedBlockingQueue的区别及使用以及PriorityBlockingQueue的简单说明

BlockingQueue接口定义了一种阻塞的FIFO queue,每一个BlockingQueue都有一个容量,让容量满时往BlockingQueue中添加数据时会造成阻塞,当容量为空时取元素操作会阻塞。1 ArrayBlockingQueue是一个由数组支持的有界阻塞队列。在读写操作上都需要锁住整个容器,因此吞吐量与一般的实现是相似的,适合于实现“生产者消费者”模式。2 LinkedBlockingQueue是基于链表的阻塞队列,同ArrayListBlockingQueue类似,其内部也维持着一个

2021-02-23 23:17:12 932

原创 java并发编程中的CountDownLatch和CyclicBarrier的比较

首先申明一下二者的主要区别1. CountDownLatch是线程组之间的等待,即一个(或多个)线程等待N个线程完成某件事情之后再执行;2. 而CyclicBarrier则是线程组内的等待,即每个线程相互等待,即N个线程都被拦截之后,然后依次执行。3. CountDownLatch是减计数方式,而CyclicBarrier是加计数方式。4. CountDownLatch计数为0无法重置,而CyclicBarrier计数达到初始值,则可以重置。5. CountDownLatch不可以复用,而Cycl

2021-02-19 21:10:27 122

原创 uniapp编译微信小程序的分包处理

uniapp编译微信小程序的分包处理程序代码包不能超过16MB 大小,所以,小程序可以秒开,但是随着业务的发展,又推出整个小程序所有分包大小不超过 16M,而16M不能秒开,于是就推出分包加载,分包大小不能超过2M//分包使用规则 假设小程序目录结构如下:├── app.js├── app.json├── app.wxss├── moduleA│ └── pages│ ├── rabbit│ └── squirrel├── moduleB│ └── p

2020-12-31 14:39:23 571

原创 完美解决:git did not exit cleanly (exit code 128) 解决

在本地的svn目录下,右击选项,查看:“TortoiseGit” --> “Settings” --> “Network”将"C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe" 修改为"C:\Program Files\Git\bin\ssh.exe" 即可;亲测有效哦

2020-12-06 14:39:08 2808

原创 linux下编译运行Java文件

先创建java项目目录,名称MyTest mkdir MyTest在项目中创建src和bin目录,src下用于存放 “.java” 文件,bin下存放 “ .class ” 文件。 cd MyTest mkdir src bin在src下创建包com.stu。 mkdir -p src/com/stu在包中编写java文件,文件名为Hello.java。 vi src/com/stu/Hello.java package com.st.

2020-11-11 23:11:42 499

原创 关于rabbitmq的消息顺序性分发,死信队列,接口安全性校验,限流等

@[TOC]里写自定义目录标题)欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的

2020-11-03 21:35:53 239

原创 kibana查询es数据记录

已经有一段时间没有更新博客信息了,最近刚从北京出差回来,老电脑已经被我放置了快一年的时间没有使用,现在要同步所有的信息到老电脑上去,还好自己对这一套东西也是比较熟悉了询index为test的数据信息GET test/_search{ "size": 20, "query": { "match_all": {} }}查询名为pms,type为product的index的数据信息GET pms/product/_search{ "size": 20, "q

2020-11-03 19:46:08 2681

原创 2020后端Java面试题汇总

总结了一些相关的java面试题,虽然我是比较反感背面试题的,但是还是需要了解一些基础概念的,不然面试真的可能会很尴尬java基础:1 介绍一下Java中常见的容器2 Iterator 和 ListIterator 有什么区别? Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。 Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。 ListIterator实现了Iterator接口,并包含其他的功能

2020-10-19 16:17:50 191

原创 nacos config的多配置优先级

Springcloud Alibaba Nacos Config提供了三种方式从nacos配置中心拉取配置A: spring.cloud.nacos.config.shared-dataids支持多个共享data-id的配置B:spring.cloud.nacos.config.ext-config[n].data-id的方式支持多个data-id的配置,其中,需要注意的优先级是n的值越大,配置的优先级越高,数组的下标从0开始C:通过内部相关规则(应用名+扩展名)自动生成data-id的的配置

2020-10-09 12:26:09 1448

原创 springcloud整合nacos做注册中心和配置中心

常见的微服务springcloud一般使用的注册中心为eureka,但是最近在项目中客户需要搭建一个灰度发布,所以这里我们可以采用nacos作为注册中心来动态修改配置,实现我们的恢复发布需求。首先,我们需要了解什么是灰度发布,然后我们引出nacos作为注册中心的好处,为什么要使用nacos,在我的理解来看,灰度发布就是在用户不知道的情况,实现我们的服务发布与更新,而这些操作是在服务不停更的情况下实现的,所以对于我们的用户来说,它就是灰度的,而实现它的重点,就在于动态路由的配置化管理,在切换完路由之后,使

2020-10-07 14:28:01 809 1

原创 pgsql的命令行执行脚本

首先我们需要登陆pg数据库,解压客户端后,进行pgsoft目录下,选择对应版本好的pgsqlcd pgsqoft/pg11.6/bin登陆pgsqlpsql -h ip -U user(用户名) -d 数据库名 -p 端口 eg: psql -h 127.0.0.1 -U test -d test -p 5432执行sql脚本 \i 脚本路径.sql退出\q也可以直接执行脚本 psql -h 127.0.0.1 -U test -d test -p 5432 .

2020-09-28 17:02:27 3909

原创 关于SpringCloud的Feign组件的动态调用

微服务SpringCloud中使用越来越多的服务将业务进行隔离,相互之间使用feign进行调用,但是在使用的时候我们遇到一个问题,每次调用一个新的服务的使用,都要手动的使用@FeignClient注解去申明调用一个服务,问题来了,如果需要调用多个服务,那我们是不是就需要手动的配置多个,于是找了很多博客后,加上自己的实际实践,总结了feign组件的动态调用,可以方便我们的程序开发,省去很多不必要的代码,但由此可能会带来一些feign的性能问题,没有详细测试中,希望使用的朋友们不要忘了测试一下性能哈首先,.

2020-09-25 23:04:50 2933 1

原创 Mac终端添加ll等自定义命令

打开终端编辑~/.bash_profilevim ~/.bash_profile在最后面加上以下代码保存alias ll='ls -alF'alias la='ls -A'alias l='ls -CF'最后在终端输入,回车source .bash_profile

2020-09-19 22:17:47 138

原创 关于监控日志中间件(filebeat,zookeeper,kafka,elasticsearch)的安装步骤

filebeat中的filebeat.yml实现的配置信息要素filebeat.prospectors #用于定义数据原型,检测日志或是发现日志input_type: log #指定数据的输入类型,默认为log,另外还可以指定stdinpaths: #自定需要监控的日志文件路径;可以是完整的日志路径也可以是模糊的匹配格式/var/log/messages #指定系统日志位置fields:

2020-08-31 11:05:46 497

原创 node安装模块时报错no such file or directory,

**您可以通过以下方法解决此问题:确保正确描述依赖关系 package.json只需键入npm install并按Enter键。检查问题仍然存在。如果问题没有解决,请继续这些方法。键入npm cache clean并按Enter键键入sudo npm install -g npm并按Enter键。重试npm install并按Enter键。亲测有效...

2020-08-26 23:46:13 2012

原创 Nginx的一般转发和Websocket转发

Nginx常用来部署前端打包后的项目,在日常中也会经常使用到,所以关于这一块的使用我们需要熟练掌握1 nginx的安装部署下载对应的nginx版本的gz压缩包 =》 nginx-1.14.2.tar.gz => 解压 tar -zxvf nginx-1.14.2.tar.gz安装对应的环境gcc && g++yum install gcc-c++pcreyum install -y pcre pcre-develzlibyum install -y zlib

2020-08-21 15:27:20 466

原创 关于vue的组件的封装和插槽的使用

最近项目上线需要附带监控系统,来完成对上线项目的的应用监控,交易成交监控,文件传输监控,交易排行,地图显示等等一系列的监控数据展示和预警后台监控整体流程介绍组件的设计主要是为了复用多个图表,依据不同的参数展示对应的数据情况2 下面主要介绍vue关于组件的应用介绍 在使用组件的时候,主要考虑业务的需求和实际的情况相结合,在设计的时候我们就把需要复用的东西进行 组件化封装,大体架构先搭建,然后一步一步细化,这样可以为后期我们的开发避免很多的弯路3...

2020-08-20 00:26:09 547

原创 关于rabbitmq的并发优化

最近项目上线,一直在压测,由于项目中使用了rabbitmq中间件,所以在压测的时候需要额外关注tps的变化,所以,这里就讲讲关于mq的并发优化问题 1 首先是链接模式的区分,这里的链接模式我们默认选用的是channel,但是在压测时候出现了tps波动很大的情况,所以必须要对此进行优化操作 2 rabbitmq的请求处理线程池的缓存大小设置 3 消费端采用的消费模式确认,防止大量数据堆积mq队列中...

2020-07-22 23:00:16 1640

原创 使用tomcat部署vue项目

1 首先需要修改vue项目中的Route中的index.js文件,新增mode:‘history’,base:’/vue/' export default new Router({ routes: [{ path: '/', mode:'history', base:'/vue/', name: '', component: login, hidden: true, meta: {

2020-07-13 12:40:17 8235 2

原创 Vue项目上传图片后在ie浏览器卡死

首先申明,作为一名主业为后段开发的程序员,但是,我觉得前端我们也是需要了解和掌握的,这样开发起来可以和前端妹子很好的交流沟通,甚至有时可以直接指出他们的一些代码问题,这样看起来,前端妹子是不是会对你肃然起敬,一不小心,说不定我们还解决了作为程序员的老大难问题——单身,所以,同行们,加油行动起来!由于项目接近尾声,测试们在测试的时候疯狂的报浏览器卡死问题,没办法,于是老大看我平时也会写一些前端页面的基础上,让我帮忙分析看看啥问题,push代码下来,一看,,瞬间懵逼,原来他们在开发的时候追求效率,压根就没有准

2020-07-12 00:28:15 1031

原创 适用于监控大屏的websocket

现在前后端分离已经成为主流,当大家都已经习惯在用前端的ajax或是axious去调用后段接口请求数据时,这里介绍一种新型的方式,它就是websocket,相比较传统的调用方式,它有哪些有点呢1 首先,我们需要明确它的使用范围:博主这里的项目是因为需要做一个实时监控交易数据,所以这里需要使用到长链接去实时的展示数据,避免常规的调用每次开启链接和关闭链接带来的额外的资源开销,实时性还达不到要求,如果不是这样,其实一直这样的开启一个长链接也是十分的占用资源的,所以,小伙伴们需要依据实际的业务场景来选择自己的实

2020-07-11 17:57:53 2171 1

原创 关于redis的数据结构以及相关应用

关于redis的使用场景 总所周知,redis作为缓存数据库在我们的项目中占据着越来越大的作用,不管你是传统式的开发又或者是分布式系统,redis的应用几乎无处不在,今天在浏览博客的时候无意间发现了一篇写的很好的redis总结的文章,于是,想着就拿过来自己也总结一下,当作是对今天阅读的收获,希望大家以后也养成这样的习惯,感觉这对于个人的提高还是很有帮助的## 1 redis的数据结构## 2 redis在项目中的实际应用有哪些3 redis的高可用集群搭建方式4 redis的持久化5

2020-07-05 23:17:09 143

原创 linux上安装mysql笔记

检查是否安装了mysqlrpm -qa | grep mysql下载mysql源 / 删除yum install mysql / yum remove mysql下载mysql的repo 源(MySQL 5.7)wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm安装mysql57-community-release-el7-9.noarch.rpm包sudo rpm -ivh mysql57-communi

2020-07-04 12:30:47 1950

原创 linux下创建用户并远程登陆

一般使用root账号直接登陆,会存在安全问题,这里建议最好使用普通用户登陆,然后需要root账号时自己去切换比较安全,创建步骤有: 1 useradd -d /home/newuser -m newuser --创建用户 2 passwd newuser --重新定义密码 3 修改远程登陆的文件 vi /etc/ssh/sshd_config 新增 AllowUsers 用户名(newuser) 保存文件,退出 4 重启sshd:service ss...

2020-07-03 21:07:51 5632 4

原创 百度云服务器的病毒解决

申请的云服务好久都没有登,今天上去一看发现cpu占用率达到了98%,还好我还能登上去,不然真的不知道改怎么解决,大概简述一下解决的过程:1 使用top命令查看具体进程号,找到对应的病毒进程2 不要立刻想着就这样直接的kill调,如果这样是无法解决问题的,我们需要找到对应的定时文件的位置,彻底的删除它的存在,才能防止它再次启动3 使用lsof -p:pid找到进程关联的文件位置,删除对应的定时启动脚本4 kill -9 pid 杀掉对应的进程...

2020-07-03 21:01:26 1876

原创 2020前端面试汇总记录

2020前端面试汇总记录1 浏览器的渲染过程:浏览器将获取的HTML文档解析成DOM树。处理CSS标记,构成层叠样式表模型CSSOM(CSS Object Model)。将DOM和CSSOM合并为渲染树(rendering tree),代表一系列将被渲染的对象。渲染树的每个元素包含的内容都是计算过的,它被称之为布局layout。浏览器使用一种流式处理的方法,只需要一次绘制操作就可以布局所有的元素。将渲染树的各个节点绘制到屏幕上,这一步被称为绘制painting。2.vue或者react,周期与

2020-07-03 20:53:55 111

原创 工作笔记

docker部署vue项目:1 下载nginx2 创建Dockerfile文件FROM nginx:latestMAINTAINER yangCOPY dist/ /usr/share/nginx/html/注意要在本目录下3 docker build -t mynginx .4 docker run -d --name monitor -p 9020:80 test-vue-0.0.1docker 删除容器:docker rm + 容器iddocker 删除镜像:docker rmi

2020-06-11 13:10:32 640 1

空空如也

空空如也

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

TA关注的人

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