自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 查看日志常用命令

1.Linux查看日志常用命令:tail,head,cat,tac,more● tail命令:参数:1)-f 循环读取2)-q 不显示处理信息3)-v 显示详细的处理信息4)-c<数目> 显示的字节数5)-n<行数> 显示行数例如:tail -f test.log 查看实时日志tail -100f test.log 查看最后100行日志记录tail -n 10 test.log 查询日志尾部

2020-10-29 15:36:32 1482 1

原创 monkey命令使用

常用adb基础命令1.adb devices:查看已连接的设备2.adb version:查看adb的版本序列号3.adb shell:通过远程shell命令来控制模拟器/设备4.exit:退出shell远程连接5.adb push <pc端路径> <设备端路径>:将指定的文件从pc端拷贝到设备/模拟器上最简单的monkey执行语句:adb shell monkey –p com.jianjiexuan.na –v 500 (对com.jianjiexuan.na 这个

2020-10-29 15:34:27 247

原创 基于网页聊天室的自动化测试脚本

自动化脚本主要测试内容:用户登录功能用户注册功能页面下方超链接的自动跳转#coding=utf-8import timefrom selenium import webdriverimport unittest, osclass TestItem(unittest.TestCase): def setUp(self): self.driver = w...

2019-09-03 09:20:27 457

原创 Java面试高频考题之链表(删除链表中固定值的节点、反转单链表、有序链表的合并、返回链表的倒数第k个节点、链表的回文结构)

Java面试高频考题之链表(删除链表中固定值的节点、反转单链表、有序链表的合并、返回链表的倒数第k个节点、链表的回文结构)

2019-09-03 09:09:19 375

原创 TCP之 提高传输效率绞尽脑汁(滑动窗口机制、快速重传机制、流量控制机制、拥塞控制机制、延迟应答机制、捎带应答机制)

为了保证可靠传输,TCP牺牲了部分性能(有些性能的损失是没必要的,比如ack丢失导致的重传)所以TCP又采用了几种机制来避免无谓的性能损失,以及提高性能的方法:1.滑动窗口机制TCP的确认应答策略,对每个发送的数据段,都要给一个ACK确认应答,收到ACK后再发送下一个数据段,这样做有一个比较大的缺点,就是性能较差,尤其是在数据往返时间较长的时候。。。。。既然一发一收的方式性能较低,那么一次...

2019-08-20 22:50:08 1278

原创 老生常谈测试用例之 QQ登录

本测试用例从6大模块入手:功能模块性能模块界面模块易用性模块兼容性模块

2019-08-19 21:15:26 289

原创 网络基础之 详解UDP与TCP(三次握手、四次挥手、确认应答、超时重传)

1.UDP(用户数据报协议)UDP协议端格式:在UDP传输的过程总,如果校验和出错,数据就会直接被丢弃。16位UDP长度,表示整个数据报(UDP首部+UDP数据)的最大长度,也就是说,一个UDP能传输的数据最大长度是64K,而64k在当今或联网环境下,是非常小的一个数字,如果需要传输的数据超过64k,就需要在应用层手动分包,多次发送,并在接收端手动拼装。UDP没有真正意义上的发送缓冲区...

2019-08-19 11:38:57 1213

原创 网络基础 TCP/IP五层模型之应用层与HTTP协议

应用层简单理解,应用层就是负责应用程序之间数据沟通,比如:简单的电子邮件传输(SMTP),文件传输(FTP),网络远程访问协议(Telnet)等。协议?协议就可以理解为一种“约定”。在应用层已经有了特别成熟好用的协议——HTTP协议。HTTP协议HTTP协议格式:HTTP请求:...

2019-08-18 10:39:17 966

原创 软件测试基础 之测试用例的设计

测试用例1.测试用例的基本要素测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步 骤、测试数据、预期结果等要素。2.测试用例的设计方法2.1基于需求的设计基于需求的测试是一种最根本的软件测试,重点关注以下两大关键问题:(1)验证需求是否正确、完整、无二义 性,并且逻辑一致。(2)要从“黑盒”的角度,设计出充分并且必要的测试集,以...

2019-08-16 22:16:16 483

原创 基于WebSocket的测试用例

基于WebSocket的测试用例

2019-08-16 10:53:22 845

原创 MySQL之 视图的使用与用户管理

1.视图1.1视图的基本使用创建视图:create view 视图名 as select 语句;eg:mysql> create view v_ename_dname as select ename, dname from EMP, DEPT where EMP.deptno=DEPT.deptno;Query OK, 0 rows affected (0.10 sec)...

2019-08-14 21:52:29 592

原创 如何判断对象已死?(引用计数法、可达性分析法详解与对象的自我拯救)

如何判断对象已死?Java堆中存放着几乎所有的对象实例,垃圾回收器在堆进行垃圾回收前,首先要判断有哪些对象还存活,哪些已经”死去“,并将”死去“的对象回收。1.引用计数法引用计数描述的算法是:给对象增加一个引用计数器,每当有一个地方引用它时,计数器就+1,;当引用失效,计数器就-1;任何时刻计数器为0的对象就表示不能再被使用的,即“对象已死”。引用计数法实现简单,效率也比较高,Pytho...

2019-08-13 18:16:54 400

原创 MySQL之 事务(事务的基本操作、ACID属性与隔离级别)

1.事务事务是由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行,是一个整体。事务是一组不可再分割的操作集合(工作逻辑单元)1.1 事务的基本操作开始一个事务:start transaction;创建一个保存点:savepoint 保存点名;回到保存点(根据具体情况):rollback to 保存点名;eg:mysql> start tr...

2019-08-13 16:03:56 249

原创 MySQL之索引(索引的原理、常见索引的使用、索引创建原则)

1.索引1.1 索引原理索引是用来快速寻找具有特定值的,索引的底层使用B+树来实现。未创建索引时,执行MySQL查询时,会从第一个记录开始扫描整个表的所有记录,直到查找到符合要求的记录,表中的记录越多,查询的代价就越大。但是作为搜索条件的列上已经创建了索引,MySQL查询时不再扫描任何记录便可迅速得到目标记录所在的位置;大大提高了海量数据的检索速度。索引虽然能提高查询速度,但同时也有其他...

2019-08-09 17:02:27 464

原创 MySQL 之 表的内连和外连

数据库中表的连接分为内连;1.内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选。语法:select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;eg:显示SMITH的名字和部门名称 用标准的内连接写法 :select ename, dname from EMP inner join DEPT on EMP.deptno...

2019-08-08 11:15:08 238

原创 MySQL 之复合查询(多表查询、子查询、合并查询)

复合查询使用数据库的scott样例数据库(简单的公司管理系统)来进行,该数据库中包含三张表,分别为:EMP(职员表),DEPT(部门表),SALGRADE(工资表);多表查询显示雇员名、雇员工资以及所在部门的名字要查询的数据来自EMP和DEPT表,因此要联合查询:显示部门号为10的部门名,员工名和工资:显示各个员工的姓名,工资,及工资级别mysql> select ena...

2019-08-05 09:58:20 6109

原创 MySQL之 Update更新表与Delete、Truncate删除表

MySQL数据库的更新与删除操作

2019-08-03 14:26:20 293

原创 JVM之内存区域划分: 程序私有区域与程序共享区域详解

Java内存区域JVM会在执行Java程序的过程中把它管理的内存划分为若干个不同的数据区域。这些数据区域各有各的用处,各有各的创建与销毁时间,有的区域随着JVM进程的启动而存在,有的区域则依赖用户线程的启动和结束而创建与销毁。一般来说,JVM所管理的内存将会包含以下几个运行时数据区域:线程私有区域:程序计数器、Java虚拟机栈、本地方法栈线程共享区域:Java堆、方法区、运行时常量池1.程...

2019-08-02 20:18:16 1964

原创 MySQL之 表的简单查询

Select1.全列查询通常情况下,使用 * 进行全列查询存在弊端:查询的数据越多,意味着要传输的数据量就越大;可能会影响索引的使用2.指定列查询3.查询字段为表达式表达式不包含该字段:表达式包含一个字段:表达式包含多个字段:4.为查询结构指定别名5.结果去重未去重时:可发现98是重复的;去重查询:Where条件英语不及格的同学及英语成绩 (...

2019-08-02 18:41:41 161

原创 MySQL之 表的约束(空属性约束、默认值、列描述、zerofill、主键约束、自增长、唯一键约束、外键约束)

常见的表的约束:1.空属性约束空属性约束包含俩个值:null(默认的)和not null(不为空)数据库默认字段基本都是为空的,但是有些情景下,数据为空时没有办法进行运算,就不要要保证字段不为空。eg:创建一个班级表,包含班级名和班级所在的教室,如果班级没有名字,不知道在哪个班级,如果教室名字可以为空,就不知道在哪上课。创建该表:此时进行数据插入必须赋俩个值,否则就会报错。2...

2019-08-02 17:33:48 803

原创 MySQL之 表的操作(创建表、查看表结构、修改表、删除表)

表的操作1.创建表语法:CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;说明:field 表示列名datatype 表示列的类型character set 字符集,...

2019-07-29 15:37:08 450

原创 MySQL之 库的操作(创建、查看、修改、删除、备份和恢复数据库)

库的操作1.创建数据库创建一个名为test1的数据库:create database db1;创建一个使用utf8字符集的db2数据库:create database db2 charset=utf8;创建一个使用utf字符集,并带校对规则的db3数据库create database db3 charset = utf8 collate utf8_general_ci;2....

2019-07-29 15:35:15 391

原创 Java之Comparable接口(内部排序接口)与Comparator接口(外部排序接口)

1.Comparable接口若一个类实现了Comparable接口,就意味着“该类支持排序”。实现Comparable接口的类的对象”可以用作“有序映射(如TreeMap)”中的键或“有序集合(TreeSet)”中的元素, 而不需要指定比较器。Comparable 定义Comparable 接口仅仅只包括一个函数,它的定义如下:public interface Comparable&lt...

2019-07-28 22:26:20 412

原创 Java之Map集合使用Iterator输出

Map接口与Collection接口不同,Collection接口有iterator()方法,可以很方便的取得Iterator对象来输出,而Map接口本身没有此方法。Collection接口中保存的是一个个的对象,Map集合中保存的是一对一对的键值对;在Map接口中有一个重要的方法,将Map集合转为Set集合:public Set<Map.Entry<K,V>> entr...

2019-07-28 22:00:37 5887

原创 Java 之Map集合(Map接口常用方法、HsahMap子类、HashTable子类、TreeMap子类)

Map集合Map集合中会一次性保存俩个对象,且这俩个对象的关系为:key = value结构;即可以通过key找到对应的value内容。1.Map接口概述Map接口定义:public interface Map<K,V>在Map接口中有如下常用方法:向Map中追加数据:public V put(K key,V value)更具key值取得相应的value:public V...

2019-07-26 17:38:18 263

原创 Java之 集合输出(迭代输出:Iterator、双向迭代接口:ListIterator、Enumeration枚举输出、foreach输出)

1.迭代输出(Iterator)对于Iterator接口里面实际有三个抽象方法:判断是否有下一个元素:public boolean hasNext()取得当前元素:public E next()删除元素:public default void remove()eg:标准的Iterator使用:public class TestDemo { public static voi...

2019-07-22 22:41:20 453

原创 Java之 重复元素判断

Set接口判断重复元素依靠Object类中的俩个方法:hash码:public native int hashCode()对象比较:public boolean equals(Object obj)在Java中进行对象比较的操作有两步:通过一个对象的唯一编码找到一个对象的信息当编码匹配之后再调用equals()方法进行内容的比较class Person implements C...

2019-07-22 21:58:42 1068

原创 Java之 Set集合接口 :HashSet使用 与 TreeSet排序分析

1.Set集合接口在Set子接口中有俩个常用子类:HashSet(无序存储)、TreeSet(有序存储)且Set接口中的内容是不允许重复的。eg:HashSet的使用public class Test { public static void main(String[] args) { Set<String> set = new HashSet<&...

2019-07-21 21:32:28 314

原创 Java 之ArrayList、LinkedList 与Vector 的基本使用与区别

1.ArrayList的使用ArrayList是一个针对List接口的数组实现,由于List是允许保存重复数据的,即ArrayList也是允许保存重复数据的。List本身有一个好的支持:存在get方法,可以利用get()方法结合索引取得数据。eg:List的get()操作:public class TestGet { public static void main(String[]...

2019-07-20 10:51:38 181

原创 Java类集 之 Collection接口、List接口及其子类

1.Collection接口单个对象保存的最顶层父接口Collection接口以及其子接口,在每次进行数据操作时只能对单个对象进行处理。Collection接口的定义如下:public interface Collection<E> extends Iterable<E>Interable:迭代器接口(就是为了遍历集合)Interator iterator(...

2019-07-13 23:24:31 340

原创 Java 实现生产者与消费者模型(单生产与单消费)

首先创建一个商品类Goods,类中有商品库存与生产和消费的方法。eg:商品类:public class Goods { //商品名称 private String goodsName; //商品库存 private int count; //生产方法 public synchronized void set(String goodsName) t...

2019-07-12 23:42:41 365

原创 Java 之 wait()与notify()方法

1.wait()方法wait()方法其实就是使线程停止运行。wait()调用后立刻释放对象锁。wait() 使得当前线程立刻停止运行,处于等待状态(WAIT),并将当前线程置入锁对象的等待队列中,直到被通知(notify())或被中断为止。使用条件:只能在同步方法或同步代码块中使用,必须是内建锁。常用方法:public final void wait( ) throws Interr...

2019-07-11 23:34:26 269

原创 Java 之 线程池的实现原理与使用

Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或者并发执行任务的程序都可以使用线程池。1.线程池优点:1)降低资源消耗:通过重复利用已创建的线程降低线程创建于销毁带来的损耗2)提高相应速度:当任务到达时,无需等待线程创建就可以立即执行3)提高线程的可管理性:使用线程池可以统一进行线程分配、调度与监控2.线程池的实现原理线程池的主要处理流程如下:1)判断核心线程池是否已满...

2019-07-10 21:23:57 197

原创 Java之 ThreadLocal基本使用

ThreadLocal用于提供线程局部变量,在多线程环境中可以保证各个线程里的变量独立于其他线程里的变量。也就是说,ThreadLocal可以为每个线程创建一个单独的变量副本,相当于线程的private static 类型变量。ThreadLocal的的作用和同步机制有些相反:同步机制是为了保证多线程环境下的数据的一致性,而ThreadLocal是保证了多线程环境下数据的独立性。eg:Thr...

2019-07-10 19:15:20 184

原创 Java 之 synchronized实现机制(monitor)及其优化(CAS操作、Java对象头、偏向锁)

synchronized实现机制:对象锁(monitor)机制–JDK1.6之前的synchronized(重量级锁)同步代码块:执行同步代码块后首先执行monitorenter指令,退出时执行monitorexit指令。使用内建锁(synchronized)进行同步,关键在于要获取指定锁对象monitor对象,当线程获取monitor后才能继续向下执行,否则就只能等待。这个获取过程是互斥的...

2019-07-09 17:08:35 906

原创 Java 之多线程的同步处理(Synchronized)

同步处理:所谓的同步指的是所有的线程不是一起进入到方法中执行,而是按照顺序一个一个来。synchronized处理同步问题使用synchronized关键字处理有俩种模式:同步代码块、同步方法。使用同步代码块必须设置一个要锁定的对象,所以一般可以锁定当前对象this。eg:class MyThread implements Runnable{ private int n = 1...

2019-07-08 22:21:56 216

原创 linux 基础指令

linux基础指令:Linux终端打开后,默认处于一个目录下(当前用户的家目录)命令的使用格式:命令名称 [操作选项] [操作对象]目录相关命令:ls:浏览当前所在目录ls-a:浏览所有文件,包括隐藏文件(Linux下文件名以 . 开头的文件,默认不显示)ls-l:查看文件的详细信息。pwd:显示当前工作路径(当前所在路径)绝对路径:以根目录为起始的路劲相对路径:以...

2019-07-07 23:43:10 160

原创 Java 线程的优先级与守护线程

1.线程的优先级线程的优先级是指:线程的优先级越高,越有可能先执行,但仅仅是有可能而已。在Thread类中有以下优先级方法:设置优先级public final void setPriority(int newPriority)取得优先级public int getPriority()对于优先级的设定可以由Thread类的几个常量来决定高优先级:public fina...

2019-07-06 20:06:05 206

原创 数据结构 之 栈(基于数组实现、支持动态扩容的顺序栈)

1.栈栈:一种特殊的线性表,其值允许在固定的一段进行插入和删除元素操作。进行数据插入和删除操作的一段叫做栈顶,另一端叫做栈底。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出站:栈的删除元素叫做出栈。出数据也在栈顶。eg:栈的实现栈的接口声明:public interface Stack<T> { /** * 入栈 * @param t...

2019-06-08 17:20:46 592

原创 Java之 多线程的常用操作方法

1.线程的命名与取得创建线程的时候设置名称:public Thread (Runnable target,String name)设置线程名称:public final synchronized void setName(String name)取得线程的名字:public final String getName()2.线程休眠(sleep方法)public static nati...

2019-06-08 16:57:53 177

空空如也

空空如也

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

TA关注的人

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