- 博客(33)
- 资源 (1)
- 收藏
- 关注

原创 解决SpringBoot单元测试@Autowired不生效问题
在学习redis的过程中,使用了spring提供的单元测试功能,但是出现了@Autowired不注入的问题,本篇博客主要说明了该问题出现的原因以及解决方法。初始代码如下:public class RedisTest01 { private static final Logger log = LoggerFactory.getLogger(RedisTest01.class); //redis模板组件 @Autowired RedisTemplate redisTemp.
2020-06-23 11:28:19
11866
3

原创 处理nuxt打包后vendor.js文件大的问题
将基于nuxt的前端项目部署到服务器后,发现打开网页加载速度慢,后来经过排查发现原因是由于vendor.js的大小太庞大导致的。这篇博客记录了四种对此问题的优化。首先先进行查看nuxt分析打包文件大小 在nuxt.config.js中配置build:{ // 开启打包分析 analyze: true, assetFilter: function(assetFilename) {
2020-05-30 11:36:43
2808

原创 链表的环问题(java)
判断链表中是否有环问题概述:给定一个单链表,判断在此链表中是否存在环。public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }方法:使用快慢指针进行遍历 从头结点出发,快指针一次移动两个位置,慢指针一次移动一个位置。 快指针的移动速度比慢指针速度快,所以如果存在环,则这两个指针一定会在环中的某一
2020-05-18 10:54:37
178
原创 身份证校验工具类(Java)
public class CardIdUtil {private static Pattern provPatten;private static Pattern datePatten;private static Pattern codePatten;static { String provRegex = "^[1-9][0-9]"; String dateRegex = "^(18|19|20)\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|
2021-12-17 09:43:00
500
原创 Vue+SpringCloud Gateway 解决跨域问题
前端配置在axios中配置,将withCredentials值设为false// 创建axios实例VUE_APP_BASE_APIconst service = axios.create({ baseURL: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASE_API : '/', // api 的 base_url timeout: Config.timeout, // 请求超时时间 withCredenti
2021-11-08 11:40:12
1041
1
原创 SpringBoot设置超时响应
当后端对于数据量较大的处理或是某些耗时的操作时,需要先对请求接口的请求进行响应。配置接口,使用Call<V>进行返回@GetMapping("test")public Callable<BaseResponse> query() { return new Callable<BaseResponse>() { @Override public BaseResponse call() throws Exception {.
2021-03-21 13:46:19
4505
1
转载 使用docker安装RabbitMQ
安装dockerlinux安装docker拉取镜像docker pull rabbitmq:3.7.7-management使用docker images 查看所有镜像根据下载的镜像创建和启动容器docker run -d --name rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost.
2021-03-13 13:41:02
156
原创 四种主要的IO模型
文章目录前言1、同步阻塞IO(Blocking IO)流程:2、同步非阻塞IO(Non-blocking IO)二、使用步骤1.引入库2.读入数据总结前言 常见的IO模型有四种:同步阻塞IO、同步非阻塞IO、IO多路复用、异步IO。其中,阻塞与非阻塞的区别 阻塞与非阻塞都指的是用户空间程序的执行状态。阻塞IO指的是需要内核IO操作彻底完成后,才返回到用户空间执行用户的操作。 阻塞是指用户空间(调用线程)一直在等待,而不能干别的事情;非阻塞是指用户空间(调用线程)拿到内核返回的状态值
2020-11-27 20:18:00
1190
转载 Linux IO模式的基本名词与概念
文章目录用户空间和内核空间进程切换进程的阻塞文件描述符缓存I/O转载文章用户空间和内核空间现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内仔空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操作系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC00000
2020-11-27 19:15:47
216
原创 系统调用流程
文章目录一、内核缓冲区和进程缓冲区二、系统调用流程Java服务器端完成一次socket请求和响应,完整流程:一、内核缓冲区和进程缓冲区 由于外部设备的直接读写涉及操作系统的中断,发送系统中断时,需要保存之前的进程数据和状态等信息,还需要恢复之前的进程数据和状态等信息,为了减少这种系统损耗,设置了内存缓冲区。 依赖于内存缓冲区,上层应用使用read系统调用时,仅仅把数据从内核缓冲区复制到上层应用的缓冲区(进程缓冲区);上层应用使用write系统调用时,仅仅把数据从进程缓冲区复制到内核缓冲区中。底
2020-11-24 15:09:14
921
原创 编写第一个MapReduce程序(WordCount)
一、数据格式准备创建一个新的文件【在master节点中】vim wordcount.txt向其中放入内容并保存hello,world,hadoophive,sqoop,flume,hellokitty,tom,jerry,worldhadoop上传到HDFShdfs dfs -mkdir /wordcount/ #创建文件夹hdfs dfs -put wordcount.txt /wordcount/ #上传文件二、创建Maven项目pom.xml文件<pac
2020-10-16 10:48:30
1205
2
原创 Hadoop性能测试工具
一、磁盘IO测试1. 测试读速度方式一:使用hdparm测试yum install -y hdparm #下载hdparmhdparm -tT --direct /dev/sda1 #测试hdparm参数:-t 评估硬盘的读取效率(不经过磁盘cache)。-T 平估硬盘快取的读取效率。方式二:使用time+dd测试time dd if=/dev/sda1 of=/dev/null bs=8k因为/dev/sdb1是一个物理分区,对它的读取会产生IO,/dev/nu
2020-10-15 19:29:01
1938
原创 hadoop环境安装(完全分布式)
集群准备:两台CentOS7的服务器主机Master:192.168.239.164从机Slave: 192.168.239.166配置步骤:配置从节点固定IP以及域名解析服务器vi /etc/sysconfig/network-scripts/ifcfg-ens33将其中的BOOTPROTO=dhcp修改为BOOTPROTO=static、ONBOOT=no修改为ONBOOT=yes,并添加以下内容:ONBOOT=yesIPADDR=192.168.239.166NETMASK
2020-10-15 10:58:58
814
1
原创 CloudStack的创建
安装虚拟机准备两台VMware Workstations虚拟机进行基本设置,一台作为manager管理节点,一台作为agent计算节点。在安装的最后一步需要在自定义硬件中勾选虚拟化VT选项。安装完成启动后,需要修改网卡配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33修改配置项为ONBOOT=YES,保存后退出(Esc+:wq)重启网络服务systemctl restart network...
2020-10-11 10:50:45
1172
1
原创 Redis客户端命令
远程连接Redis服务redis-cli -h host -p port [-a password] [-c]-h:目标服务器的ip地址-p:目标服务器的端口号-a:设置的redis密码-c:如果是redis集群需要添加-c参数查找所有符合给定模式的Keykeys pattern支持使用通配符,其中pattern支持模式符号含义?匹配一个字符*匹配任意个(包括0个)字符[-]匹配区间内的任意字符串,如a[b-d]可以匹配“ab”,“ac”,“a
2020-09-24 19:46:45
1628
原创 Zookeeper集群搭建(基于外网ip的云服务器搭建)
1、解压zookeeper安装包并配置环境变量解压tar -zxvf zookeeper-3.4.14.tar.gz配置环境变量(如果不配置,需要在bin目录下启动脚本)(1) 在/etc/profile文件的最后添加#set zookeeper environmentexport ZK_HOME=/root/zookeeper-3.4.14export PATH=$PATH:$ZK_HOME/bin(ZK_HOME为zookeeper的安装路径)(2)修改后需重新加载配置文件
2020-09-13 20:40:44
1150
原创 Redis集群搭建(不用使用ruby命令)
现在网上有很多博客介绍redis的集群搭建的,但是其中都不是最新的版本,例如都是使用ruby进行版本控制,但是最新的redis版本中使用c语言替代ruby完成,所以在开始搭建的时候会绕很多的弯路,这里记录基于最新的redis版本的集群搭建方法(redis6.0.5版本)。首先在此之前Linux需要安装好redis。这里可以参考我的另一篇博客:基于yum install的redis搭建redis集群搭建步骤由于集群至少需要6个节点(3主3从模式),这里使用同一服务器的六个不用端口代替实现(9001~.
2020-07-19 16:25:50
1340
1
原创 CentOS环境下安装Docker
Docker 目前支持 CentOS 7及以后的版本。系统的要求需要64 位操作系统,内核版本至少为 3.10。安装步骤首先,为了方便添加软件源,以及支持 devicemapper 存储类型,安装如下软件包:yum updateyum install -y yum-utils device-mapper-persistent-data lvm2添加docker稳定版本的 yum 软件源:yum-config-manager --add-repo https://download.docke.
2020-07-17 11:22:29
139
原创 压力测试工具jmeter
下载地址链接:https://pan.baidu.com/s/1k8MEPHy6RTzN-RrZkoEKnA提取码:2e1r使用步骤将压缩包解压到不含中文路径下,在apache-jmeter-5.0\apache-jmeter-5.0\bin中打开jmeter.sh文件。在操作页面上的测试计划上新建线程组...
2020-06-28 22:03:57
175
原创 Java邮件发送插件(基于QQ邮箱的使用)
该插件是基于SpringBoot2.x版本的导入相应的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> <version>1.5.7.RELEASE</version></dependency>在application..
2020-06-26 16:17:34
584
转载 Linux中安装jdk
第一步: 下载需要安装的linux版本,上传到linux中,创建解压目录,解压jdk压缩包到对应的目录。#创建解压目录mkdir -p /usr/local/java#解压到指定路径tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local/java第二步: 安装jdk依赖环境glibcyum install glibc.i686第三步: 配置安装信息vim /etc/profile【vim快捷键:在命令行模式下使用G直接跳到文档末尾,使
2020-06-23 10:06:46
347
原创 SpringBoot热部署工具devtools
引入spring-boot-devtools的依赖Jar<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional></dependency>开启IDEA自动编译及automake功能开启自动编译
2020-06-22 15:52:24
322
原创 linux安装redis最简方法
使用yum下载并安装yum install redis启动redis服务#启动redisservice redis start#停止redisservice redis stop#查看redis运行状态service redis status查看redis进程ps -ef | grep redis设置redis为开机自动启动chkconfig redis on进入redis服务redis-cli查看端口是否被监听netstat -tunlp | g..
2020-06-21 15:32:40
240
原创 前后端图片上传与接收的过程(EditorMarkdown插件的补充使用)
需求:在前端上传图片,后端进行接收后保存并返回存放图片的url。这里,前端使用vue的axios插件进行传输数据,后端使用java实现。使用nginx搭建静态资源服务器。nginx搭建静态资源服务器的过程可以查看本人写的另一篇博客:https://blog.youkuaiyun.com/qq_41051923/article/details/106856027前端代码实现图片传输:// 绑定@imgAdd event $imgAdd(pos, $file){ // 将图片上传到服务.
2020-06-19 15:58:37
1091
原创 使用nginx搭建静态资源服务器
为什么要使用nginx搭建 首先有这样一个需求:在前端页面传入图片或者文件这些静态资源,后端程序接受此类型的数据后,需要进行处理数据(例如可以返回一个url)。那么就需要有这样一个过程,这里以图片为例:后端程序对图片进行读取后存入服务器中的相应位置后端程序返回图片所在位置(通常是一个url)那么就需要nginx完成以上两步的操作。nginx在Linux中的下载与安装以yum install方式下.
2020-06-19 14:56:51
271
转载 修改云服务器远程默认端口(Linux)
由于使用系统默认端口的风险较大,容易被攻击软件扫描以及攻击,为避免因端口攻击而无法远程连接云服务器,可以将云服务器默认远程端口修改为不常见的端口,提供云服务器的安全性。这里以百度云服务器作为范例。操作步骤:1. 使用VNC登录Linux实例。2. 修改配置文件vim /etc/ssh/sshd_config按 i 切换至编辑模式,增加新端口内容,在 #Port 22 下新增一行 Port 新端口号,并把Port 22 的注释删除(即删除前面的#)。修改后保存。(Esc+:wq)3..
2020-05-20 15:11:00
788
原创 求滑动窗口的最大值
题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,3,4,2
2020-05-18 14:50:59
810
原创 SpringBoot在IDEA中的简单配置
创建Maven项目添加springBoot的起步依赖SpringBoot要求,项目要继承SpringBoot的起步依赖spring-boot-starter-parent<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta...
2020-02-18 12:01:42
514
原创 Junit的入门使用
Junit的入门使用junit是一个java的单元测试框架,使用Junit可以取代常规测试时创建大量main方法的方式,简化单元测试,可以在一个函数写完成后即可进行测试,减小回归错误的纠错难度。Junit的使用流程使用Maven导入jar包在maven工程的pom.xml文件中指定Junit对应的坐标<dependency> <groupId>junit&...
2020-02-17 13:27:02
328
OpenOffice相关文件.zip
2021-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人