自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 回归啦!!!

被叫做高级持续性威胁预警系统,可以支持对多种协议进行还原和威胁检测,我们的测试过程就是通过对协议相关的pcap包进行回放,在产品层面展示的信息是否和pcap包内部信息一致,这里面需要学习的东西主要是wireshark的使用以及对产品的了解。以一个pcap包为出发点,编写整个测试过程的自动化测试脚本。平台提供演习管理、组织管理、安全接入资源管理和演习全周期的管理功能,对演习项目的增删改、初始化配置、资源分配、多演习并发、数据清理等。

2024-03-01 15:30:25 883

原创 接口自动化MeterSphere

测试测试。

2024-01-29 14:09:26 67

原创 面试题——网络IO模型

socket是在应用层和传输层中间的抽象层,它把传输层(TCP/UDP)的复杂操作抽象成一些简单的接口,供应用层调用实现进程在网络中的通信。Socket起源于UNIX,在Unix一切皆文件的思想下,进程间通信就被冠名为文件描述符(file desciptor),Socket是一种“打开—读/写—关闭”模式的实现,服务器和客户端各自维护一个“文件”,在建立连接打开后,可以向文件写入内容供对方读取或者读取对方内容,通讯结束时关闭文件。

2023-09-01 18:54:52 383

原创 错题整理——2022小米测开

tail:使用tail命令可以查看文件的末尾数据,默认显示指定文件的最后10行到标准输出。例如,在使用大量文件句柄的应用程序(如 Web 服务器、数据库等)时,可能需要调整系统的文件句柄数量限制,以确保应用程序正常运行并处理更多的连接请求。网络端口范围与最大tcp连接数和系统允许打开的最大文件数,用户允许打开的最大文件数,TCP网络连接可用的端口范围有关,取上述的最小值;less:less 与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。

2023-08-22 20:54:27 137

原创 错题整理——测开2021网易

