自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python复习笔记

浮点数字符串布尔类型…2.算术运算符有:+ - * / % ** //求乘方//取整除法(地板除),整数除以整数,还是整数,但舍弃了小数部分,向下取整3.关系运算符有: < >= == !=像and or not 这一系列的运算符称为 逻辑运算符= 赋值两数互换:6.复合赋值运算符复合赋值运算符. 例如 *+= -= = /= %=二.函数1.语法格式2.使用函数例: 求 n~m 之间的和3.返回多个值除了可以返回单个值之外,还可以返回多

2022-11-25 15:53:05 643

原创 哈希表(散列表)

例如还是上面的例子,要插入 44,发现在4位置冲突了,然后进行查找空位,Hi = (4+1^2)%10 = 6;在顺序结构以及平衡树种,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较.顺序查找时间复杂度为O(N),即便是平衡树,也要 O(logN)(树的高度).主要是取决于搜索过程中元素的比较次数。虽然哈希表一直在和冲突做斗争,但在实际使用过程中,我们认为哈希表的冲突率是不高的,冲突的个数是可控的,也就是每个桶的链表的长度是一个常数,所以,通常意义下,我们认为。

2022-10-18 23:35:39 2086

原创 MySQL一些知识的简单整理

### 1.基础查询:```MYSQLSELECT*FROM students;```### 2.排序:order by 是根据结果集,按照某个字段进行排序,默认是从低到高排序,desc 反过来where 是根据条件进行筛选```mysqlselect*from students order by score;```### 3.分页查询:limit offset 是mysql 特有的关键字,用于分页查询。例如,LIMIT 3 OFFSET 0 就是指将结果集按每页三条记

2022-10-15 23:51:58 347

原创 软件测试的流程

调研阶段通常是老板和产品经理做的事,调研想做的产品。调研阶段确定产品的大体功能这个阶段的工作通常是产品经理和开发经理讨论制定需求细节,开发人员和测试人员参与评审。对一个系统,需要具体实现的功能,每个功能点要不断细化,子功能点也要继续细化。这个阶段,产品经理和开发领导应该逐步推出需求文档,如果系统功能点很多,可能一个功能点就需要出一个需求文档。测试人员需要做的事:通过评审了解需求,甚至参与需求分析讨论,看看需求有没有错误、矛盾、遗漏的地方。原来的需求文档往往是写

2022-10-01 15:22:17 270

原创 [自动化测试]selenium webdriver api

通过 find_element_by_css_selector( ) 函数,选择取百度输入框的id 属性来定义 CSS 的获取可以用chrome的F12开发者模式中 Element-右键-copy-copy selector 来获取。隐式地等待并非一个固定的等待时间,当脚本执行到某个元素定位时,如果元素可以定位,则继续执行;如果元素定位不到,则它以轮询的方式不断的判断元素是否被定位到。如果我们用 Selenium 写自动化程序,在新窗口里面,打开一个新网址,并且自动化操作新窗口里面的元素,会有什么问题呢?

2022-09-29 01:11:00 701

原创 自动化测试的介绍 [selenium]

自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。组成版本: selenium1.0,seleninum RC,seleninum IDE,seleninum GridSelenium是web应用中基于UI的自动化测试框架,支持多平台、多浏览器、多语言。早期的已经被现在的webDriver所替代,可以理解为+webdriver (浏览器的驱动)构成现在的。现在说的selenium一般指的就是。它又由,

2022-09-27 02:50:54 624

原创 Mybatis操作数据库

MyBatis是一款优秀的持久层框架,它支持自定义SQL,存储过程以及高级映射.MyBatis去除了几乎所有的JDBC代码以及设置参数和获取结果集的工作.MyBatis可以通过简单的XML或注解来配置和映射原始类型,接口和Java POJO(Plain Old Java Object,普通老式Java对象)为数据库中的记录.简单来说,MyBatis是更简单完成程序和数据库交互的工具,也就是更简单的操作和读取数据库工具.支持存储过程,存储sql,但(无法调试无debug,可维护性差)对于后端开发来说,程序是由

2022-09-17 03:04:20 997

原创 HTTP协议:五.HTTP首部

本篇文章主要参考自《图解HTTP》,在学习期间也查询过其他资料。仅作为个人的学习记录。

2022-07-23 07:59:28 218

原创 HTTP协议:四.构造 HTTP 请求

