自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (一)接口自动化---数据库断言某字段不是实时返回的场景

接口自动化数据库断言场景

2022-08-10 08:51:49 650 2

原创 docker(一)

1、什么是docker?Docker是一个开放源代码软件项目,让应用程序布署在软件容器下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。Docker利用Linux核心中的资源分脱机制,例如cgroups,以及Linux核心名字空间(name space),来创建独立的软件容器(containers)。这可以在单一Linux实体下运作,避免启动一个虚拟机造成的额外负担。Linux核心对名字空间的支持完全隔离了工作环境中应用程序的视野,包括进程树

2021-11-01 22:36:18 239 1

原创 6、RabbitMQ---消息应答

1、 概念消费者完成一个任务可能需要一段时间,如果其中一个消费者处理一个长的任务并仅只完成了部分突然它挂掉了,会发生什么情况。RabbitMQ 一旦向消费者传递了一条消息,便立即将该消息标记为删除。在这种情况下,突然有个消费者挂掉了,我们将丢失正在处理的消息。以及后续发送给该消费这的消息,因为它无法接收到。为了保证消息在发送过程中不丢失,rabbitmq 引入消息应答机制,消息应答就是:消费者在接收到消息并且处理该消息之后,告诉 rabbitmq 它已经处理了,rabbitmq 可以把该消息删除了。2、

2021-07-27 00:08:35 249 1

原创 5、RabbitMQ---六大模式之工作队列模式

1、工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。一个线程处理大量消息,太慢了,所以就用多线程同时处理。注意:生产者发送的消息只能被处理一次,如果被处理多次,就会造成工作内容的重复工作队列模式特点:轮训分发消息2、首先,我们对我们上节的代码抽取一个工具类package com.example.de

2021-07-20 22:58:40 303 2

原创 4、RabbitMQ---六大模式之简单队列模式

本节我们将用 Java 编写两个程序。发送单个消息的生产者和接收消息并打印出来的消费者。1、创建一个maven工程并且添加依赖<!--指定 jdk 编译版本--> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId>

2021-07-19 22:36:29 279 3

原创 3、RabbitMQ---RabbitMQ安装

安装1.官网地址https://www.rabbitmq.com/download.html2.文件上传上传到/usr/local/software 目录下(如果没有 software 需要自己创建)3.安装文件(分别按照以下顺序安装)rpm -ivh erlang-21.3-1.el7.x86_64.rpmyum install socat -yrpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm3.常用命令(按照以下顺序执行)添加开机启动 R

2021-07-16 23:53:52 111 2

原创 git的使用

2021-07-14 23:15:44 93

原创 2、RabbitMQ---RabbitMQ核心介绍

RabbitMQ 的概念RabbitMQ 是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑 RabbitMQ 是一个快递站,一个快递员帮你传递快件。RabbitMQ 与快递站的主要区别在于,它不处理快件而是收,存储和转发消息数据四大核心概念生产者产生数据发送消息的程序是生产者交换机交换机是 RabbitMQ 非常重要的一个部件,一方面它接收来自生产者的消息,另一方面它将消息推送到.

2021-07-14 21:55:19 412 9

原创 1、RabbitMQ---MQ介绍

MQ 的相关概念1.什么是 MQMQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。为什么要用 MQ1)流量消峰举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我们下单一秒后就

2021-07-13 23:11:49 540 2

原创 vue(*)

<template> <div id="users"> <div style="float: right"> <el-button type="text" @click="showDetail(null)">新增</el-button> </div> <el-table :data="tableData" border style="width: 100%"> ...

2021-07-06 23:35:43 166 2

原创 3、vue

<template> <div class="hello"> <h1>{{ msg }}</h1> <h1 v-bind:id="titleId">{{ title }}</h1> <div>{{ content }}</div> <div v-html="content"></div> <input type="butto...

2021-07-03 19:21:40 118

原创 8、二分法查找

