- 博客(87)
- 收藏
- 关注
原创 【SpringBoot】1.快速上手(上)
Maven是一个项目管理工具。基于POM(Project Object Model,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。大白话就是:Maven是一个项目管理工具,通过pom.xml文件的配置获取jar包,而不是手动去添加java包。
2024-12-27 09:00:00
555
原创 【数据结构】16.泛型进阶
一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。泛型是在JDK1.5引入的新的语法,通俗讲,泛型:就是适用于许多许多类型。从代码上姜,就是对类型实现了参数化。方法限定符 返回值类型 方法名称(形参列表) { ... }
2024-12-26 09:00:00
1461
原创 【数据结构】15.Lambda表达式
lambda表达式的优点很明显,在代码层次上来说,使代码变得非常的简洁,缺点也很明显,代码不易读。代码简洁,开发迅速。方便函数式编程。非常容易进行并行计算。java引入lambda,改善了集合操作。代码可读性变差。在非并行计算中,很多计算未必有传统的for性能要高。不容易进行调试。
2024-12-25 09:00:00
629
原创 【数据结构】14.枚举的使用
但是常量举例有不好的地方,例如:可能碰巧有个数字1,但是他有可能误会是RED,现在我们可以直接使用枚举来进行组织,这样依赖,就拥有了类型,枚举类型。而不是普通的整型1.优点:将常量组织起来统一进行管理。场景:错误状态码,消息类型,颜色的划分,状态机等等……本质:是java.lang.Enum的子类,也就是说,自己写的枚举类,就算没有显示的继承Enum,但是默认继承了这个类。2. 使用1.Switch语句case RED:break;break;break;break;
2024-12-24 09:00:00
832
原创 【数据结构】13.反射
java的反射机制是在运行状态中,即对于任意一个类,都能够知到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法,既然能拿到,那么我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象的方法的功能称为java语言的反射(reflection)机制。反射的意义。反射重要的几个类:Class类、Field类、Method类、Constructor类。学会合理利用反射,一定要在安全环境下使用。
2024-12-23 09:00:00
759
原创 【数据结构】12.Map和Set
假设要存储某家公司员工登记表,如果用手机号作为关键字,那么极有可能前7位都是相同的,那么我们可以选择后面的四位作为散列地址,如果这样的抽取工作还容易出现冲突,还可以对抽取出来的数字进行翻转(如1234改成4321)、右环位移(如1234改成4321),左环移位,前两数和后两数叠加(如1234改成12+34=46)等方法。虽然哈希表一直在和冲突做斗争,但在实际使用过程中,我们认为哈希表的冲突率是不高的,冲突个数是可控的,也就是每个桶中的链表的长度是一个常数,所以,通常意义下,我们认为。
2024-12-22 09:00:00
669
原创 【数据结构】11.排序
1.快速排序整体的综合性能和使用场景都是比较好的,所以才敢叫快速排序。2.时间复杂度:O(N*logN)3.空间复杂度:O(logN)4.稳定性:不稳定归并的缺点在于需要O(N)的空间复杂度,归并排序的思考更多的是解决在磁盘中的外排序问题。时间复杂度:O(N^logN)空间复杂度:O(N)稳定性:稳定。
2024-12-21 09:00:00
772
原创 【数据结构】10.java对象的比较
优先级队列在插入元素时有个要求:插入的元素不能是null或者元素之间必须要能进行比较,为了简单起见,我们只是插入了Integer类型,那么优先级队列能否插入自定义类型对象呢?优先级队列底层使用堆,而向堆中插入元素时,为了满足堆的性质,必须要进行元素的比较,而此时Card是没法进行比较的,因此抛出异常。在java中,基本类型的对象可以直接比较大小。2.2 对象比较的问题c1、c2和c3分别是card类型的引用变量,以上代码在比较编译时:从编译结果可以看出,java中引用类型的变
2024-12-20 09:00:00
913
原创 【数据结构】9.优先级队列PriorityQueue
java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的。使用时必须导入PriorityQueue所在的包。PriorityQueue中放置的元素必须要能够比较大小,不能插入无法比较大小的对象,否则会抛出ClassCastException异常。不能插入null对象,否则会抛出NUllPointException。
2024-12-19 09:00:00
733
原创 【数据结构】8.二叉树
设二叉树的根节点所在层数为1,层序遍历就是从所在二叉树的根节点出发,首先访问第一层的树根节点,然后从左到右访问第2层上的节点,接着是第三层的节点,依次类推,自上而下,自左到右逐层访问树的节点的过程就是层序遍历。子孙:以某结点为根的子树中任一结点都称为该结点的子孙,如上图:所有节点都是A的子孙。若一个结点含有子结点,则这个结点称为其子节点的父结点;结点的祖先:从根到该结点所经分支上的所有结点;一个结点含有的子树的根节点成为该结点的子结点;兄弟结点:具有相同父节点的结点互称为兄弟结点;度为0的结点称为叶结点;
2024-12-18 09:00:00
2024
原创 【数据结构】7.栈和队列
双端队列(deuqe)是指允许两端都可以进行入队和出队操作的队列,deque是“double ended queue”的简称,那就说明元素是可以从队头出队和入队,也可以从队尾出队和入队。队列:只允许在一端进行插入数据操作,在另一端进行删除数据的操作的特殊线性表,队列具有先进先出FIFO入队列:进行插入操作的一端称为队尾出队列:进行删除操作的一端称为队头。从上图可以看出,Stack继承了Vector,Vector和ArrayList类似,都是动态的顺序表,不同的是Vector是线程安全的。
2024-12-17 09:00:00
975
原创 【数据结构】6.LinkedList与链表
LinkedList的底层是双向链表结构,由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。在集合框架中,LinkedList也实现了List接口,具体如下:【说明】LinkedList实现了List接口。LinkedList的底层使用了双向链表。LinkedList没有实现RandomAcess接口,因此LinkedList不支持随机访问。
2024-12-16 09:00:00
1527
原创 【前端】博客系统(页面设计)
实现一个简单的博客系统。当前先完成页面设计的部分,通过前面学习的前端知识来构建出网页。博客详情页效果博客登录页效果博客编辑页效果。
2024-12-15 09:00:00
711
原创 【前端】JavaScript(WebAPI)
前面学习的JS分成三个大的部分ECMAScript:基础语法部分DOM API:操作页面结构BOM API:操作浏览器WebAPI就包含了 DOM+BOM。这个是W3C组织规定的。(和制定ECMAScript的不是同一拨人)。API是一个更广义的概念。而WebAPI是一个更具体的概念,特制DOM+BOM。所谓的API本质上就是一些现成的函数/对象,让程序员能拿来就用,方便开发。DOM全称为Document Object Model。网页内容网页结构网页样式。
2024-12-14 09:00:00
664
原创 【前端】JavaScript(基础语法)
如果一个变量没有被初始化过,结果就是underlined,是underlined类型。var a;underlined和字符串进行相加,结果进行字符串拼接。underlined和数字进行相加,结果为NaN。
2024-12-13 09:00:00
1613
原创 【云计算】虚拟化技术
答:VMare完全虚拟化。是一个“虚拟PC”,虚拟机管理软件,它的产品可以使你在一台机器上同时运行一个或更多个WIndows,DOS,Linux系统。答:桌面虚拟化可以将用户的桌面环境虚拟化,并将其托管在数据中心的服务器上,用户可以通过网络连接到虚拟桌面,并向使用本地桌面一样使用它。Xen半虚拟化,是一个开放的源代码虚拟机监视器,使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。
2024-12-12 15:00:46
720
原创 【前端】CSS(下)
当父元素设置为display:flex之后,子元素的float,clear,vertical-align都会失效。在上面的代码中,我们是让元素按照主轴的方向排列,同理我们也可以指定元素按照侧轴方向排列。浏览器会给元素加上一些默认的样式,尤其是内外边距,不同浏览器的默认样式存在差别。设置justify-content:flex-end,此时元素都排列到右侧了。text-align:center是让行内元素或者行内块元素居中的。设置justify-content:center,此时元素居中排列。
2024-12-12 09:00:00
1496
原创 【前端】CSS(上)
网页依赖的资源(图片/CSS/JS等)通常是从服务器上获取的,如果频繁的访问该网站,那么这些外部资源就没必要反复从服务器上获取,就可以使用缓存先存起来(就是存在本地磁盘上了)。针对计算机中RGB三个分量,分别使用一个字节表示(8个比特位,表示的范围是0-255,十六进制表示为00-FF)。CSS能够对网页中元素位置的排版进行像素级精确控制,实现美化页面的效果,能够做到页面的样式和结构分离。上下边距是相等的,此处字体大小是16px,行高是40px,上下边距就分别是是12px。背景图片在背景颜色的正上方。
2024-12-11 09:00:00
1016
原创 【前端】1.HTML
在不同的浏览器中还存在些许的兼容性问题,所以我们现在还并不能完全信赖这个东西,具体的情况可以看下这篇文章。属性,它的官方的 定义为:设备物理像素和设备独立像素的比例,也就是 devicePixelRatio =后来随着技术的发展,移动设备的屏幕像素密度越来越高,从iphone4。,但屏幕尺寸却没变化,这就意味着同样大小的屏幕上,像素却多了一倍,这时,一个css。css 中的像素只是一个抽象的单位,在不同的设备或不同的环境中,css。像素相当于多少个屏幕物理像素,也因设备的不同而不同,没有一个定论。
2024-12-10 09:00:00
1246
原创 云计算-微软云计算
不同点:(1)部署方式:SQL Sever 在本地服务器或企业内部数据中心部署。SQL Azure是基于云服务的数据库解决方案,由微软Azure平台提供。(2)可扩展性:SQL Sever可扩展性能需要对硬件进行升级。SQL Azure具有高度的可扩展性。(3)高可用性和再难恢复。SQL Sever企业需要自己构建高可用性和灾难恢复解决方案。SQL Azure提供了内置的高可用性和灾难恢复功能。相同点:1.基于关系型数据模型。2.提供数据完整性支持。
2024-12-09 08:30:00
887
原创 【MYSQL】Java的JDBC编程
创建数据库连接Connection创建操作命令Statement使用操作命令来执行SQL处理结果集ResultSet释放资源JDBC使用步骤:1.创建数据库连接ConnectionDriverManager创建DataSource获取2.创建操作命令Statement3.使用操作命令来执行SQL// 查询操作// 新增、修改、删除操作4.处理结果集ResultSet...5.释放资源try {= null){= null){= null){
2024-12-08 09:00:00
1055
原创 【MYSQL】索引事务
索引:(1)对于插入、删除数据频率高的表,不适用索引。(2)对于某列修改频率高的,该列不适用索引。(3)通过某列或某几列的条件查询频率高的,可以对这些列创建索引。事务...
2024-12-07 09:00:00
459
原创 【MYSQL】表的增删改查(进阶)
数据库约束约束类型说明示例NULL约束使用NOT NULL指定列不为空UNIQUE唯一约束指定列为唯一的、不重复的DEFAULT默认值约束指定列为空时的默认值主键约束NOT NULL 和UNIQUE的结合外键约束关联其他表的主键或唯一键foreign key(字段名)references 主键(列)CHECK约束(了解)保证列中的值符合指定的条件check(sex=‘男’or sex=‘女’)表的关系一对一:一对多:多对多:需要创建中间表来映射两张表的关系。
2024-12-06 08:57:39
1007
原创 云计算知识点
答:需要改变,原存储在前驱结点上的那部分数据会迁移到新的节点上,而其节点保存的数据不变。同样,在删除节点时,被删除节点的数据会迁移到其前驱节点上,而对其他节点,换览与源文件没有影响。弹性IP动态分配给云服务器等虚拟设备,可以随时解绑和重新分配,适用于云计算等需要灵活网络配置的场景。弹性IP可以与云服务器等虚拟设备关联,用户可以随时解绑和重新分配,适用于云计算等灵活网络配置的场景。公有IP主要用于互联网上唯一标识的设备可以直接访问互联网,用于提供网站邮件,FTP等服务。
2024-12-04 08:30:00
282
原创 【软件测试】11.性能测试概念
为了发现系统性能问题或获取系统性能相关指标而进行的测试。一般在真实环境、特定负载条件下,通过工具模拟时机软件系统的运行及操作,同时监控性能各项指标,最后对测试结果进行分析来确定系统的性能情况。常见的性能问题:查询数据时间过长,网速很慢,服务器无响应,查询数据很长时间才显示列表。
2024-09-02 09:09:52
932
原创 【软件测试】8. 测试分类
软件测试时软件生命周期中的一个重要环节,具有较高的复杂性,对于软件测试,可以从不同的角度进行分类,使开发者再软件开发过程中的不同层次、不同阶段对测试工作进行更好的执行和管理测试的分类方法。动态测试,指的是实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断一个测试属于动态的还是静态的,唯一的标准就是看是否运行程序。但是,灰盒测试没有白盒测试详细和完整,黑盒测试是覆盖产品范围最广的测试,因此灰盒测试基本是不能够替代黑盒测试,否则需要很大的代价,设计非常多的用例。
2024-08-31 09:00:00
897
原创 【软件测试】10.自动化测试常用函数
当我们手工测试的时候,我们可以通过眼睛来判断当前的窗口是什么,但是对于程序来说它是不知道当前最新的窗口应该是哪一个。隐式等待是一种智能等待,他可以规定在查找元素时,在指定时间内不短查找元素如果找到则代码继续执行,直到超时没找到元素才会报错。我们的自动化脚本一般部署再机器上自动的去运行,如果我们出现了报错,我们是不知道的,可以通过抓拍来记录当时的错误场景。web自动化测试的操作核心是能够找到页面对应的元素,然后才能对元素进行具体的操作。但是可以使用sendskeys来上传指定路径的文件,达到的效果是一样的。
2024-08-30 10:27:28
769
原创 【Java EE】JVM
JVM是 Java Virtual Machine 的简称,意为Java虚拟机。虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔了的环境中的完整计算机系统。常见的虚拟机:JVM、VMware、Virtual Box。VMware和Virtual Box是通过软件模拟物理CPU的指令集,物理系统中会有很多的寄存器。JVM则是通过软件来模拟java字节码的指令集,JVM只是保留了PC寄存器,其他的寄存器都进行了剪裁。JVM是一台被定制过的现实中不存在的计算机。
2024-08-29 20:15:00
560
原创 【软件测试】9.自动化测试概念
自动化测试不一定比人工测试更能保障系统的可靠性,自动化测试是测试人员手工编写,后续如果有功能的变更自动化也需要进行不定期的维护和更新。移动端测试通常不是将程序部署在移动端进行测试,而是要安装模拟器,在电脑上编写自动化测试脚本代码对模拟器上的软件进行操作。移动端,顾名思义,就是部署再手机上的应用程序。selenium是一个web自动化测试工具,selenium中提供了丰富的方法供给使用者进行web自动hau化测试。模拟人在浏览器上的操作行为,自动的打开浏览器,访问百度首页,并进行一系列的搜索和验证等行为。
2024-08-29 15:29:33
922
原创 【Java EE】网络原理——HTTPS
HTTPS工作过程中涉及到的密钥有三组。第⼀组(⾮对称加密): ⽤于校验证书是否被篡改. 服务器持有私钥(私钥在注册证书时获得), 客⼾端持有公钥(操作系统包含了可信任的 CA 认证机构有哪些, 同时持有对应的公钥). 服务器使⽤这个私钥对证书的签名进⾏加密. 客⼾端通过这个公钥解密获取到证书的签名, 从⽽校验证书内容是否是篡改过.
2024-06-04 08:30:00
1161
1
原创 【软件测试】7.更多的用例练习
对接口进行测试时,使用curl命令进行接口测试在操作上并不理想。实际在工作中我们常常使用接口测试工具来提供测试的质量和效率,常用的接口测试工具由postman。(2)打开postman,点击“import”按钮,选择“Raw text'”方式导入请求,将复制好的URL粘贴到文本框中,选择“continue”只需一步,就可以在postman中保存经常要使用到的接口。通过curl命令我们可以在命令行上请求接口,并对接口进行测试。(1)打开页面开发者工具,选中要复制的接口,右键复制URL。填写本次请求的链接。
2024-06-03 08:00:00
1063
原创 【软件测试】6.设计测试用例的设计方法
正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。依据需求将输入(特殊的情况下才会考虑输出)划分成若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。场景主要包含4种类型:正常的用例场景,备选的用例场景,异常的用例场景,假定推测的场景。
2024-06-02 20:17:16
1055
1
原创 【软件测试】正交法设计测试用例的使用
注意:使用allpairs生成的正交表和预期有出入,但是不影响我们用来设计测试用例。以邮箱注册为例,采用正交法补全剩下的测试用例。因素:姓名,电子邮箱,密码,确认密码,验证码。2.使用allpairs工具生成正交表。2.用allpairs工具生成正交表。3.根据正交表编写测试用例。4.补充遗漏的重要测试用例。3.根据正交表编写测试用例。4.补充遗漏的重要测试用例。
2024-05-31 08:30:00
768
原创 【Java EE】网络原理——几种方式构造HTTP请求
从前端角度,除了浏览器地址栏能构造GET请求,form表单能构造GET和POST之外,还可以通过ajax的方式来构造HTTP请求,并且功能更强大。所谓的“接受HTTP响应”,本质上就是从TCP Socket中读取一个字符串,再按照HTTP的格式来解析。我们基于Socket的知识,完全可以构造出一个简单的HTTP客户端程序,用来发送各种类型的HTTP请求。所谓的“发送HTTP请求”,本质上就是按照HTTP的格式往TCP Socket中写入一个字符串。修改上面的代码,把form的method修改为POST。
2024-05-30 09:00:00
703
原创 【Java EE】网络原理——HTTP响应
表示访问被拒绝,有的页面通常需要用户具有一定的权限才能访问(登录后才能访问),如果用户没有登录直接访问,很容易就见到403.当服务器负载比较大的时候,服务器处理单条请求的时候消耗的时间就会很长,就可能会导致出现超时的情况。类似于Content-Type,Content-Length等属性的含义也和请求中的含义一致。但是对方的服务器不一定都支持所有的方法(或者不允许用户使用一些其他的方法)当浏览器收到这种响应时,后续的请求都会自动改成新的地址。响应报头的基本格式和请求报头的格式基本一致。
2024-05-29 08:30:00
899
原创 【Java EE】网络原理——HTTP请求
Cookie存储了一个字符串,这个数据可能是客户端(网页)自行通过JS写入的,也可能来自于服务器(服务器在HTTP响应的header中通过Set-Cookie字段给浏览器返回数据)互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它呢?在登陆页面,输入用户名,密码,验证码之后,点击登录,就可以看到POST请求。另外,HTML中的LInk,img,script等标签,也会触发GET请求。协议名,IP地址/域名,端口号,带层次的文件路径,查询字符串,片段标识。
2024-05-28 16:45:48
1961
原创 【Java EE】网络协议——HTTP协议
思考问题:为什么HTTP报文中要存在“空行”?因为HTTP协议并没有规定报头部分的键值对有多少个,空行就相当于是“报头的结束标记”,或者是“报头和正文之间的分隔符”。HTTP在传输层依赖TCP协议,TCP是面向字节流的。如果没有这个空行,就会出现“粘包问题”。
2024-05-26 09:00:00
1336
原创 【软件测试】5.测试用例
移动端又分为IOS系统和Android系统,且市面上手机又有不同的品牌、不同的机型、不同的版本。测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。设计测试用例的万能公式:功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试。性能测试和功能测试的区别是:功能测试检查软件是否做了,而性能测试测试软件做的好不好。针对需要进行部署的软件,除了软件功能外,我们还需要关注软件的能够成功安装和卸载。安全测试和性能测试一样都是比较大的领域。
2024-05-24 09:00:00
977
1
原创 【软件测试】4.Bug的级别
软件的生命周期是指测试流程,这个流程是按照一定顺序执行的一系列特定的步骤,去保证产品质量符合需求。在软件测试生命周期流程中,每个活动都按照计划的系统的执行,=。定义:一个计算机bug指在计算机程序中存在一个错误、缺陷、疏忽或者故障,这些不够使程序无法正确的运行。软件测试贯穿于软件的整个生命周期,针对这句话我们一起来看一下软件测试是如何贯穿软件的整个生命周期。描述bug的基本要素:问题出现的版本、问题出现的环境、问题出现的步骤、预期结果、实际结果。bug的级别一般分为:崩溃、严重、一般、次要。
2024-05-23 09:00:00
805
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人