Java
文章平均质量分 89
xreztento
还不清的技术债
展开
-
A*算法的一种Java实现
A*算法,A*(A-Star)算法是一种静态路网中求解最短路最有效的方法。估价值与实际值越接近,估价函数取得就越好。原创 2014-09-18 22:05:30 · 902 阅读 · 0 评论 -
Java执行系统命令的方法
Java执行系统命令时经常遇到的问题标准输入流与错误输入流控制对待两股输入流常见的控制方式主要包括三种: (1)开启两个线程分别处理两股输入流,设置状态标识位,主线程轮训判断是否两股输入流均读取完成,在均完成读取的情况下,获取命令执行结果数据; (2)通过waitFor阻塞,直至命令执行完后通过waitFor返回值(命令执行return 值)判断使用哪种输入流读取结果数据; (3)使用Proc原创 2016-09-12 16:41:35 · 1444 阅读 · 0 评论 -
Apache JMeter中正则表达式提取器的使用方法
最近发现许多JMeter的使用用户在利用正则表达式提取器作为“关联”方法时,仍然对Java正则表达式的理解上有所偏差,导致很多时候属于“撞大运”式的进行不断试错来完成正确的提取器配置项设置,从而得到正确的关联结果。本文为大家重新梳理一下Java正则表达式和正则表达式提取器的一些基本特性以及正则表达式的配置方法,使大家可以比较顺畅的完成基于正则表达式提取器的关联操作。Mock环境准备首先,我们来准备一原创 2015-12-09 09:20:52 · 8031 阅读 · 3 评论 -
如何开启Eclipse JDT ASTParser的ResolveBindings功能
抽象语法树AST(Abstract Syntax Tree)是对程序代码的结构化表示,是对代码进行词法分析、语法分析后得到的产物。Eclipse作为开源的Java IDE就提供了一个库来帮助我们达到将Java源代码结构化为AST目的。本文将介绍如何开启Eclipse JDT ASTParser的ResolveBindings功能。原创 2016-11-03 14:03:07 · 2625 阅读 · 4 评论 -
如何为Apache JMeter开发插件(二)——第一个JMeter插件
本篇将开启为JMeter开发插件之旅,我们选择以Function(函数)组件作为插件开发的入手对象,在前面的章节我们将其划分为非GUI组件,选择它的理由不仅仅是因为Function插件在开发方面是极简的,而且在实际运用JMeter执行测试时,对于Function组件的应用会极大的为你的测试带来便利,有些甚至是必不可少的。什么是Function组件?我们还是有必要对Function组件的功能进行一下简原创 2015-09-21 09:21:12 · 6513 阅读 · 1 评论 -
org.json源码分析及增强(一)——JSONObject对象与Java对象相互转换
本系列文章将对org.json(https://github.com/stleary/JSON-java)的部分源代码进行分析,并介绍如何将其缺少的一些功能进行增强和完善。本文章主要介绍如何通过源码修改实现JSONObject对象与Java对象相互转换。原创 2016-10-25 17:40:29 · 16809 阅读 · 6 评论 -
如何为Apache JMeter开发插件(六)——监听器之Vizualizer(监视器)
如何对Apache Tomcat的性能计数进行监视上一章节我们对JMeter的监听器组件进行了一个概况介绍,并通过实现开发一个Report(报告)组件为大家展示了监听器组件的内部工作逻辑,本篇将为大家简单介绍一下Vizualizer(监视器)组件的开发流程和工作原理,针对Vizualizer(监视器)组件的行为我们已经介绍过,主要是主动采集外部资源的性能计数来辅助完成后续的瓶颈定位与调优工作原创 2016-09-30 11:29:09 · 3818 阅读 · 0 评论 -
org.json源码分析及增强(二)——org.json.JSONException: Duplicate key问题处理
org.json.JSONException: Duplicate key问题出现的根源和解决方法原创 2016-10-26 17:34:47 · 10897 阅读 · 1 评论 -
Apache JMeter录制HTTPS的方法及测试中常见问题解决
HTTPS工作原理介绍,Apache JMeter录制HTTPS的方法,测试时,Certificates does not conform to algorithm constraints问题的修复原创 2016-11-17 13:22:31 · 22658 阅读 · 3 评论 -
Redis实现求交集操作结果缓存的设计方案
Redis的集合操作实话说,Redis提供的集合操作是我选择它成为内存数据库的一个主要理由,它弥补了传统关系型数据库在这方面带来的复杂度,使得只需要简单的一个命令就可以完成一个复杂SQL任务,并且交、并、差操作在实际的业务场景中应用非常广泛,比如快速检索出具备一系列标签属性的一个集合,本篇文章将主要介绍对于求交集操作结果缓存的设计方案。原创 2016-11-30 17:48:34 · 10272 阅读 · 1 评论 -
Java应用程序运行时监控方法(一)——JVMTI的应用
The JVM Tool Interface (JVMTI) 是一个由JVM提供的用于开发针对Java程序开发与监控工具的编程接口,通过JVMTI接口(Native API)可以创建代理程序(Agent)以监视和控制 Java 应用程序,包括剖析、调试、监控、分析线程等。本文通过实际案例的方式展现了其强大的应用于监控的功能。原创 2017-06-30 16:39:54 · 9875 阅读 · 0 评论 -
Apache JMeter TCPSampler的使用及自定义
JMeter提供纯TCP协议级别Sampler,如果你不觉得麻烦可以通过它来完成所有基于TCP协议的性能测试,这样一个万金油式的Sampler由于很少进入使用者的视野,因此,在实际使用中存在着许多隐藏特性和误解,本篇将对TCP Sampler使用中的一些特点进行讲解。原创 2017-06-26 16:50:20 · 16669 阅读 · 19 评论 -
如何为Apache JMeter开发插件(四)——几种类型的Sampler
JavaSamplerClient、JUnit Sampler和脚本化Sampler的开发指南原创 2016-09-09 17:38:19 · 11702 阅读 · 0 评论 -
Fortify SCA快速入门以及常见问题解决方法
本篇将透过HP_Fortify_SCA_and_Apps_3.80从实用主义的角度入手,使读者能够快速的对该工具进行使用和对一些可能出现的常见问题进行处理,从而完成一个完整流程的源代码安全性静态扫描测试。快速入门规则库导入: 所有的扫描都是基于规则库进行的,因此,建立扫描任务的前提条件就是你需要把检查规则拷贝到HP_Fortify\HP_Fortify_SCA_and_Apps_3.80\Cor原创 2015-10-15 17:39:44 · 53899 阅读 · 2 评论 -
如何为Apache JMeter开发插件(一)
关键在于不要简单地把JMeter理解为一个单纯的性能测试工具,而应该意识到它还是一个优秀的框架,这甚至成为我选择它的一个最根本理由,在这里所有的组件都可以通过自由编写插件的方式进行添加和完善,对于一个测试工程师来说为JMeter编写插件式组件其乐无穷!原创 2015-09-15 14:07:46 · 8782 阅读 · 4 评论 -
快速构建基于代码级性能测试方法的一种思路和简单实现
我接触过许多性能测试工程师,大多数这类人工作在系统顶层,俯瞰整个系统的轮廓,通过掌握各类测试性能相关的工具,寻找表象的系统瓶颈,一旦定位准确,便开始一层层的从表象向下挖掘,最终甚至跟踪到某一个函数或变量,这基本是他们所能到达的极限了, 通常情况下,作为性能测试人员对代码级缺陷所导致的整个系统的性能问题往往只能感到望而兴叹。 解决这类问题的方法就是性能测试可以尽早的介入整个软件开发项目,在原创 2014-09-09 22:32:36 · 2188 阅读 · 0 评论 -
HTTPProxy在自动化测试中的运用及精简实现
透明代理 (transparent proxy)需要代理认证和代理识别,而不修改请求或响应。非透明代理(non- transparent proxy)需修改请求或响应,以便为用户代理(user agent)提供附加服务原创 2014-09-13 14:19:58 · 1433 阅读 · 0 评论 -
洗牌随机算法的一种Java实现
洗牌随机算法的多样性不言而喻,算法的关键在于原创 2014-09-19 20:37:54 · 1111 阅读 · 0 评论 -
用户浏览器操作行为的一种记录方法
记录用户浏览器操作行为是功能自动化测试工具用于录制测试脚本的先决条件,本文将介绍如何采取一种通用的方式,实现对于浏览器端透明地记录用户操作行为,从而实现用户行为向自然语言转换的过程。原创 2015-04-13 21:38:01 · 5981 阅读 · 0 评论 -
安全性“依赖客户端验证”的测试方法和代码实现
“依赖客户端验证”原创 2014-10-18 21:17:49 · 1316 阅读 · 0 评论 -
字符串查找匹配算法的一种Java实现
(1)KMP算法 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。(2)Sunday算法 Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。其核心思想是:在匹配过原创 2015-04-21 22:53:42 · 3834 阅读 · 1 评论 -
支持连接池和结果集缓存的MySQL数据库JDBC通用框架的轻量级封装(一)——粗略实现
支持连接池和结果集缓存的MySQL数据库JDBC通用框架的轻量级封装(一)——粗略实现(1)数据库连接池构建方法1、利用Apache的Commons Pool通过继承BasePooledObjectFactory类实现一个PoolableConnectionFactory类,实现将JDBC数据库连接Connection对象包裹为一个PooledObject,并通过create()方法实原创 2015-07-13 14:56:13 · 3432 阅读 · 1 评论 -
支持连接池和结果集缓存的MySQL数据库JDBC通用框架的轻量级封装(二)——向上封装
“SQL对象”级别的封装方案,即以一条SQL语句的粒度为单位,将其包装成一个DBObject,利用@DBCondition来声明SQL的输入条件、@DBResult来声明查询所返回的结果,Connector类实现对大量JDBC方法的封装,从而实现对DBObject对象进行处理,完成“SQL对象”中所对应的SQL的运行和结果的返回,其中所有的JDBC方法细节均由Connector代理,框架使用者不需原创 2015-08-26 13:52:58 · 1390 阅读 · 0 评论 -
JavaScript File API应用——如何设计和实现Ajax文件上传组件
(1)精简“带进度条文件上传组件”的设计与实现XMLHttpRequest第二版为我们提供了便利的progress事件,通过为xhr.upload.onprogress指定处理函数,可以快速制作进度条。(2)改进一下,如何实现暂停和重启暂停和重启功能前端,需要依赖对Blob对象(事实上一个File原型链的上一层就是Blob)的分割(slice)方法。(3)扩展思路,如何实现并行异步上传原创 2015-08-25 15:51:14 · 1911 阅读 · 0 评论 -
如何为Apache JMeter开发插件(三)——冲破图片验证码的束缚
我们在性能测试中总会时不时地遭遇到来自于应用系统的各种阻碍,图片验证码就是一类最常见的束缚,登录或交易时需要按照图片中的内容输入正确的验证信息后,数据才可以提交成功,这使得许多性能测试工具只能望而却步。网上也出现了一些LoadRunner的解决方案,但结合LoadRunner对于C脚本内存控制和识别成功率低下等诸多问题,这些方案没有什么实际用途。然而,为JMeter开发插件却给我们提供了一条可行的道原创 2015-09-28 09:19:34 · 22074 阅读 · 18 评论 -
Apache JMeter应用中对于中文乱码的主要解决方法
SapmleResult中的中文乱码解决方法Sampler中文乱码解决方法HTTP协议录制中文问题原创 2015-10-16 17:32:22 · 8020 阅读 · 2 评论 -
低配终端环境下如何模拟大规模负载
低端终端环境下如何模拟大规模负载的优化方法探讨原创 2017-06-27 10:24:51 · 3356 阅读 · 2 评论