自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

测试技术

  • 博客(75)
  • 收藏
  • 关注

原创 loadrunner脚本编写~dubbo协议(java版)

1. 目的总结loadrunner编写dubbo协议脚本( 有疑问的,或者想交流dubbo方面的性能测试,请加QQ群:3649725462. 前提1、熟悉Java语言,至少知道基本语法) 2、熟悉loadrunner基本操作、 3、熟悉dubbo框架(http://dubbo.io/)3. 搭建dubbo服务主要作用是熟悉dubbo调用的整个工程1、下载dubbo小例子代码(链接: htt

2016-05-18 14:39:11 4337 11

原创 ReentrantLock 源码分析

AQS介绍AQS是一个FIFO的双向队列。节点head和tail记录队首和队Node结点:shared用来标记该线程是获取共享资源时被阻塞挂起后放入AQS队列的exclusive用来标记线程是获取独占资源时被挂起后放入AQS队列waitStatus记录当前线程等待状态。如下:1、cancelled线程取消2、signal线程需要被唤醒3、condition线程在条件队列里面等待4、propagate释放共享资源需要通知其结点Aqs内部类ConditionObject操作state的方式

2021-04-12 15:11:33 176

原创 ThreadLocal源码分析

并发基础概念并发:是指同一个时间段内多个任务同时在执行。并且都没有执行结束并行:是指单位时间内多个任务同时执行多线程安全问题多线程访问同一个共享时特别容易出现并发问题,特别实在多个线程需要一个共享变量进行写时,为了保证线程安全。需要对共享变量进行同步解决线程安全问题1、保证内存可见性和原子操作;synchronized两者皆可保证。volatile关键字只能保证内存可见性2、变量不共享在多线程ThreadLocal用概述创建一个TheadLocal变量,那么访问这个变量的每个线程都会有这个

2021-03-31 17:52:34 185

原创 JMeter 源码 HashTree

Jmeter API 创建脚本Jmeter 数据结构Jmeter API 接口介绍例子实践

2021-03-26 16:42:23 587

原创 tomcat8 生命周期

1. tomcat组件架构图Server:表示一个运行在JVM的tomcat实例 Service:表示tomcat的服务,是由连接器和容器两大部分组成 Connector:表示连接器,由HTTP、AJP、HTTPS组成。其中HTTP主要用于解析http请求报文,HTTPS是在HTTP基础上增加了加密传输的功能。AJP是tomcat内部协议 Engine:表示servlet引擎。 Host:表

2016-12-06 16:45:27 828

原创 tomcat8解析【server.xml】文件

关于sax介绍参考:http://blog.csdn.net/liu_jian140126/article/details/530359391.类图ObjectCreateRule(规则方法,用此规则作为实例) 1、ObjectCreateRule(String className):要创建的对象的Java类名 2、ObjectCreateRule(String className,

2016-11-14 14:59:03 901

转载 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J下面首先给出这四种方法的jar包下载地址DOM:在现在的Java JDK里都自带了,在xml-apis.jar包里SAX:http://sourceforge.net/projects/sax/JDOM:http://jdom.org/downloads/index.htmlDOM4J:http:/

2016-11-04 15:49:52 612

原创 jmeter脚本编写~dubbo协议(java版)

1. dubbo的介绍在做dubbo性能测试接口时,需要了解dubbo的流程,故而贴出官网的内容 以下内容摘自官网(http://dubbo.io/)架构 节点角色说明: Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 Monitor: 统计服务的调用次调和调用时间的监控中心。 Containe

2016-08-15 14:11:02 5199 1

原创 selenium 常见的问题解决

问题之一:例子:页面html代码<button class="buy-next btn buy-next-basic" type="submit" ng-disabled="BasicForm.$invalid">下一步</button>定位方式:driver.findElements(By.className("buy-next btn buy-next-basic" type="submit")

2016-08-03 17:16:56 2263

原创 loadrunner 函数web.custom_request使用

1、脚本样例 发送HTTP请求, web.custom_request("OpenAPI.do", "Method=POST", new String[]{ "URL=http://10.1.3.78:8081/front-gateway-

2016-07-29 11:18:58 797

原创 Android 开发常见问题总结

问题:Android之NetworkOnMainThreadException异常 解决方式 ,使用多线程,异步加载的方式加载数据: /** * 异步的Post请求 * @param urlStr * @param params * @param callBack * @throws Exception */ public

2016-07-27 20:49:22 14634 5

转载 在android中运行java main方法

1)右键入口类(含有Main方法的)==>Run Configurations==>双击(Java Application)==>New==> (2)在标签Main里选好相应的ProjectName和要运行ClassName, (3)选标签ClassPath中的Bootstrap Entries ,再从右边点Advance==>Add Library==>JRE System Library,完

2016-07-25 16:38:26 2963

原创 Ignoring InnerClasses attribute for an anonymous inner class

问题:Ignoring InnerClasses attribute for an anonymous inner class的一种解决方式 解决办法 1、右击项目,点击【Properties】菜单 2、点击【Java Build Path】菜单,进入Java Build Path界面 3、点击【Order and Export】菜单,将android private Libraries

2016-07-25 15:46:37 752

原创 2016年学习计划

2016年学习计划

2016-07-08 11:06:40 323

原创 7月份学习计划

1、技术方面 a.《TCP/IP》 12章学习 b. 代码覆盖率研究2、生活习惯方面 a. 周五下班后走路回家(锻炼身体) b.晚上11点必须睡觉 c.平常多做做推拿

2016-07-08 10:42:36 324

转载 maven install时报错Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile

转载地址:http://www.cnblogs.com/zhouyalei/p/3338139.html首先检查父项目,子项目的jdk版本是否一致,编码格式是否一致 我的问题就错在了编码格式上,父项目用的是UTF-8,子项目新建的,默认GBK 这时,使用maven install命令出错提示: [INFO] pims.core Maven Webapp ………………………. SUCCESS [

2016-06-24 14:16:53 1090

原创 HTTP协议首部字段transfer-encoding与content-length差异

1. 什么问题最近在写一个http代理,主要作用是接收客户端(JMeter)的http请求报文,解析报文后加密,发送到服务器。接收服务器响应,拼装http响应报文,响应客户端(JMeter)。但是JMter一直提示 org.apache.http.MalformedChunkCodingException: Bad chunk header2. 原因响应客户端(JMeter)http报文实体首

2016-06-18 20:10:48 4908

原创 6月份学习计划

1、技术方面 b.《Java 并发编程实战》第二章、三章,四章读书笔记(预计完成度100%)2、哲学方面 a.《爱与生的烦恼》第二,三章3、兴趣爱好 a.《斑马斑马》的弹唱

2016-06-18 15:55:27 495

原创 5月份学习计划

1、技术方面 a. 接口测试博客 (预计完成度:50%) 实际完成度(100%)。原因:不知道写什么 b.《Java 并发编程实战》第一章读书笔记(预计完成度100%)实际完成度:(100%)2、哲学方面 a.《爱与生的烦恼》第二章 实际完成度:100%3、兴趣爱好 a.《董小姐》的弹唱 实际完成度:100%

2016-06-18 15:54:39 540

原创 性能测试总结笔记之一

1、做什么 测试xx项目的性能测试,用lr作为压测工具2、产生什么问题 xx项目的功能的每秒的事务数不足一个3、确认是否是一个问题 是一个问题4、排除问题的思路 解决问题都有一个思路,在定位问题我是按照如下面的层级关系进行排查的 第一步:在liunx使用top命令动态的实时查看操作系统cpu,内存,IO读写。CPU和内存都属于正常范围,只有IO读写频繁,在利用JProfiler工具排查

2016-06-18 15:44:37 854

原创 解决问题的反思

1. 目的提高解决问题的效率2. 为什么需要反思解决问题时间成本、人力成本过大,通常难以达到效果3. 反思的点思路方面解决问题所具备的技能 解决问题方法正确性(思路正确,找到问题的点)解决问题的思路 是否是一个问题是谁的问题(这里面的谁是系统、人等任何事物)什么问题问题原因(找不到原因,请教同事====》领导=====》技术群====》百度或者谷歌解决方案总结心态方面 4、解决

2016-06-18 15:37:31 475

转载 魔鬼在细节中

转自地址:http://javatar.iteye.com/blog/1056664 最近一直担心Dubbo分布式服务框架后续如果维护人员增多或变更,会出现质量的下降, 我在想,有没有什么是需要大家共同遵守的, 根据平时写代码时的一习惯,总结了一下在写代码过程中,尤其是框架代码,要时刻牢记的细节, 可能下面要讲的这些,大家都会觉得很简单,很基础,但要做到时刻牢记, 在每一行代码中都

2016-06-15 20:19:08 259

转载 一个异常的反思

转自地址:http://blog.csdn.net/stanleyqiu/article/details/7982538 对于本次异常查找,解决感觉有必要做个反思: 1、经验主义错误,没看完异常信息,凭单方面经验去判断错误来源,完全不是程序员逻辑思考应该出现的…… 2、读异常信息不完全,这点主要是心没静下来……有些浮躁引起的。通过本次“事故”可以看出,作为一名程序员,应该随时保持冷静、淡定。。

2016-06-15 20:14:00 423

原创 java的并发测试

1. 什么是并发测试通过代码的编写和工具的利用模拟多线程(多用户)来执行某一个业务操作。来确保业务在多线程的环境下业务(或者说数据的)的正确性2. 为什么做并发测试我们常常听到线上环境在高并发的情况下。出现用户的账户余额不对,一个手机号注册了两个账户这类情况。所以我们有必要模拟大量用户的并发测试3. 如何做并发测试我在这儿是使用的是testng的方法。见如下实例(在多线程的环境下,非线程安全)pac

2016-05-30 20:34:49 7794

原创 《深入理解Java虚拟机》第三章读书笔记:类文件结构

1. class文件结构1、Class文件是一组以8位字节为基础单位的二进制流 2、Class类伪结构有两种数据类型:无符号数和表无符号数属于基本的数据类型,与u1、u2、u4、u8来分别表示1个字节、2个字节、4个字节和8个字节表是由多个无符号或其他表作为数据项构成的复合数据类型 类型 名称 数量 u4 magic 1 u2 minor_version 1

2016-04-27 16:39:40 499

原创 jmeter-察看结果树-响应数据,中文显示乱码问题处理

转载地址:http://www.51testing.com/html/00/130600-1360743.html jmeter-察看结果树-响应数据中的中文显示乱码jmeter\bin\jmeter.properties默认编码为:ISO-8859-1The encoding to be used if none is provided (default ISO-8859-1)sampleres

2016-04-18 18:19:07 3760

原创 4月份读书计划

最近搬房子的事情弄得头痛,很少读书。对自己没有约束力了。一部分原因在我自我管理不到位,或者说做事情没有计划

2016-03-30 20:18:45 389

原创 《理解Java虚拟机》第三章读书笔记:垃圾收集器与内存分配

GC需要完成的事情: 1、哪些内存需要回收 2、什么时候回收 3、如何回收对象已死引用计数算法 给对象中添加一个引用计算器,每当有一个地方引用它时,计数器加一,当引用失效时,计数器减一 。任何时刻都为0的对象就是不可能再被使用了。根搜索算法 通过一系列的名为“GC Root”的对象起始点,从这些节点开始向下搜索,搜索所有走过的路径称为引用链。当一个对象到“GC Root”没

2016-03-17 17:46:45 312

原创 《理解Java虚拟机》第二章读书笔记:Java内存区域与内存溢出

运行时数据区域 程序计时器:线程私有的,在操作系统结构中,程序计数器是用于存放下一条指令所在单元的地址的地方。在JVM是一块较少的内存空间,他的作用可以看做是当前线程所执行的字节码的行号指示器。字节码解析器工作时就是通过改变这个计算器的值来选取下一条需要执行的字节码指令。Java虚拟机栈:是线程私有的,他的生命周期与线程相同,每个方法执被执行的时候都会同时创建一个栈帧,用于存储局部变量表

2016-03-03 16:31:23 478

原创 深入浅出ClassLoader测试代码

1. 前提在写类加载器代码,首先要了解相关的知识点,起码要知道什么是类加载器,做什么用,如何使用等等相关理论知识,请参考深入浅出ClassLoader2. 自定义类加载器,代码清单如下:import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.IOException;import jav

2016-02-24 17:38:43 417

转载 深入浅出ClassLoader

这里写链接内容Dedicate to Molly.你真的了解ClassLoader吗?这篇文章翻译自zeroturnaround.com的 Do You Really Get Classloaders? ,融入和补充了笔者的一些实践、经验和样例。本文的例子比原文更加具有实际意义,文字内容也更充沛一些,非常感谢作者 Jevgeni Kabanov 能够共享如此优秀的文档。1. 为什么你需要了解和敬畏C

2016-02-24 17:26:21 458

转载 Java Reflection(十二):动态类加载与重载

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gmail.com) 内容索引 类加载器 类加载体系 类加载 动态类加载 动态类重载 自定义类重载 类加载/重载示例 Java允许你在运行期动态加载和重载类,但是这个功能并没有像人们希望的那么简单直接。这篇文章将阐述在Java中如何加载以及重载类。 你可能会质疑为什么Java动态类加载特性是Java反射机

2016-02-23 17:50:35 285

转载 Java Reflection(十一):动态代理

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gmail.com) 内容索引 创建代理 InvocationHandler接口常见用例数据库连接以及事物管理 单元测试中的动态Mock对象 自定义工厂与依赖注入(DI)容器之间的适配器 类似AOP的方法拦截器 利用Java反射机制你可以在运行期动态的创建接口的实现。java.lang.reflect.Prox

2016-02-23 17:44:09 390

转载 Java Reflection(十):数组

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gmail.com) 内容索引 java.lang.reflect.Array 创建一个数组 访问一个数组 获取数组的Class对象 获取数组的成员类型利用反射机制来处理数组会有点棘手。尤其是当你想要获得一个数组的Class对象,比如int[]等等。本节会讨论通过反射机制创建数组和如何获取数组的Class对象。注

2016-02-23 17:42:32 277

转载 Java Reflection(九):泛型

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gmail.com)内容索引 运用泛型反射的经验法则 泛型方法返回类型 泛型方法参数类型 泛型变量类型我常常在一些文章以及论坛中读到说Java泛型信息在编译期被擦除(erased)所以你无法在运行期获得有关泛型的信息。其实这种说法并不完全正确的,在一些情况下是可以在运行期获取到泛型的信息。这些情况其实覆盖了一些我们需

2016-02-23 17:39:40 269

转载 Java Reflection(八):注解

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gmail.com)内容索引 什么是注解 类注解 方法注解 参数注解 变量注解利用Java反射机制可以在运行期获取Java类的注解信息。什么是注解 注解是Java 5的一个新特性。注解是插入你代码中的一种注释或者说是一种元数据(meta data)。这些注解信息可以在编译期使用预编译工具进行处理(pre-comp

2016-02-23 17:38:02 248

转载 Java Reflection(七):私有变量和私有方法

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com) 内容索引 访问私有变量 访问私有方法在通常的观点中从对象的外部访问私有变量以及方法是不允许的,但是Java反射机制可以做到这一点。使用这个功能并不困难,在进行单元测试时这个功能非常有效。本节会向你展示如何使用这个功能。注意:这个功能只有在代码运行在单机Java应用(standalone Java

2016-02-23 17:34:45 310

转载 Java Reflection(六):Getters and Setters

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com) 使用Java反射你可以在运行期检查一个方法的信息以及在运行期调用这个方法,使用这个功能同样可以获取指定类的getters和setters,你不能直接寻找getters和setters,你需要检查一个类所有的方法来判断哪个方法是getters和setters。首先让我们来规定一下getters和sett

2016-02-23 17:32:34 328

转载 Java Reflection(五):方法

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com) 内容索引 获取Method对象 方法参数以及返回类型 通过Method对象调用方法使用Java反射你可以在运行期检查一个方法的信息以及在运行期调用这个方法,通过使用java.lang.reflect.Method类就可以实现上述功能。在本节会带你深入了解Method对象的信息。获取Method对

2016-02-23 17:30:17 242

转载 Java Reflection(四):变量

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com)内容索引 获取Field对象 变量名称 变量类型 获取或设置(get/set)变量值使用Java反射机制你可以运行期检查一个类的变量信息(成员变量)或者获取或者设置变量的值。通过使用java.lang.reflect.Field类就可以实现上述功能。在本节会带你深入了解Field对象的信息。获取F

2016-02-23 17:28:03 245

空空如也

空空如也

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

TA关注的人

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