(T来达到保密、发送端认证、消息准确性等私人消息安全效果,这种技术可以用不安全的网络(例如:互联网)来发送可靠、安全的消息。需要注意的是,加密消息与否是可以控制的,如果是没有加密的。PPTP是点对点隧道协议(PPTP,Point-to-Point Tunneling Protocol)是一种协议(一套通信规则),它允许。使用的是CDMA1X(2G)/EVDO(3G)/TD-LTE(4G)/FDD-LTE(4G)。是一种常用于连接中、大型企业或团体与团体间的私人网络的通信方式。使用的是GSM(2G)/

2023-08-22 15:46:21 104

原创 缓存淘汰算法(LFU LRU FIFO)及进程的状态和转换

挂起等待态→挂起就绪态:引起进程等待的事件发生之后,相应的挂起等待态进程将转换为挂起就绪态挂起就绪态→就绪态:当内存中没有就绪态进程,或者挂起就绪态进程具有比就绪态进程更高的优先级,系统将把挂起就绪态进程转换成就绪态。运行态→挂起就绪态:当一个具有较高优先级的挂起等待态进程的等待事件结束后,它需要抢占 CPU,而此时主存空间不够,从而可能导致正在运行的进程转化为挂起就绪态。就绪态→挂起就绪态:操作系统根据当前资源状况和性能要求,也可以决定把就绪态进程对换出去成为挂起就绪态。即使这时CPU空闲也不能运行。

2023-08-15 22:32:17 261

原创 JAVA多线程案例——实现三个窗口卖票功能

我们采用线程对象来模拟售票窗口,实现多个窗口同时卖票,。

2023-08-13 17:10:17 1384

原创 MySQL事务隔离级别、锁机制、三大范式

锁是计算机用以协调多个进程间并发访问同一共享资源的一种机制,解决并发事务的访问问题。当一个事务进行读操作,另一个事务进行写操作,为了避免并发出现的问题,可以给读写操作都加锁。

2023-08-09 16:24:29 184

原创 MySQL的三种常见的存储引擎

MyISAM索引与InnoDB索引的区别?1.都使用的是B+树索引结构,数据存储方式:InnoDB索引是聚簇索引,MyISAM索引是非聚簇索引。2.InnoDB的主键索引的叶子节点data域存储着完整数据,key为主键,因此主键索引非常高效。MyISAM索引的叶子节点存储的是行数据地址,需要再寻址一次才能得到数据。3.InnoDB非主键索引的叶子节点存储的是主键值,因此查询时做到覆盖索引会非常高效。MyISAM的非主键索引叶子节点依旧存放的是地址,需要再次寻址才能得到数据。

2023-08-03 18:30:24 1324

原创 面试经典题型总结篇(五)

当Eden区再次触发垃圾回收的时候,会扫描Eden区和From区域,对两个区域进行垃圾回收,经过这次回收后还存活的对象,则直接复制到To区域,并将Eden和From区域清空。当一个类加载器收到加载请求时,先不会自己加载,而是将请求转给父加载器加载,最后所有的加载请求都会有最顶级类加载器加载,只有父加载器无法完成这个请求时,子加载器才会尝试加载。②测开有一部分的开发工作,无论是自动化脚本还是测试工具或框架,都提高了测试的效率,为工作提供了有力的保障,所以我认为测开会激发我对这个岗位的热爱和持续学习的态度。

2023-07-31 21:10:50 27

原创 面试经典题型总结篇(四)

TCP的可靠性体现在检验和、确认应答、超时重传、最大消息长度、滑动窗口、拥塞控制等。

2023-07-26 18:11:16 36

原创 面试经典题型总结篇(三)

方法的重写和重载是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。

2023-07-25 19:43:39 36

原创 面试经典题型总结篇(二)

能够解决上面这些问题。③http默认的端口是80,https默认端口为443.

2023-07-24 17:26:05 35

原创 面试经典题型总结篇(一)

比较相邻的元素,如果第一个比第二个大,就交换它们两个。因为每次只是相邻的进行交换,相等的两个元素可以不交换,所以整体是稳定的。n个元素每次都要从第一个比较到最后一个元素,并且需要比较n次,所以时间复杂度为O(n方);不需要额外的空间,时间复杂度为O(1)。当元素有序时,是最好的状态,依然需要n次比较,最好的时间复杂度为O(n);最坏时间复杂度为O(n方)。

2023-07-23 22:09:13 42

原创 博客系统测试报告

项目上线风险:无风险。

2023-05-14 11:17:40 102

原创 测试技术深似海,看这一篇你就能明白!

最简单的理解就是找BUG,发现缺陷。软件测试是为了验证软件产品特性是否满足用户需求。软件测试的特点:不可穷尽性。

2023-05-13 17:41:28 148

原创 Spring框架——无代码版

一、前言在企业级开放时,会用到框架,ssm框架就是最常用的(框架其中之一)。框架在狭义的层面,就是引入依赖包(如jackson :json字符串与java对象相互转换的库),在广义的层面,他能够实现多个强大的功能,更利于代码的设计与开发。二、spring。

2023-05-11 15:11:39 175

原创 javaSE复习(三)——Object类和String类

当我们创建一个子类继承自一个父类时,子类的构造方法中必须首先初始化父类(即使用super()关键字)。在上面的代码中我们发现Date并没有继承自任何一个类,为什么在构造方法中使用super()时却没有报错呢?实际上Date继承了一个父类——Object类。在C语言中,字符串不是数据类型,所以使用很不方便。在java中提供了字符串的很多操作方法,有了字符串类型。

2023-05-08 19:13:36 75

原创 javaSE复习(二)——抽象类和接口

①接口不能实例化对象②接口中的抽象方法被隐式地定义为public abstract(省略也可以,默认就是public abstract)③实现类必须实现接口中的所有抽象方法。④接口中的方法不能直接被实现,只能由实现类实现。⑤重写接口中的方法是,不能使用默认修饰符,最好把public加上。(默认修饰符为default)⑥接口变量被隐式地定义为public static final变量。⑦接口中不能使用静态代码块和构造方法。⑧接口经过编译后生成的字节码文件后缀还是.class文件。

2023-05-07 23:18:33 76

原创 Spring Boot(String框架的脚手架)

2.1.1在程序中得到日志对象在程序中获取日志对象需要使用日志工厂LoggerFactory,Logger对象是属于org.slf4j包下的。slf4j是Spring Boot 内置的日志框架。// 得到日志对象2.1.2使用日志对象打印日志// 使用日志打印日志logger.info("--------------要输出日志的内容----------------");

2023-04-26 21:01:11 158

原创 String框架的核心与运用

引入:传统的项目运行需要借助servlet,但是过程却是非常复杂的(需要配置Tomcat,部署前端代码等等)。这时我们引入了Spring框架,学习框架相当于从“小作坊到工厂的升级,操作更加高效和简单。Spring:是Spring Framework(Spring框架)(Spring是一个生态体系,其中包含了Spring Framework、Spring Boot、Spring cloud等等。我们一般常说的Spring框架指的是Spring Framework),是包含了众多工具方法的。

2023-04-23 21:49:53 264

原创 javaSE复习(一)

现阶段直接用public static修饰、没有返回值类型用void修饰,有返回值时返回值类型与返回的实体类型一致。方法不能嵌套定义,在定义方法时不会执行代码只在调用的时候使用。

2023-04-21 23:12:05 42

原创 线程池及有关面试题

当我们的业务太多时,随着业务的增多我们需要不断创建新的线程(创建的过程是JVM通过调用系统API来申请系统资源创建线程的过程),JVM调用系统API意味着从用户态到内核态去执行,因为系统只有一个内核态,它要完成的工作有很多,加上创建线程和销毁线程需要的时间成本和开销非常大,这时我们就引入了线程池。在工厂模式的基础上还引申出了简单工厂(多态 根据不同的传入参数获取不同的子类对象,就是简单工厂的一种实现)和抽象工厂,这里不做介绍。5.JDK中提供了几种创建线程池的方法或者说JDK中有几种默认的线程池。

2023-04-16 18:28:08 30

原创 多线程案例——单例模式

为了优化加锁方法,我们需要实现的是:当没有实例化对象时获取锁创建实例化对象;1.当三个线程同时执行getInstance方法时,当经过第一层if时都收到了实例没有被创建的消息,于是开始竞争锁。3.当线程一释放了锁,线程二和线程三无论哪一方竞争到了锁到达第一个if时,发现实例已经被创建就不会再去获取锁了。2.假如线程一获取到锁到达第二层if时,发现实例也没有被创建于是创建了实例,最后释放了锁。加锁避免了创建多个实例化对象的问题,但是还会有另一个问题:每次去创建对象时都要去获取锁,

2023-04-04 20:48:43 84

原创 volatile关键字及wait、notify方法

给共享变量加上volatile关键字之后,相当于给对应的变量的读写操作前后加上了相关的内存屏障,作用就是保证了内存可见性,同时告诉CPU执行顺序不需要优化,从而也保证了有序性。2.当另一个线程调用了notify()方法之后,之前调用wait()方法的线程被唤醒后需要重新竞争所资源,然后再从之前wait()位置向下执行自己的逻辑。1.当一个线程调用了wait()方法之后,就会释放掉当前持有的锁,等待被其他线程唤醒。在多线程环境下,一个线程修改了共享变量的值,但另一个线程没有读到最新值,这就是内存可见性问题。

2023-02-14 10:10:54 45

原创 synchronized关键字

当线程A拿到了锁,线程B想要执行锁里面的代码块,就要等线程A执行完释放锁之后。如果线程A还没有释放锁,线程B只能阻塞等待,这时线程B的状态就是BLOCK。这样就可以避免线程不安全的问题。这里我们就要用到synchronized关键字。synchronized关键字可以修饰普通方法,也可以修饰代码块。(加在方法之前,说明这是一个需要加锁的方法)进入修饰的代码块相当于退出修饰的代码块相当于上一个线程解锁之后下一个线程并不是立即就能获取到锁而是要靠操作系统来唤醒".这。

2023-02-10 15:22:06 53

原创 线程安全(重点)

造成线程不安全的主要原因:1.线程的抢占式执行2.多个线程改变了同一变量3.原子性4.内存可见性5.有序性。

2023-02-10 14:11:31 40

原创 多线程及线程方法状态

我们给线程中断时,其实是给休眠中断,但休眠其实还没有到指定的时间,这是系统就会抛出异常,如果我们没有在catch中处理中断操作,那么我们的线程就会被异常唤醒。另外,JAVA认为PCB的这几种状态不够多,基于JAVA多线程实现过程中的一些机制,在PCB状态的基础上做了一些拓展。2.当线程在TIMED-WAITING状态时,这时线程会抛出异常,我们的处理方法时在catch中处理异常。join方法等待线程的结束。1.创建线程本身也是有一定消耗的,虽然不像创建进程对系统资源的消耗那么大,但是还是有的。

2023-01-18 17:27:46 53

原创 创建线程的方法

2.JAVA中的线程,是对PCB的一个抽象(JAVA中创建一个线程对象-->JVM调用系统的API-->创建一个真正的操作系统中的线程)JDK中提供了一个叫Thread的类,这个类描述的就是JAVA中线程,通过Thread类创建线程,那么就可以创建一个JAVA线程。2.创建Thread类实例,调用Thread的构造方法时将Runnable对象作为target参数。1.继承Thread来创建一个线程。2.创建MyThread类的实例。1.操作系统中的线程PCB。就表示当前线程对象的引用。

2023-01-14 20:48:12 51

原创 线程及线程与进程的区别

进程在操作系统里是其实是一个PCB组,组里的内存指针、文件描述符表用的都是相同的,区别在于状态、优先级、上下文、记账信息这些是不一样的。每创建一个进程,这个进程里至少都包含一个线程,那么这个线程就是主线程。一个线程就是一个执行流,每个线程按照顺序执行着自己的代码(执行的任务),多个线程之间“同时”执行着多份代码。多进程也可以充分利用CPU去执行一些业务,但每个进程启动之前都要向CPU申请系统的资源(内存、文件)。线程共享进程申请来的资源。有了进程之后,就可以创建多个线程来处理业务,充分利用CPU资源。

2023-01-06 20:11:31 67

原创 操作系统——进程调度

进程是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程。进程是操作系统分配内存资源的最小单位(基本单位)。进程是动态的可执行程序。运行的程序在系统中都是以进程的形式存在。系统本身也是一个程序,需要多个进程。

2023-01-06 10:19:53 1466

原创 MySQL表的增删改查

(对于左外连接来说,当左侧的表的行数并没有右侧的表多时,最后左外连接的行数仍然以左侧表为准。第二范式:在满足1NF的基础上再满足依赖性的两个约束:一张表必须有一个主键;第三范式:在满足2NF的基础上,另外再满足一个条件:非主键列必须直接依赖于主键,不能存在传递依赖。第一范式:满足数据库中的每一列的字段都是单一属性、不可再分且每一字段都是由基本的数据类型构成。三大范式包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。保证一个表中的数据匹配另一个表中的值的参照完整性。

2023-01-04 19:15:48 62

原创 Map与Set

首先对关键码集合用散列函数计算散列地址,具有相同地址的关键码归于同一子集合,每一个子集合称为一个桶,各个桶中的元素通过一个单链表链接起来,各链表的头结点存储在哈希表中。对元素的关键码进行同样的计算,把求得的函数值当做元素的存储位置,在结构中按此位置取元素比较,若关键码相等,则搜索成功。2.树不为空时,先判断与根节点大小,大向右子树移动,小向左子树移动,直到找到合适的位置插入,相同则插入失败。也叫开放定址法,当发生哈希冲突时,如果哈希表未被装满,说明在哈希表中必然还有空位置,那么可以。

2022-11-22 17:04:02 150

原创 各种排序方法及总结

以下排序都以升序为主。

2022-11-15 17:02:34 824

原创 堆的代码实现

建堆的完整代码展示及重要代码详解

2022-11-08 15:05:20 283

原创 解决TOPK问题与堆排序

两种方法解决TopK问题和堆排序

2022-11-08 10:31:52 317

原创 JAVA中关于大小比较的概括

JAVA中关于比较大小的介绍

2022-11-07 14:01:30 670

原创 二叉树非递归例题与堆基本知识

二叉树非递归oj题与堆

2022-11-02 17:03:43 68

原创 二叉树概念及性质(1)

二叉树概念及基本性质的讲解(1)

2022-10-21 15:14:16 168

原创 队列及其和栈的联系oj题

队列基本概念及与栈联系的oj题

2022-10-21 08:48:47 182

空空如也

空空如也

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

TA关注的人

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