前言:本篇文章主要参考自《图解HTTP》,在学习期间也查询过其他资料。仅作为个人的学习记录。先描述一些通过浏览器请求访问某个网站时候,发送的 HTTP 请求和得到的响应.当浏览器希望访问某个网站时,会与服务器建立 TCP 连接.(如果是 HTTPS,则要先经过加密等一系列步骤再建立 TCP 连接).服务器总是使用端口和加密端口,然后,浏览器向服务器发送一个HTTP请求,服务器收到后,返回一个HTTP响应,并且在响应中包含了HTML的网页内容,这样,浏览器解析HTML后就可以给用户显示网页了。这里介绍在前端这

2022-07-13 16:53:13 514

原创 HTTP协议:三.HTTP 报文信息

前言:本篇文章主要参考自《图解HTTP》,在学习期间也查询过其他资料。仅作为个人的学习记录。**用于 HTTP 协议交互的信息被称为 HTTP 报文.**请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应报文.HTTP 报文包本身是由多行(用 CR+LF 作换行符)(“回车”(CR,Carriage Return)和“换行”(LF,Line Feed))数据构成的字符串成文本.HTTP 报文大致可分为报文首部和报文主体(body)两块.两者由最初出现的空行(CR + LF)来划分.

2022-07-13 02:56:28 25795

原创 HTTP协议:二.使用工具观察 HTTP 的请求和响应

HTTP 是一个文本格式的协议. 可以通过 Chrome 开发者工具或者 Fiddler 抓包, 分析HTTP 请求/响应的细节直接去官网下载即可 fiddler官网raw 可以查看请求和响应的详细数据格式抓包工具 Fidder 就相当于一个"代理"当浏览器访问一个网站的时候,就会把 HTTP 的请求先发给 Fidder,Fidder 再把请求转发给网站的服务器.当服务器返回数据的时候,Fiddler 拿到返回的数据,再把数据交给浏览器.因此 Fiddler 对于浏览器和服务器之间的交互的数据细节,是非常清

2022-07-05 19:55:06 1006

原创 HTTP协议:一.什么是 HTTP 协议?

前言:本篇文章主要参考自《图解HTTP》,在学习期间也查询过其他资料。仅作为个人的学习记录。​ HTTP 协议和 TCP/IP 协议族内的其他众多协议相同,用户客户端和服务器之间的通信.​ 访问文本或者图像资源的一段称为客户端,而提供资源响应的一端称为服务器端超文本也就是 HTML,当我们发送 HTTP 请求的时候,响应就会返回相应的页面.HTTP 是一种不保存状态的协议,即**无状态协议.**HTTP 协议自身不对请求和响应之间的通信状态进行保存.图:HTTP 协议自身不具备保存之前发送过的请求或响应的功

2022-07-02 11:59:54 3489

原创 正则表达式[Java]

正则表达式正则表达式是一套标准,他可以用于任何语言. Java 标准库的 java.util.regex 包内置了正则表达式引擎,在 Java 程序中使用正则表达式非常简单.例如: 判断用户输入的年份是否为 20xx 年对应的正则表达式则是: 20\d\d , \d 表示任意一个数字而在 Java 中, \\ 才表示一个 \,所以对应的正则是 20\\d\\d public static void main(String[] args) { String regex = "2

2022-05-26 01:45:48 2455

原创 数据类型,重载,传参,初始化及类的加载

1.数据类型:基本数据类型,引用数据类型基本数据类型:Java中基本数据类型有8个,其中数值类型有6个(整型+浮点型):字节byte 1个,short 占2个字节,int 占4个字节,long 占8个字节,float单精度浮点型 占4个字节,双精度浮点型double 占8个字节字符型1个:char 占2个字节布尔类型1个:boolean注意:在计算机中,小数是没有精确的数字的float:保留小数点后六位double:保留小数点后15位置Java 中使用 单引号 + 单个字母 的形式表

2022-05-10 21:46:08 312

原创 多线程基础(4):几种常见的关键字(synchronized,volatile,notify和wait)-解决线程安全问题

一.synchronized1.cynchronized的特性1)互斥(保证原子性)synchronized 会起到互斥的效果当一个线程进入 synchronized 修饰的代码块,相当于 加锁同一个线程退出 synchronized 修饰的代码块,相当于 解锁如果线程一,首先执行到这个方法,首先会得到锁(synchronized),进行加锁.当其他线程执行到这个方法,若是线程一还未执行完毕,也就意味着这个方法还处于加锁状态,此时其他线程就只能阻塞等待.直到线程一完成被 synchroni

2022-04-27 15:30:06 857

原创 多线程基础(3):线程安全问题

