自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 查看日志的常用Linux命令(持续更新)

1.查询符合条件的行grep 关键字1 文件名.log | grep 关键字2 | grep 关键字3|grep.......如果要显示行号 可加参数-ngrep -n 关键字 文件名.log2.查询关键字,并且显示上下文less 文件名.log/关键字 #向前查找?关键字 #向后查找如果要跳转到指定的行,比如跳到36行,可使用:less +36 -j 1 文件名.log跳到36行,并且第36行在当前页面第1行显示。...

2022-04-06 15:55:23 1446

原创 java.net.UnknownHostException完美解决。

生产者会向Eureka注册,生产者如果部署在本机上,只需要部署以下参数即可:eureka: instance: instance-id: thisiswsgs01 # 设置服务描述消费者只需要通过 http://thisiswsgs01/user/1即可访问本次注册到的消费者。注意:如果只是以上配置,那么这个生产者只会被同在本机部署的消费者通过Eureka消费。因为这里会把thisiswsgs01解析成127.0.0.1.如果消费者部署在外网另一台机器,那么就会无法识别,就会出现找不.

2022-04-01 02:04:40 9710

原创 Jmeter入门快速上手(以demo驱动理解)

一、入门1. 一个最小的压测元素集合第一次启动Jmeter界面是英文,可以options => chooseLanguage => chinese(simple)操作切换至中文一个最简单的压测元素集合包括:一个测试计划一个线程组 (线程(用户))一个HTTP请求(取样器)一个汇总报告(监听器)2.简单入门demo计划对下面接口压测,总共调用12次,4秒内完成。也就是12 / 4 = 3 ,每秒并发3个请求.@RestController@RequestMappin

2022-03-30 19:02:50 648

原创 压测工具Jmeter入门使用

一、创建一个基础的Web测试1. 测试内容模拟五个用户请求2次指定的http接口,并且重复2次。也就是总共请求有5 * 2 * 2 = 20 次要构建本次内容需要用到Jmeter的元素:线程组、HTTP请求、HTTP请求默认值和图形结果。2. 具体操作2.1. 创建测试计划单击左上角的新建计划按钮即可,同时可以设置测试计划的名称,注释。测试计划是一个完整测试元素的顶层容器。2.2. 创建线程组线程组可以用来设置要模拟的用户数量,用户应该多久发送一次请求,以及他们应该发送

2022-03-29 16:26:29 12912

原创 抓包基本命令

一、概述在一个A应用程序内数据有不同的格式如:Integer,String等。但是通过网络将数据传输给B应用程序,那么在到达B应用程序之前,数据都将统一解析成数据包,也就是二进制串在网络中传输。在B应用程序前布置一个“网”,在这个数据包到达B应用程序前拦截下来,得到这个二进制数据包的行为就称为抓包。二、抓包命令1.查看网卡命令(主要查看网卡的名称,后面要用到)ifconfig2.查看指定端口(应用程序)的网络数据流向情况tcpdump -i 网卡名 -X port 端口号3.命令提示符

2022-03-28 17:15:06 4995 1

原创 ASM库入门示例

概述读取一个类的信息可以使用反射,但是在效率上,ASM比反射更快。一、导入依赖<!-- https://mvnrepository.com/artifact/org.ow2.asm/asm --> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> &

2022-03-15 18:40:44 705

原创 测试框架jmockit入门(示例demo以及踩坑记录)

一、什么是jmockit?jmockit的优点?1.为了让程序更加可靠,健壮,以及保证在项目重构时前后的业务逻辑保持一致。通俗说就是尽量避免bug,从而需要编写单元测试。2.一个好的单元测试是指:在能测试覆盖它所有的逻辑代码下,同时实现解耦&美观。3.解耦的理想状态是:仅仅运行所编写的单元测试代码,就可以完成所有测试。(不依赖数据库,不依赖第三方微服务模块)。4.如果本项目测试的一个web接口调用了另一个微服务的业务接口,比如查数据库。那么为了完成本项目的单元测试正常运行,就还需要启

2022-03-14 18:59:46 3136

原创 初识kafka

kafka与传统的中间件区别:1.消息消费完不会删除,默认保存在磁盘一周。(kafka每个消费者会维护自己的一个消息列表偏移量)一、基本术语1.Broker消息中间件处理节点,一个kafka节点就是一个Broker,一个或多个Broker可以组成一个kafka集群。一个Broker包含多个topic。2.TopicKafka根据topic对消息进行归类,发布到Kafka集群的每条消息都需要指定一个topic。3.Product消息生产者,向Broker发送消息的客户端。4.Co.

