- 博客(34)
- 收藏
- 关注
原创 说说synchronized关键字和volatile关键字的区别
说说synchronized关键字和volatile关键字的区别synchronized关键字和volatile关键字是两个互补的存在,而不是对立的存在volatile关键字是线程同步的轻量级实现,所以volatile性能肯定比synchronized关键字要好,但volatile关键字只能用于变量,而synchronized可以修饰方法和代码块volatile关键字能保证数据的可见性,但不能保证原子性。synchronized两者都能保证volatile关键字主要用于解决变量在多个线程之间的可见
2021-08-19 17:31:11
433
原创 Java重载和重写的区别
重载就是同样的⼀个⽅法能够根据输⼊数据的不同,做出不同的处理重载:发⽣在同⼀个类中,⽅法名必须相同,参数类型不同、个数不同、顺序不同,⽅法返回值和访问修饰符可以不同。下⾯是《Java 核⼼技术》对重载这个概念的介绍:综上:重载就是同⼀个类中多个同名⽅法根据不同的传参来执行不同的逻辑处理。重写发⽣在运行期,是子类对⽗类的允许访问的方法的实现过程进行重新编写。返回值类型、⽅法名、参数列表必须相同,抛出的异常范围⼩于等于⽗类,访问修饰符范围⼤于等于⽗类。如果父类⽅法访问修饰符为 priv
2021-06-21 10:45:34
440
2
原创 DNS域名解析过程
名词解释DNS(Domain Name System,域名系统) 1、因特网上作为域名和IP(Internet Protocol Address)地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。 2、通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。 3、DNS协议运行在UDP协议之上,使用端口号53。 4、在整个互联网体系中,约定俗成的用于标识网络上设备的地址是IP,然而我们输入的
2021-06-15 20:35:57
370
原创 数据库设计三范式
数据库设计三范式什么是数据库设计范式 3个第一范式:要求任何一张表必须要有主键,每一个字段原子性不可再分。第二范式:建立在第一范式的基础之上,要求所有非主键字段完全依赖主键,不要产生部分依赖。第三范式:建立在第二范式的基础之上,要求所有非主键字段直接依赖主键,不要产生传递依赖。总结表的设计?一对多:一对多,两张表,多的表加外键!多对多:多对多,三张表,关系表两个外键!!!一对一:外键唯一!数据库设计三范式是理论上的实践和理论有时候是有偏差。最终目的都是为了满足客户需求,有的时候会拿冗余
2021-05-31 15:41:03
266
原创 mysql数据库中的索引
索引索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。一张表的一个字段可以添加一个索引,多个字段联合起来也可以添加索引。索引相当于一本书的目录,是为了缩小扫描范围而存在的一种机制。对于一本字典来说,查找某个汉字有两种方式: 第一种方式:一页一页碍着找,直到找到为止,这种查找方式属于全字典扫描。效率比较低。 第二种方式:先通过目录(索引)去定位一个大概的位置,然后直接定位到这个位置,做局域性扫描,缩小扫描的范围,快速的查找。这种查找方式属于通过索引检索,效率较高。在实际中,汉
2021-05-31 15:40:20
192
原创 数据库中的事务及四个特性
事务什么是事务?一个事务就是一个完整的业务逻辑完整的业务逻辑?假设转账,从A账户向B账户中转账10000将A账户的钱减去10000(update语句)将B账户的钱加上10000(update语句)这就是一个完整的业务逻辑以上的操作是一个最小的工作单元,要么同时成功,要么同时失败,不可再分。这两个update语句要求必须同时成功或者同时失败。只有DML语句才会有事务这一说,其它语句和事务无关!!只要操作一旦涉及到数据的增、删、改,那么就一定要考虑安全问题。数据安全是第一位事务:本质上就是
2021-05-31 15:39:19
158
原创 超详细mysql知识点总结
为什么用Mysql?在互联网公司用的相对多一些,mysql数据库免费 小巧轻量级,安装也简单方便 互联网公司像京东、阿里并发量很大,搭建多个服务器,用免费的数据库代价低。什么是数据库?什么是数据库管理系统?什么是SQL?他们之间的关系是什么?数据库:DataBase,简称DB。按照一定格式存储的一些文件的组合。顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据。数据库管理系统:DataBaseManagement,简称DBMS。数据库管理系统是专门用来管理数据库
2021-05-31 15:36:47
1708
原创 java实现字符串反转
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:[“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]题解:pu
2021-05-29 11:00:41
588
原创 解决自动化测试元素定位不到问题
#导包、创建浏览器对象,获取一下url地址from selenium import webdriverimport timedriver=webdriver.Firefox()driver.get("https://www.taobao.com")#通过ID来定位文本框和百度一下driver.find_element_by_link_text("聚划算").click()time.sleep(5)handles=driver.window_handles #获取当前浏览器的所有标签页dr
2021-05-27 21:16:10
404
原创 每日一题sql--超过经理收入的员工
Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。±—±------±-------±----------+| Id | Name | Salary | ManagerId |±—±------±-------±----------+| 1 | Joe | 70000 | 3 || 2 | Henry | 80000 | 4 || 3 | Sam | 60000 | NULL
2021-05-26 09:37:51
322
原创 每日一题sql--第二高薪水
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。±—±-------+| Id | Salary |±—±-------+| 1 | 100 || 2 | 200 || 3 | 300 |±—±-------+例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。±--------------------+| SecondHighestSalary |±
2021-05-25 21:49:32
387
原创 如何测试一次性纸杯?
测试项目:一次性纸杯需求测试:查看杯子使用说明书界面测试:查看被子外观是否美观功能测试:用水杯装水看漏不漏;水能不能喝到安全性:杯子的材质有没有毒或者细菌易用性:杯子装热水会不会烫伤人,是否方便饮用等易损度:杯子容不容易损坏,从不同的高度落下的损坏程度可移植性:杯子在不同地方,不同环境,不同温度或湿度等环境下是否都可以正常使用兼容性:杯子除过可以用来装水还可以装其他的比如果汁,酒之类的东西...
2021-05-25 17:06:21
809
原创 项目登录页面测试及测试用例
这篇博客是写的JavaWeb项目的用户登录和修改密码的测试用例项目的登录页面如下图所示用户登录测试用例也是面试中经常被问起的,所以做个总结功能:1、输入正确的用户名,正确的密码,验证是否登录成功2、输入正确的用户名,不正确的密码,验证是否登录失败,并提示用户名或者密码不正确3、输入不正确的用户名,正确的密码,验证是否登录失败,并显示提示信息正确4、输入不正确的用户名,不正确的密码,验证是否登录失败,并显示提示信息正确5、用户名和密码两者之一为空,验证是否登录失败,并显示提示信息正确6、用
2021-05-25 17:02:25
25265
2
原创 HTTP和HTTPS的区别
面试常问:HTTP和HTTPS的区别HTTP协议是超文本传输协议的缩写,英文是Hyper Text Transfer Protocol,它是WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。HTTPS协议一般理解为HTTP+SSL,通过SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。那SSL又是什么呢? SSL(Secure Socket Layer,安全套接字),位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。端口:http:80
2021-04-27 20:53:44
348
原创 百度翻译API接口的使用
百度翻译API接口的使用假如,我自己要开发一个翻译的网站,自己没技术,使用其他的翻译接口(百度的翻译接口)1)阅读API技术文档2)APPID的参数。要成为注册开发者,才能拥有。注册开发者,获取APPID(百度管理控制台中)APP ID:20200211000382774密钥:b1imCNk_EdXIHM0zX2bD3)通过API文档,知道了接口的地址,还知道了想能够使用接口,需要传参4)准备参数。(英文翻译为中文)q:applefrom:ento:zhappid:2020021100
2021-04-26 19:27:42
6600
1
原创 Postman中请求的创建和发送步骤
Postman中请求的创建和发送步骤Postman发送不带参数的get请求1)打开postman2)创建一个collection,用于保存所有接口请求3)创建一个请求,请求方法为get类型,请求的url为:(http://www.baidu.com)4)点击发送(send)按钮,发送请求5)在response区域,分析服务器返回的信息body区域:显示服务器返回的信息的主体cookies:服务器返回的所有cookies值(用于验证客户端、服务端身份信息)headers:服务器返
2021-04-26 19:16:44
1012
原创 Cookie和Session的区别
Cookie、Session会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话有状态的会话:一个同学来过教室,下次再来教室,我们就会知道这个同学曾经来过,称之为有状态的会话。你怎么证明你是xx学校的学生?你 学校1、学生证 学校给你了学生证2、学校登记 学校教务系统登记了有你这个人一个网站怎么证明你来过?客户端 服务端1、服务端给客户端一个信件,客户端下次访问服务端带上信件就可以了;cookie2、
2021-04-26 11:17:06
100
原创 聊聊请求转发和重定向
聊聊请求转发和重定向请求转发:B一个web资源收到客户端A请求后,B会把A的请求转发给另一个web资源C,这个过程叫请求转发。重定向:B一个web资源收到客户端A请求后,B会通知A客户端去访问另外一个web资源C,这个过程叫重定向。常见场景:用户登录面试题:请你聊聊重定向和转发的区别相同点页面都会实现跳转不同点请求转发时,url不会产生变化 307重定向时,url地址栏会发生变化 302request:客户端对服务的请求,其跳转的流程是,当客户端向服务器发起跳转请求时,服务
2021-04-25 20:52:39
177
原创 JavaWeb项目smbms超市订单管理系统
项目简介smbms超市订单管理系统,主要用于用户管理、订单管理、供应商管理等功能,是学习JavaWeb练习的一个小项目这个博客只讲了部分功能(用户登录界面,和密码修改界面),以及用户管理的实现。主要写的后端的实现。使用技术Maven:管理依赖打包项目Mysql:存储业务数据HTML:制作前端登录页面Servlet:后台服务资源完成相关业务Tomcat:web项目部署的服务器Filter:统一会话管理所有登录情况数据库基本框架搭建创建dao层(数据持久层),pojo层(简单的J
2021-04-25 17:47:17
11433
6
原创 安恒信息
安恒信息测试实习面试小菜鸟在犹犹豫豫中开始了第一次面试,总觉得自己啥也不会,看到身边的同学都开始投了,那就来试试吧,反正总结经验嘛,接到面试电话那天是一个下午,在图书馆,我以为就简单的聊上几句,约一下面试时间,没想到就直接开始了,但问题比较简单,大概就是了解一下情况,摸清你看究竟了解测试吗,很快就结束了(15分钟)。之后就迎来了二面,大概35分钟,刚开始约的是个女面试官,最后不知道为什么换成一个男面试官了,要求我开摄像头,不过面试官没开,听声音大概30岁左右,还挺温柔,主要问题:1、先自我介绍2、对
2021-04-21 16:46:59
947
1
原创 unittes框架基本介绍
unittes框架unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行。web自动化测试存在哪些问题呢?一、之前脚本存在的问题1、在测试用例执行的时候,发现挺麻烦(如果测试用例熟练过大,要么换个执行,要么导包执行)2、断言方式太low,只能是在控制台打印测试用例是否通过,我们希望这个断言状态是显示在报告中的,而且不应该通过if-else去判断3、基本上看不到测试报告的效果,显示总共执行了多少条用例,通过了多少条,失败了多少条,失败原因是什么web自动化:
2021-04-15 21:12:15
707
原创 自动化测试步骤
一、页面元素定位及操作什么是页面元素:在浏览上能看到的所有要素,如图片、文本框、按钮、下拉列表、视频等。自动化是干嘛的?代码控制浏览器上的元素,让这些元素“动”起来(按照脚本设计逻辑在执行)自动化测试的主要步骤:1、通过某些方式定位到我们要执行的对象、目标(target)2、对这个对象进行什么操作(command)3、通过操作对定位到的元素赋值(value)4、添加断言操作webdriver提供的定位元素方式有:id属性定位—>find_element_by_id(“id属性值”
2021-04-09 17:55:09
475
原创 自动化测试selenium ide工具的使用及selenium环境搭建
selenium ide工具的使用1、是firefox浏览器的插件,只需要在附加插件中添加selenium ide即可2、使用selenium IDErecord a new test in a new project录制一个新的测试系统在新的工程中(自动化测试的项目作为工程,一个具体的功能可以作为一个测试)open an existing project原来已经开发好了,只需要打开对应的工程文件即可create a new project创建一个新的空工程cl
2021-04-07 17:36:51
352
原创 软件测试面试必备---你不知道的缺陷小知识
缺陷的属性缺陷的类型:功能(Function)、界面(UI)、文档(documentatio)、软件包(package)、性能(performance)、接口(interface)注意:需求分析、设计阶段,文档类型的缺陷多,集成测试阶段,一般接口类型的缺陷多一些;系统测试阶段,功能、界面类型的缺陷多一些;验收测试阶段,更多的关注性能缺陷;实施过程,可能会遇到一些软件包的缺陷。缺陷的严重程度。缺陷的故障对软件的影响。一般有分类,每个公司和团队的分类标准会略有不同。注意:结合缺陷的影响,结合软件
2021-04-06 21:32:40
276
原创 软件测试流程
软件生命周期模型瀑布模型:最早提出的软件开发的过程模型。存在的问题:1.强调时间顺序的严格执行,前阶段不完成,后阶段不开始。2.将测试放在了编码之后,没有体现出测试贯穿软件生命周期的原则,可以避免需求的问题一直延续到代码完成才暴露或者被发现。螺旋模型:兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减少损失。螺旋模型更适合大型的昂贵的系统级的软件应用。迭代模型:包括产生产品发布(稳定、可执行的产品版本)的全部
2021-04-01 18:51:34
405
原创 史上最详细黑盒测试用例方法总结(等价类、边界值、因果图等)
黑盒测试用例设计方法一、等价类等价类划分法原理1、把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例2、每一类的代表性数据在测试中的作用等价于这一类中的其他值,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误。3、反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误等价类划分的原则:1、例如:一个文本框规定,输入字符个数为6-18位一个有效等价类:范围内个数两个无效:小于6;大于18个2、例如:请输入11位
2021-03-31 16:34:52
10415
1
原创 稀疏数组应用之有趣的五子棋问题
编写的五子棋程序中,有存盘退出和续上盘的功能分析问题:因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数组->稀疏数组稀疏数组:当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组稀疏数组的处理方法:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素行列及值记录在一个小规模的数组中,从而缩小程序的规模。稀疏数组举例:以五子棋为例,画个图分析分析:二维数组转稀疏数组思路:1、遍历原始的二维数组,得到有效数据的个数sum
2021-03-29 18:16:48
455
3
原创 超详细html5登录注册页面总结
一、HTML5简介HTML是互联网上应用最广泛的标记语言。HTML文件就是普通文本+HTML标记,而不同的HTML标记能表示不同的效果。HTML5优势HTML5并不是一种革新的的升级,而是一种向规范向习惯的妥协,因此HTML5并不会带给开发者过多的冲击,从HTML4到HTML5过渡会非常轻松。HTML5解决了以下四点问题 :解决跨浏览器问题部标签代替了原来的JavaScript更明确的语义支持增强了web应用程序和功能二、我的第一个网页下面在ideal中先写一个第一个网页,测试一下环
2021-03-28 18:04:05
12892
10
原创 linux常用命令总结
vi 编辑器vi 文本名 #编辑某文本进入文档后,按下a或者i进入insert模式,在文档中输入文字点击esc按钮可以退出编辑模式:w 保存文件:wq 保存并退出:wq! 保存并强制退出:q 退出:q!强制退出dd 删除一行文字x 删除一个字符:n 光标移至文本第n行$ 光标移至文本的行尾G 光标移至文本的末尾/ 查找某个字符串cd 切换目录cd root根目录cd / 系统根目录cd … 返回到当前目录的上一级目录cd /home
2021-03-24 22:45:47
395
1
原创 ideal快速入门GUI(代码简单易懂)
1、GUI简介GUI的核心技术是AWT和Swing,早期,电脑向用户提供的是单调、枯燥、纯字符状态的“命令行界面(CLI)”。就是到现在,我们还可以依稀看到它们的身影:在Windows中开个DOS窗口,就可看到历史的足迹。后来,Apple公司率先在电脑的操作系统中实现了图形化的用户界面(Graphical User Interface,简称GUI),但由于Apple公司封闭的市场策略,自己完成电脑硬件、操作系统、应用软件一条龙的产品,与其它PC不兼容。这使得Apple公司错过了一次一统全球PC的好机会。
2021-03-22 18:29:52
3199
1
原创 Java标识符注意事项及数据类型
编码习惯在Java编程时,经常遵循以下的编码习惯类名首字母应该大写(类名,接口名)变量、方法及对象的首字母应小写所有的标识符都应该以大写字母(A-Z),小写字母(a-z),美元符($)或下划线(_)开始,首字符之后可以是任意字符的组合。不能使用关键字作为变量名或方法。标识符是大小写敏感的。数据类型Java数据类型分为基本类型和引用类型基本类型public class Test2 { public static void main(String[] args) { //八大数据类
2020-10-27 18:18:08
392
原创 scanner用法
scanner对象next():一定要读取到有效字符后才可以结束输入。对输入有效字符之前遇到的空白,next()方法会自动将其去掉只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符next()不能得到带有空格的字符串nextLine():以enter为结束符也就是说nextLine()方法返回的是输入回车字符前的所有字符可以获得空白...
2020-10-27 18:16:42
126
原创 java冒泡排序代码及思想(代码简单易看懂)
冒泡排序在排序中总共有八大排序,冒泡排序是经典排序中的一种。两层循环,外层冒泡轮数,里层依次比较冒泡排序的思想:比较数组中,两个相邻的元素,如果第一个元素比第二个元素大,就交换他们的位置每一次比较,都会产生出一个最大或最小数字;下一轮则可以少一次排序依次循环,直到结束。import java.util.Arrays;public class ArrayDemo04 { public static void main(String[] args) {
2020-10-27 18:11:52
924
1
原创 常用的Dos命令
打开cmd命令 这里用win+R键(推荐最常用!)也可在windos系统下找到命令提示符打开在任意文件目录地址前输入cmd 即可进入该文件下的命令行。常用的Dos命令#盘符切换 D: F: 必须是英文下的冒号#查看当前目录下的所有文件 dir#切换目录 cd /d表示参数 \d表示路径#清理屏幕 cls#退出终端 exit#查看电脑ip ipconfig#回到上一级 cd ..#文件操作 md #创建目录名 rd #移出目录名 .
2020-10-13 18:07:13
79
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人