线程安全问题一.什么是线程不安全?如果多线程环境下代码运行的结果是符合我们预期的,即和在单线程环境下一样的结果,则说这个程序是线程安全的.否则就是线程不安全的得到的结果和预期不一样,这视为是一种bug,而由于多线程并发执行导致的这种 bug,就称为线程不安全案例: //多个线程修改同一个数据 static class Counter{ private static int count = 0; public static void increase()

2022-04-26 21:16:15 215

原创 多线程基础(2):Thread 类以及常见的方法,线程的状态

一.Thread 类及常见方法Thread 类是 JVM 用来管理线程的一个类,换句话说,每个线程都有一个唯一的 Thread 对象与之关联.每个执行流,也需要有一个对象来描述,Thread 类的对象正是用来描述一个线程执行流的.JVM 会将这些 Thread 对象组织起来,用于线程调度,线程管理.1.对线程重命名public static void main(String[] args) { Thread t1 = new Thread("线程一"){ @Override

2022-04-25 11:29:21 276

原创 多线程基础(1):线程和进程,创建线程的五种方式

一.关于进程和线程1.什么是进程进程在操作系统中是这样进行管理的:描述:PCB,叫做进程管理块,在创建进程时,建立 PCB,伴随进程运行的全过程,直到进程撤销而撤销.(包含 PID,内存指针,文件描述符表,进程的状态,上下文,优先级,记账信息…)实际上这个 PCB 是一个非常大的结构体,属性非常多组织:通过双向链表进行组织虚拟地址空间:操作系统会直接依据真实的内存地址进行划分空间,分配给每一个进程.2.多线程的概念一个线程就是一个"执行流".每个线程之间都可以按照顺序执行自己的代

2022-04-24 15:12:29 1685

原创 多线程基础: (0)计算机相关知识

一.冯诺依曼体系CPU中央处理器,进行算数运算和逻辑判断存储器:分为内存和外存,用于存储数据(使用二进制的方式进行存储)针对存储空间硬盘 > 内存 >> CPU针对数据访问速度CPU >> 内存 > 硬盘计算机在计算加减乘除的时候,都是靠加法器数据在内存中的存储:存补码(目的是为了把加法和减法都统一成加法)代码最终是在 CPU 上执行的,这些编程语言写的代码最终会被编译器/解释器,转换成 CPU 能认识的指令.二.内存和外存外存:硬盘,软盘,光

2022-04-23 15:46:58 253

原创 UDP的报文结构及其注意事项

UDP的报文:大部分教科书给的报文结构是这样的,其实这只是方便排版…实际上这样来表示更好一些:那么接下来就来介绍一下UDP报文结构:UDP报文主体分为两个部分:UDP报头(占8个字节)+UDP数据/UDP载荷UPD报头:源端口号+目的端口号+包长度+校验和1.源端口号占16位,也就是2个字节2.目的端口号也是占16位,2个字节3.包长度即UDP长度,总共16位,占两个字节UDP报文长度=UDP报头(首部)+UDP载荷该字段保存了UDP报文的长度,单位为

2021-12-19 10:23:34 1772

原创 网络之初识

IP地址端口号协议协议分层封装和分用1.IP地址什么是IP地址?在TCP/IP的通信中,IP地址用于标识主机和路由器,简单来说IP地址用来定位主机的网络地址…就好比是你寄快递的时候,寄件地址就是源IP地址,收件地址就是目的IP地址.IP地址的表示(IPv4):例如:192.168.43.203IP地址是由32位正整数来表示,采用"点分十进制".把32位分成4分,由"."分割开,然后转成十进制.一个IP地址有32位,也就是说,可以有2^32也就是43亿个不同的IP地址,虽.

2021-12-19 10:16:01 2859 1

原创 面向对象编程02

目录:一、多态二、抽象类三、接口

2021-05-24 13:02:45 278

原创 面向对象编程01

本节目标包继承组合多态抽象类接口包1、包 (package) 是组织类的一种方式.使用包的主要目的是保证类的唯一性.注意点:在文件的最上方加上一个 package 语句指定该代码在哪个包中.包名需要尽量指定成唯一的名字, 通常会用公司的域名的颠倒形式(例如 com.bit.demo1 ).包名要和代码路径相匹配. 例如创建 com.bit.demo1 的包, 那么会存在一个对应的路径 com/bit/demo1 来存储代码.如果一个类没有 package 语句, 则该

2021-05-23 02:33:29 650

原创 初识java

加粗样

2021-03-30 17:36:23 127

空空如也

空空如也

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

TA关注的人

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