2022-01-06 17:05:15 793

原创 Redis视野打开篇

1.String格式一般存一个对象,是用这个对象的ID为键,将对象的所有属性格式化为json对象字符串,作为值,然后set(ID,json)进去.但是这种方式,在只需要修改这个对象中的其中一个属性时,就需要把json转为对象,改变值,然后再转为json对象,比较消耗时间。还有另一种方式mset();批量set。如:mset user:1:name xiaoh user:1:age 3mget user:1:name user:1:age另外,setnx可以用来做分布式锁。setnx k

2021-12-24 18:13:16 599

原创 git操作命令集合

概述本地git结构:工作区,暂存区,本地库1.将工作区修改的代码提交到暂存区git add2.将暂存区的代码提交到本地库git commit远程库和本地库的关系操作初始化本地仓库1.新建一个文件夹2.进入文件夹,git bash here3.执行命令git init4.将文件夹里新增的内容提交到暂存区git add 文件名5.暂存区提交到本地仓库git commit -m "本次提交的描述" 文件名查看工作区文件待提交状态git status1> 没

2021-12-15 14:26:11 514

原创 Java IO模型

BIO 阻塞IO一个连接,一个线程,且读写阻塞。服务端package com.xiaowuqin.bio;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;p

2021-08-25 16:54:13 115

原创 Mybatis逆向工程

通过这个东西可以自动生成一个mapper.xm文件,dao层,pojo类.我们只需要提供一张表。开发中的顺风飞机。首先新建一个springboot项目,引入下面依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><.

2021-08-13 17:04:30 124

原创 elasticsearch集成xpack加密

概述2019年5月21日,Elastic官方发布消息: Elastic Stack 新版本6.8.0 和7.1.0的核心安全功能现免费提供。这意味着用户现在能够对网络流量进行加密、创建和管理用户、定义能够保护索引和集群级别访问权限的角色.本文章操作的前提:已经实现了elasticsearch集群。具体操作生成证书bin/elasticsearch-certutil ca生成p12密钥bin/elasticsearch-certutil cert --ca elastic-stack-

2021-08-12 15:50:16 449

原创 ElasticSearch搭建集群及调优配置和springboot集成

环境准备jdk版本[root@iz2zefc352jeey9szh60wlz ~]# java -versionopenjdk version "1.8.0_292"OpenJDK Runtime Environment (build 1.8.0_292-b10)OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)Linux操作系统[root@iz2zefc352jeey9szh60wlz ~]# cat /etc/redhat-r

2021-08-12 11:29:45 1234

原创 设计模式(二)单例模式

定义采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得该对象实例的方法。静态常量1.构造器私有化2.类的内部创建对象向外暴露一个getInstance方法package com.xiaowuqin.principle.singleton;//饿汉式(静态变量)public class Type1 { //内部创建 private final static Type1 type1 = new Type1(); //构造器

2021-08-09 11:42:20 71

原创 Nginx+RTMP HLS降低延迟参数

首先在obs处在流媒体服务器处rtmp { server { listen 1935; chunk_size 4096; application live { live on; } hls on; hls_path /tmp/hls; hls_fragment 1s; hls_playlist_length 3s; }}

2021-08-06 13:56:31 3391 2

原创 TCP/IP/UDP/RTP/RTCP协议

IP(指定目的地址和源地址)Version 版本号 四个字节IHL:IP Header Length IP头长度Total Length 总的长度 (总的长度减去IP头长度=数据长度)Identification Flags Fragment Offset 拆包、组包用(超过最大传输单元时)标识 允许/不运行拆包(一个保留字节) 每个包在原来中的偏移量Time To Live 缩写TTL 路由的跳数(一般设置成32)Protocol 协

2021-08-04 10:58:32 661

原创 libevent异步事件处理库

它其实是封装的epoll几个重要的函数event_base_new 对应epoll的create,还初始化所有的管理方面的如队列event_base_dispatch 对应epoll中的wait对应epoll中ctl的如下event_newevent_addevent_delevent_freeevconnlistener_new_bind 不用像epoll单独的绑定添加事件type

2021-08-03 17:08:05 283

原创 socket编程之Epoll

使用Epoll相较select的好处没有文件描述符的限制(MAX_FILES),select默认的1024.工作效率不会随着描述符的增加而下降(没有改变的描述符不会返回,也就是不会遍历)经过内核级优化的Epoll的事件触发模式Level Trigger 水平触发,如果数据没有一次性处理完毕,会再次发送Edge Trigger 边沿触发,不管数据有没有一次性处理完毕,都不会再次发送(效率最高,难度大)Epoll重要的APIint epoll_create();