import java.util.ArrayList;public class BinarySearch { // 注意使用二分查找的前提是该数组是有序的 public static void main(String[] args) { int[] arr = {1,8,10,89,1000,1000,1234}; int resIndex = binarySearch(arr,0,arr.length-1,89); System.o..

2021-06-29 13:17:37 120

原创 3、JavaScript

document对象中有innerHTML、innerText这两个属性,都是获取document对象文本内容,但使用起来还是有区别的;1) innerHTML设置或获取标签所包含的HTML+文本信息(从标签起始位置到终止位置全部内容,包括HTML标签,但不包括自身)2) outerHTML设置或获取标签自身及其所包含的HTML+文本信息(包括自身)3) innerText设置或获取标签所包含的文本信息(从标签起始位置到终止位置的内容,去除HTML标签,但不包括自身)4) outerText设置或.

2021-06-27 18:18:53 152

原创 2、CSS

蓝、绿、红、黑<!DOCTYPE html><html lang="en"> <head> <title>样式分类的标题</title> <meta charset="utf-8"> <!--1、这是一段典型的CSS定义,使用style标签--> <style type="text/css"> /*标签选择器,当前页面所有div标签都受影响*/ div{ ...

2021-06-27 09:34:53 122

原创 1、HTML

<!--文档类型声明,html5统一为这样--><!DOCTYPE html> <html> <!--所有内容都在html标签内--> <!--head一般放置不可见的标签,如标题、css定义、javascript定义(也可放置于尾部)、--> <!--meta信息(如页面编码、绽放比例、页面关键字等)--> <head> <title>标题</title> <meta.

2021-06-20 22:24:22 120

原创 2、vue(二)

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>vue</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script></head><body><div id="app"&g

2021-06-01 22:19:46 75

原创 1、vue(一)

1、v-bind<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>vue</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script></head><body><div i

2021-05-31 22:04:37 85

原创 7、希尔排序

import java.util.Arrays;public class ShellSort { public static void main(String[] args) { int[] arr = {8,9,1,7,2,3,5,4,6,0}; shellSort(arr); } public static void shellSort(int[] arr){ int temp = 0; int cou...

2021-04-29 08:32:45 273

原创 6、插入排序

import java.util.Arrays;public class InsertSort { public static void main(String[] args) { int[] arr = {101,34,119,1}; insertSort(arr); } public static void insertSort(int[] arr){ int insertVal = 0; int ins...

2021-04-27 08:37:02 122

原创 5、选择排序

import java.util.Arrays;public class SelectSort { public static void main(String[] args) { int[] arr = {100,35,118,1}; selectSort(arr); } public static void selectSort(int[] arr){ // 选择排序时间复杂度O(n^2) // 外层fo...

2021-04-26 08:54:01 83

原创 4、冒泡排序

import java.util.Arrays;public class list { public static void main(String[] args) { int arr[] = {4,10,-2,11,-3}; // 冒泡排序时间复杂度o(n^2) int temp = 0; // 临时变量 boolean flag = false; //标识变量,表示是否进行交换 for (int i = ..

2021-04-25 08:50:12 77

转载 3、数组模拟队列

缺点数组只能用一次

2021-04-25 08:29:26 54

原创 2、稀疏数组

public class SparseArray { public static void main(String[] args) { // 创建一个原始的二维数组11*11 // 0:表示没有棋子,1表示黑子 2表示篮子 int chessArr1[][] = new int[11][11]; chessArr1[1][2] = 1; chessArr1[2][3] = 2; // 输出原始的...

2021-04-21 10:03:41 69

原创 1、线性结构和非线性结构

2021-04-19 23:13:15 231

原创 5、内置函数

字符串函数拼接字符串concat(str1,str2…)select concat(12,34,‘ab’);案例:体现类似"王昭君的家乡是北京"的功能.包含字符个数length(str)select length(‘abc’);案例:查找班级里边名字为两个字的所有学生信息截取字符串left(str,len)返回字符串str的左端len个字符right(str,len)返回字符串str的右端len个字符substring(str,pos,len)返回字符串str的位置pos起len个字符

2021-04-13 13:01:09 67

原创 4、连接查询

连接查询当查询结果的列来源于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回等值连接查询:查询的结果为两个表匹配到的数据左连接查询:查询的结果为两个表匹配到的数据加左表特有的数据,对于右表中不存在的数据使用null填充右连接查询:查询的结果为两个表匹配到的数据加右表特有的数据,对于左表中不存在的数据使用null填充准备数据drop table if exists courses;create table courses (courseNo int(10) unsigned

2021-04-13 12:48:57 210

转载 3、查询

创建数据表drop table if exists students;create table students (studentNo varchar(10) primary key,name varchar(10),sex varchar(1),hometown varchar(20),age tinyint(4),class varchar(10),card varchar(20))准备数据insert into students values(‘001’, ‘王昭君’, ‘女’

2021-04-13 09:51:21 351

原创 2、简单数据库操作-增删改查

1、创建表create table 表名(字段名 类型 约束,字段名 类型 约束 …)例:创建学生表,字段要求如下:姓名(长度为10)create table students( name varchar(10))例:创建学生表,字段要求如下:姓名(长度为10),年龄create table students( name varchar(10), age int unsigned)例:创建学生表,字段要求如下:姓名(长度为10),年龄,身高(保留小数点2位)create

2021-04-13 09:30:43 182

原创 1、mysql简介与使用

1、为什么学习数据库?测试工程师的目的是找出软件的不足,并告诉开发工程师,出现问题的环境,操作步骤和输入输出的数据。而优秀的测试工程师,当测出问题后,还可以告诉开发团队,问题的原因和解决方案。这就要求测试工程师除了会测试,还需要知道开发相关的知识,其中非常重要的就是数据库,因为绝大多数的软件都跟数据紧密相关,比如微博、论坛、新闻、商城等,这些软件都在不停的操作数据,而它们的数据大部分都是存储在数据库中,开发人员的一大部分工作就是在搬迁数据:把数据库中的数据显示到软件中;把用户输入的数据保存到数据库中。测试

2021-03-09 08:52:08 134 1

原创 lambda表达式的使用

1、为什么使用 Lambda 表达式Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。Lambda 表达式语法Lambda 表达式:在Java 8 语言中引入的一种新的语法元素和操作符。这个操作符为 “->” , 该操作符被称为 Lambda 操作符或箭头操作符。它将 Lambda 分为两个部分:左侧:指定了 Lambda 表

2021-03-08 22:44:42 220 1

原创 7、线程的通信

线程通讯需要到的重要方法:wait():令当前线程挂起并放弃CPU、同步资源,使别的线程可访问并修改共享资源,而当前线程排队等候再次对资源的访问notify():唤醒正在排队等待同步资源的线程中优先级最高者结束等待notifyAll ():唤醒正在排队等待资源的所有线程结束等待./* * 生产者(Productor)将产品交给店员(Clerk),而消费者(Customer)从店员处取走产品, * 店员一次只能持有固定数量的产品(比如:20),如果生产者试图生产更多的产品,店员会叫生产者停一下,

2021-03-07 20:53:39 55

原创 6、线程安全

线程安全问题是如何产生的:多个线程同时争抢一个公共资源。当一个线程执行到一半的时候,线程失去时间片,处于等待状态,其他线程修改公共资源。此时当这个属于等待状态的线程再回来的时候,继续操作的数据就是修改之后的,而这个时候两个线程都修改过这个资源,就容易造成问题。如何解决:使用锁机制。在可能出现线程安全问题的代码块部分,加上锁,这么锁通常在普通方法的时候是this,在static方法的时候是类名.class这个对象。一个线程将一段代码加上锁之后,这个段代码不进行完,这个锁对象不会被释放。其他的线程即便准备

2021-03-07 20:51:23 65

原创 5、线程的生命周期

新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件运行:当就绪的线程被调度并获得处理器资源时,便进入运行状态, run()方法定义了线程的操作和功能阻塞:在某种特殊情况下,被人为挂起或执行输入输出操作时,让出 CPU 并临时中止自己的执行,进入阻塞状态死亡:线程完成了它的全部工作或线程被提前强制性地中止...

2021-03-07 20:43:41 60

原创 4、使用多线程完成龟兔赛跑

/* * 1. 案例题目描述: 编写龟兔赛跑多线程程序,设赛跑长度为30米 乌龟和兔子每跑完10米输出一次结果。 兔子的速度是10米每秒,兔子每跑完10米休眠的时间10秒乌龟的速度是1米每秒,乌龟每跑完10米的休眠时间是1秒2. 案例完成思路要求: 乌龟定义一个线程,兔子定义一个线程 两个线程同时开启 提示:可以使用Thread.sleep(毫秒数)来模拟耗时 */public class TestRun { public static void main(String[

2021-03-07 20:39:04 2105

原创 3、线程的常见方法

线程的调度调度策略时间片抢占式:高优先级的线程抢占CPUJava的调度方法同优先级线程组成先进先出队列(先到先服务),仍然使用抢占式策略对高优先级,使用优先调度的抢占式策略/* * 本类用于测试getName和setName方法,设置和获取当前线程的名字 * 每一个线程都有一个线程名,如果这个线程名没有被设置过,那么就是默认名,默认名就是从第一个线程叫Thread+数字,这个数字从0开始。 */public class ThreadMethodOne { public static

2021-03-07 20:38:15 108

原创 2、创建线程的四种方式

前面已经讲了创建线程常用的两种方式,本节就讲一下创建线程的另外两种方式。import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/* * 线程的创建并启动方式三 */public class TestStartThreadThree { public static void main(String[

2021-03-07 19:21:05 111

原创 1、线程

程序:一组实现某些特定功能的代码的集合体,此时没有运行。进程:正在运行的这段代码,体现此时已经运行。线程:是同一个进程下,同时开始的多个任务。每个Java程序都有一个隐含的主线程:main方法何时需要多线程1、程序需要同时执行两个或多个任务。2、程序需要实现一些需要等待的任务时,如用户输入、文件读写操作、网络操作、搜索等。3、需要一些后台运行的程序时。创建多线程的第一种方式:package com.umpay.thread;//第一种实现多线程的方式public class MyTh

2021-03-07 12:37:00 95 2

原创 8、Collections与Arrays

集合框架中的工具类:特点:该工具类中的方法都是静态的Collections:常见方法:1, 对list进行二分查找:前提该集合一定要有序。int binarySearch(list,key);//必须根据元素自然顺序对列表进行升级排序//要求list 集合中的元素都是Comparable 的子类。int binarySearch(list,key,Comparator);2,对list集合进行排序。sort(list);//对list进行排序,其实使用的事list容器中的对象的compa

2021-03-04 13:15:36 144 1

原创 7、Map的使用

如果程序中存储了几百万个学生,而且经常需要使用学号来搜索某个学生,那么这个需求有效的数据结构就是Map。Map是一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是整数。在Map中键(key)可以使任意类型的对象。Map中不能有重复的键(Key),每个键(key)都有一个对应的值(value)。一个键(key)和它对应的值构成map集合中的一个元素。Map中的元素是两个对象,一个对象作为键,一个对象作为值。键不可以重复,但是值可以重复。看顶层共性方法找子类特有对象.Map与Co

2021-03-04 13:13:38 268 1

原创 6、泛型(Generic)

当集合中存储的对象类型不同时,那么会导致程序在运行的时候的转型异常`import java.util.ArrayList;import java.util.Iterator;public class Demo5 { public static void main(String[] args) { ArrayList arr = new ArrayList(); arr.add(new Tiger("华南虎")); arr.add(new Tiger("东北虎")); arr.add

2021-03-04 10:05:09 186 1

空空如也

空空如也

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

TA关注的人

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