2021-08-03 12:39:16 753

原创 socket基础编程

俩个重要结构体struct sockaddr_in{ sa_family_t sin_family;//协议 uint16_t sin_port;//端口 struct in_addr sin_addr;//ip地址 char sin_zero[8]}struct in_addr{ in_addr_t s_addr;//整型}struct sockaddr{ sa_family_t sin_family;//ipv4等 char .

2021-08-02 17:02:37 258

原创 Linux进程到后台运行操作

概述Linux上跑的程序都是以后端执行的。即关闭终端,进程仍在运行。这才是服务器需要的。实现进程后台运行的方式1.fork 方式fork一个子进程,父进程退出,子进程成为孤儿进程,被init进程接管调用setid建立新的进程会话 ,因为原来父进程标记需要手动去除切换当前工作目录到根目录将标准输入,输出,出错重定向到 /dev/null代码#include <iostream>#include <fcntl.h>#include <unistd.h&g

2021-08-02 12:52:02 196

原创 Linux下的信号及捕获操作

什么是信号?比如当服务器与浏览器客户端建立起了一个socket连接,当浏览器主动断掉了这个连接,下次服务器给这个浏览器发消息的时候就会收到浏览器的一个已断开socket连接的一个信号,这个信号的意思一般是关闭服务器socket。如果不对这个信号处理,就会很不安全。信号的处理方式忽略 捕获 默认处理信号有哪些? man 7 signal # 查看信号几个重要的信号SIGPIPE 管道中止信号 当写入无人读的管道时产生该信号,默认终止信号必须要处理,比如

2021-08-02 11:35:32 439

原创 c++接口实现demo

server.h 用来定义接口/** * Server class * * @author xiaowuqin * @date 2021-08-02 * */#ifndef _SERVER_H_#define _SERVER_H_namespace avdance {class Server{ public: Server(); ~Server(); public: .

2021-08-02 10:13:08 158

原创 设计模式(一)七大原则

七项原则1.单一职责原则对一个类来说,一个类只负责一项职责。(比如Spring中的一个DAO)package com.xiaowuqin.principle.singleresponsibility;public class SingleResponsibility { public static void main(String[] args) { Vehcle v = new Vehcle(); v.broadRun("车"); v.

2021-07-30 14:07:18 100

原创 java调用Linux shell命令

思路利用Java的Runtime获取到JVM运行环境,当项目部署到Linux上时,即可通过exec方法执行sh文件了。具体实现package com.xiaowuqin;import java.io.IOException;import java.io.InputStream;public class ProcessDemo { private Process process; public ProcessDemo(String command) throws IOExcep

2021-07-26 11:12:28 275

原创 Java游戏脚本实现

思路通过Robot类可以模拟点击事件,但是像素坐标是绝对位置,每次都不一样。借助模拟器的快捷键位设置就可以将坐标相对化。下图是雷电模拟器例子可以看到图中的快捷键。最后便是如果Robot要执行模拟器中对应的快捷键,有个前提条件:该模拟器窗口必须位于当前窗口。这个可以借助Java的JNA实现,操作窗口。依赖<!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna --> <dependency>

2021-07-26 09:11:07 4360

原创 java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present

该错误是因为jdk版本过高添加依赖就可以了<!--JAXB-API是java ee的一部分,在jdk9中没有在默认的类路径中--> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version> <

2021-07-15 09:41:38 74

原创 wget下载Elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz

2021-07-06 09:07:43 417

原创 Linux安装配置redis6.2.4及和springboot整合

首先下载文件wget https://download.redis.io/releases/redis-6.2.4.tar.gz安装c++依赖环境yum install gcc-c++解压 tar -zxvf redis-6.2.4.tar.gz进入到redis的安装目录下make进入到src下cd srcmake install配置文件[root@VM-12-7-centos redis-6.2.4]# pwd/opt/environment/redis-6.2.4

2021-07-04 16:01:36 476

原创 springboot整合hadoop

首先引入maven依赖<!-- hadoop--> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>3.1.4</version> </dep

2021-06-25 08:20:41 973

原创 hadoop常用Linux命令

创建文件夹[root@hadoop102 wcinput]# hadoop fs -mkdir /input01# input01是文件夹名将本地文件剪切到hadoop[root@hadoop102 wcinput]# lsword.txt[root@hadoop102 wcinput]# hadoop fs -moveFromLocal ./word.txt /input01将本地文件拷贝到hadoop[root@hadoop102 wcinput]# lsword.

2021-06-24 16:00:12 174

原创 hadoop配置

1.scp实现服务器与服务器之间的数据拷贝scp -r $pdir/$fname $user@$host:$pdir/$fname命令 递归 文件夹 文件名 目的用户 目的主机 ...实例scp ./hello.txt root@hadoop103:/opt/# 这里是实现将本机的hello.txt文件拷贝到hadoop103主机下的/opt/目录# 这里的hadoop103通过/etc/hosts文件配置了ip地址映射2.rsync实现服务器与服务器之间的数据同步,只会

2021-06-19 23:53:42 329 2

原创 dfs求解01背包与分支限界法求解旅行售货员问题(java)

1.利用回溯法求解01背包问题。对于N个物品,在背包的总体积的限制下,有些物品肯定是该舍弃的。对于每件物品都有取和不取俩种情况。我们把所有的情况遍历一次,最后取最优的结果。总体上来就是暴力枚举求最优解。为了更快地求出最优解,有些情况枚举到一半可以立马舍弃。如果拿了当前物品,背包总体积大小会溢出,那么这种情况到这一步就会立马放弃接下来的枚举。代码javapublic class Main { static int N=7;//物品总的个数 static int maxW

2021-04-14 22:19:00 906

原创 算法分析与设计-贪心算法-最短路-最小生成树

1.朴素版的Dijkstra求最短路贪心算法求最短路的证明,考试不考,有兴趣的可以出门左拐百度。这里只说明步骤。步骤概述前提预备:(设有 n 个点,dis [ n ],g [ a ] [ b ] ,vis [ n ] )dis [ n ] 表示 1 号点到 n 号点的当前最短距离g [ a ] [ b ] 表示 a 点与 b 点的距离(这里距离为无穷大时表示俩点不连通)vis [ n ] 表示 n 点是否已经确认到起点的最短路径长度了。(0表示不确定,1表示

2021-04-07 17:49:12 288

原创 DockerFile制作Tomcat

首先下载俩个安装包,jdk和tomcat[root@VM-12-7-centos opt]# lsapache-tomcat-9.0.44.tar.gz containerd jdk-8u144-linux-x64.tar.gz mellanox rh编写DockerFile,官方命名Dockerfile,默认会自动寻找这个文件编写配置文件[root@VM-12-7-centos opt]# cat DockerfileFROM centosMAINTAINER xiaoyi&l

2021-04-03 12:06:47 393

原创 01背包打印物品与多段图 java

01背包public class Main { public static void main(String[] args) { int c = 25; // 背包总重量为 25 int n = 6; // 总的物品数为 6 int x[] = new int[n+1]; // 是否装入 xi,即 xi = 1/0 (x[0]]位置不用) int w[] = new int[]{0,11,7,9,12,3,10.

2021-04-01 12:06:15 176 1

原创 javacv抓取摄像头推流官方demo

String classifierName = null; //URL url = new URL("https://raw.github.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_alt.xml"); File file = new File("C:\\Users\\Administrator\\Desktop\\live.xml"); cla

2021-03-27 20:00:03 541

原创 DockerFile常用操作

DockerFile介绍DockerFile是用来构建docker镜像的文件!命令参数脚本1、编写一个dockerfile文件2、docker build 构建镜像3、docker run运行镜像4、docker push 发布镜像(DockerHub、阿里云仓库)DockerFile构建过程基础知识:1、每个保留字(指令),都必须是大写字母2、之类从上到下顺序执行3、井号为注释符号4、每一个指令都会创建提交一个新的镜像层,并提交DockerFile指令FROM

2021-03-26 22:51:21 114

原创 docker容器数据卷

为什么要使用容器数据卷?如果不适用容器数据卷,将数据放在容器中,数据容易丢失,比如mysql数据。因此但数据需要持久化时,就需要容器数据卷。使用数据卷方式一:直接使用命令来挂载 -vdocker run -it -v 主机内目录:容器内目录# 测试 将主机的/home/ceshi目录挂载到docker容器中的/home目录[root@iZbp17o9yr29z1balzkfvyZ ~]# docker run -it -v /home/ceshi:/home centos /bin/b

2021-03-26 21:12:41 132

原创 docker commit

首先创建容器[root@iZbp17o9yr29z1balzkfvyZ ~]# docker run -d -it -p 8080:8080 tomcat8f2139b97da75c73f718bf1d051e9765bf9d19ac5b16648b32d8d69a38f7aa88[root@iZbp17o9yr29z1balzkfvyZ ~]# docker psCONTAINER ID IMAGE COMMAND CREA.

2021-03-25 08:01:48 105 1

空空如也

空空如也

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

TA关注的人

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