JVM脚本错误是什么意思 他有什么脚本语言呢?

什么是脚本语言_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
什么是脚本语言
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
你可能喜欢选择合适的java脚本语言
选择合适的java脚本语言
选择合适的java脚本语言
文章出处:网上收集 作者:未知 发布时间:
关键词:选择合适的java脚本语言
选择合适的java脚本语言--如果你正考虑在java应用中集成脚本解释器,最难得是决定使用那种摘要:脚本语言已经向
java开发者证明了它的价值。它让客户实现应用功能的扩展和界面的个性化,从而程序的价值得以提升。另外,它们可以显著的简化程序开发者的设计任务,通
过实现动态定义、装载和评估。对于开发人员,集成一种或多种脚本语言的任务是简单的,从越来越长的可选列表中选出一个确实困难的。本文描述了一些伴随
java应用中脚本语言支持的问题,并从不同角度比较了Groovy, JudoScript, Pnuts, JRuby, Jacl,
Jython, Rhino和Beanshell,以期能帮助读者作出正确的决定。三年前,我在javaworld写了一遍叫做
“JavaScripting语言,那种是适合你的?”的文章。当我收集解释器并进行比较时,我尽量选择那些看起来满足苛刻商务需求的。理想状态下,我希
望解释器能够方便的扩展应用的用户接口,并且有易读的脚本代码,高可靠,快速,有好的支持和文档,并且是完备的。在那个时候,我把列表限制到了
Jacl,Jython,Rhion和BeanShell。过去的三年中发生了很多变化。可选项不再是很少的几个,不管是动态开发还是直
接选择,可选的脚本语言都有一打以上。可靠的选择列表比三年前增多了,现在还包括了Groovy, JudoScript,
Pnuts和BeanShell。我们还可以考虑不再这个列表中的其他解释器,但这个列表中,已经足够开发人员自己的所需了。我准备标准
化所有解释器,看看Jacl, Jython, Rhion和BeanShell在2002年后性能有没有提高,并看看Groovy,
JudoScript,
Jruby和Pnuts同它们比较起来会怎样。我认为,看看不同脚本语言有什么独特之处,有什么特别的强项和弱点是很有意思的事情。商务风险在
以前的文章里,我讲述了一些著名的优秀脚本解释器的资料,并说明了结合脚本解释器时你可能遇到的风险。本文中,我把这些内容简化为一些要点,并根据我在写
那些文章之后的经验进行了改进。Java脚本解释器的优点是毋庸置疑的。使用脚本语言编码比使用java简单;脚步语言使程序的应用逻辑和用户界面的推动
(drive/驱动?)和扩展成为可能;脚本代码可以违反java应用中类接口而运行,这是非常强大的功能。这样可以容易的编写程序测试驱动(write
test drivers against your
program),与编码并编译用于java类的单元测试相比,这是更加快速的。另外,如果用户花时间使用脚本扩展你的应用,他们就作你的工具上进行了投
资,这使得你在竞争中多了一件利器。但是,当在应用中集成jiava脚本解释器时,你必须面对一定的风险。两个主要的风险是,解释器可能
成为孤儿,或者是当你把产品装上后,你可能发现解释器的致命缺陷。大多数解释器是通过开源模型动态维护和更新的,在这种情况下,你可以向研究你所发现问题
的专家寻求帮助,给解释器打补丁,或者在未来版本中包含你需要的bug-fix(bug修理?)。这是一种安全的赌博,但并不能得到足够保证。如果你正严
肃的考虑采用某个特定的解释器,请先看看它的开发站点,看看它的代码的进化,看看上面的流言板,用户的提问都有答案否。这可以帮助你了解代码支持的实际情
况。自我保护的另一格措施是,对你准备采用的任脚本何解释器进行完全测试。一些解释器在发布时包含了一个单元测试集。在测试你的应用中集
成的解释器时,这些单元测试可以作为你的更大的测试集中的一部分。在测试解释器和应用之间的集成时,可以剔出自己的工作(you have your
work cut out for
you),因为脚本解释器有足够的弹性,并向开发人员暴露了足够的功能。你在早期向质量保证投入时间,而不是在应用已经成为产品,当用户需要急切的bug
修复时才考虑。新的竞争者列表如果你正在寻找一个脚本解释器,你有很多选择。一些解释器支持已经存在的语言,比如
Ruby, Python, JavaScript, Java和Tcl。另外一些解释器,如JudoScript,
Groovy和Pnuts,选择了它们自己的类似java的语言语法。在比较不同的解释器,需要进行的最大的选择是,那种脚本语言的语法能很好的适合你的
应用。像这种个人偏好发生作用的技术选择,可能在不同的开发人员团队引起激烈的争论。也许本文能有助于解决一些争论。我收集比较了最近发布的八种不同的脚本解释器。解释器及其版本都在下表中列出。如果你对这些解释器并不熟悉,我还给出了每种解释器功能和开发活动的概要(a thumbnail sketch)。
Tcl解释器的java实现。如果你希望在脚本中使用工具包来创建用户接口类,看看Swank工程中的包裹(wrap)java swing 工具的类集。Jacl已经存在较长时间了,并且还在持续改进。
Python解释器的java实现。我注意到的一个问题是,已经有很长一段时间没有看到这个解释器的新版本了。但在Jython的网站上,说明了改变这种现状的计划,并且有基金支持。
JavaScript解释器的java实现。它还支持把脚本编译成类文件。它的最新版本在几个月前发布,并加入了xml支持。
Ruby解释器的java实现。它正在发展中,其测试版0.8表现良好。
2.0 beta 2
它是一个java源文件解释器,正在持续的发展和加入新特性。2.0版本提供了完全的普通java源文件解释支持。
1.0 beta 9
Groovy是把Python和Ruby的特征加入java类似语法形成的,由很多令人兴奋的特征。可以把脚本直接编译成类文件,对不同的IDE,又很多Groovy插件可供选择,JSR委员会正在制定Groovy的规范。
JudoScript
它有和JavaScript类似的编程语法,学习和使用更加容易。在它的FAQ中提到了它的一个明确目标:“支持对象级,操作系统级和应用级的脚本”。我测试的0.9版运行良好。
1.1 beta 2
Pnuts有和java相似的编程语法,并保持持续更新。它可以把脚本直接编译成java类文件。
第一个指标:性能未
来测试第一项指标,我为每个解释器编写了等价的脚本代码,让他们完成简单的任务集并记录它们执行脚本所花的时间。我的测试脚本主要关注基本操作,如循环,
整数比较和大的一维、二维数组分配和初始化。用于各个解释器的测试脚本和运行它们的java程序可以在原文资源部分下载。在基准测试中最
有用的信息是,解释器完成简单任务速度的apples-to-apples比较。如果你重点考虑吞吐量,基准数将十分重要。对每种脚本语言,我尽力编写相
识的测试代码。测试使用Java1.4.2在东芝Tecra8100笔记本上运行,CPU为PIII700MHz,内存256MB。启动JVM时使用了默
认的堆尺寸。出于向你展示解释器到底有多快还是多慢的兴趣,我编写了测试用例的java代码,并在java1.4.2上运行了。测试集包括:1到1,000,000的计数1,000,000次整数相等比较分配并初始化包含100,000个元素的数组分配并初始化一个500*500的二维数组在2002年后有提高么?在
告诉你哪个解释器最快之前,我们先看看图1,这个条状图列出了很多耗时任务的结果:1百万次整数相等比较。对2002年文章中讲述的4种脚本解释器,我给
出了在Java1.3.1JVM和Java1.4.2上运行所需的时间。非常有趣的是,测试Jython时用的是同一个版本的脚本解释器,结果表明新版
JVM上速度提升了25%。在加上我使用了和前一次测试完全相同的硬件,所以可以肯定JVM1.4.2减少了运行基础测试所需的时间。现在看看
Rhino,BeanShell和Jacl发生了什么:新版Rhino在1.4.2的JVM上比在1.3.1的JVM上运行的旧版本快乐86%,Jacl
的这个数字是76%。可以看出,性能提高了很多。
四项任务的总时间由于解释器在速度方面都十分相似(至少对我的基准测试是这样),我把各解释器完成四项基准测试所耗的总时间算出来并在图2中给出。 多变的标志对
这些简单测试,Rhino,Pnuts和Jytho始终是最快的,紧跟在后面的时Groovy,然后是JudoScript,然后是其他的。这些性能参数
对你是否有用,取决于你希望脚本语言做的事情。如果你的脚本函数包含大量的迭代,并且用户要等待结果,你就需要关注速度最快的解释器,或者你就该考虑用
java实现高性能要求的算法,而不是脚本代码。如果你的脚本只需要很少的重复操作,这些解释器速度的差异就不是那么重要了,快速的硬件也会使问题变得不
同。还有一点需要指出的是,即使最快的解释器,完成上面测试所用的时间也是同样功能java代码所用时间的大约40倍。如果速度是你最主要的问题,你必须清楚,最有意义的事情是用java代替脚本代码实现关键算法。一
些脚本解释器支持脚本代码直接编译成字节码。我对这将会产生多大的性能差异非常好奇,所以我进行了另一项测试。我用Rhino脚本解释器把基准测试脚本编
译成了字节码,然后我把整个基准测试集用脚本和脚本产生的字节码分别运行了10遍。令人惊奇的是,与直接运行脚本相比,脚本码编译成字节码再运行仅仅节省
了10%的时间。我最初任务,JVM的魔咒占用了运行测试集的大部分时间,但进一步的检查发现JVM魔咒本身只占测试集运行总时间的20%。简单脚本代码
编译成字节码看起来会有积极的意义,但这并不一定是显著提高性能的银弹。也许在更长的或者,更加计算中心的脚本中,会看到不同的结果。第二个标准:集成难度第三个标准:许可证英文原文:/javaworld/jw-03-2005/jw-0314-scripting.html
····· 关键词:选择合适的java脚本语言
选择合适的java脚本语言--如果你正考虑在java应用中集成脚本解释器,最难得是决定使用那种摘要:脚本语言已经向java开发者证明了它的价值。它让客户实现应用功能的扩展和界面的个性化,从而程序的价值得以提升。另外,它们可以显著的简化程序开发者的设计任务,通过实现动态定义、装载和评估。对于开发人员,集成一种或多种脚本语言的任务是简单的,从越来越长的可选列表中选出一个确实困难的。本文描述了一些伴随java应用中脚本语言支持的问题,并从不同角度比较了Groovy, JudoScript, Pnuts, JRuby, Jacl, Jython, Rhino和Beanshell,以期能帮助读者作出正确的决定。三年前,我在javaworld写了一遍叫做“JavaScripting语言,那种是适合你的?”的文章。当我收集解释器并进行比较时,我尽量选择那些看起来满足苛刻商务需求的。理想状态下,我希望解释器能够方便的扩展应用的用户接口,并且有易读的脚本代码,高可靠,快速,有好的支持和文档,并且是完备的。在那个时候,我把列表限制到了Jacl,Jython,Rhion和BeanShell。过去的三年中发生了很多变化。可选项不再是很少的几个,不管是动态开发还是直接选择,可选的脚本语言都有一打以上。可靠的选择列表比三年前增多了,现在还包括了Groovy, JudoScript, Pnuts和BeanShell。我们还可以考虑不再这个列表中的其他解释器,但这个列表中,已经足够开发人员自己的所需了。我准备标准化所有解释器,看看Jacl, Jython, Rhion和BeanShell在2002年后性能有没有提高,并看看Groovy, JudoScript, Jruby和Pnuts同它们比较起来会怎样。我认为,看看不同脚本语言有什么独特之处,有什么特别的强项和弱点是很有意思的事情。商务风险在以前的文章里,我讲述了一些著名的优秀脚本解释器的资料,并说明了结合脚本解释器时你可能遇到的风险。本文中,我把这些内容简化为一些要点,并根据我在写那些文章之后的经验进行了改进。Java脚本解释器的优点是毋庸置疑的。使用脚本语言编码比使用java简单;脚步语言使程序的应用逻辑和用户界面的推动(drive/驱动?)和扩展成为可能;脚本代码可以违反java应用中类接口而运行,这是非常强大的功能。这样可以容易的编写程序测试驱动(write test drivers against your program),与编码并编译用于java类的单元测试相比,这是更加快速的。另外,如果用户花时间使用脚本扩展你的应用,他们就作你的工具上进行了投资,这使得你在竞争中多了一件利器。但是,当在应用中集成jiava脚本解释器时,你必须面对一定的风险。两个主要的风险是,解释器可能成为孤儿,或者是当你把产品装上后,你可能发现解释器的致命缺陷。大多数解释器是通过开源模型动态维护和更新的,在这种情况下,你可以向研究你所发现问题的专家寻求帮助,给解释器打补丁,或者在未来版本中包含你需要的bug-fix(bug修理?)。这是一种安全的赌博,但并不能得到足够保证。如果你正严肃的考虑采用某个特定的解释器,请先看看它的开发站点,看看它的代码的进化,看看上面的流言板,用户的提问都有答案否。这可以帮助你了解代码支持的实际情况。自我保护的另一格措施是,对你准备采用的任脚本何解释器进行完全测试。一些解释器在发布时包含了一个单元测试集。在测试你的应用中集成的解释器时,这些单元测试可以作为你的更大的测试集中的一部分。在测试解释器和应用之间的集成时,可以剔出自己的工作(you have your work cut out for you),因为脚本解释器有足够的弹性,并向开发人员暴露了足够的功能。你在早期向质量保证投入时间,而不是在应用已经成为产品,当用户需要急切的bug修复时才考虑。新的竞争者列表如果你正在寻找一个脚本解释器,你有很多选择。一些解释器支持已经存在的语言,比如Ruby, Python, JavaScript, Java和Tcl。另外一些解释器,如JudoScript, Groovy和Pnuts,选择了它们自己的类似java的语言语法。在比较不同的解释器,需要进行的最大的选择是,那种脚本语言的语法能很好的适合你的应用。像这种个人偏好发生作用的技术选择,可能在不同的开发人员团队引起激烈的争论。也许本文能有助于解决一些争论。我收集比较了最近发布的八种不同的脚本解释器。解释器及其版本都在下表中列出。如果你对这些解释器并不熟悉,我还给出了每种解释器功能和开发活动的概要(a thumbnail sketch)。
Tcl解释器的java实现。如果你希望在脚本中使用工具包来创建用户接口类,看看Swank工程中的包裹(wrap)java swing 工具的类集。Jacl已经存在较长时间了,并且还在持续改进。
Python解释器的java实现。我注意到的一个问题是,已经有很长一段时间没有看到这个解释器的新版本了。但在Jython的网站上,说明了改变这种现状的计划,并且有基金支持。
JavaScript解释器的java实现。它还支持把脚本编译成类文件。它的最新版本在几个月前发布,并加入了xml支持。
Ruby解释器的java实现。它正在发展中,其测试版0.8表现良好。
2.0 beta 2
它是一个java源文件解释器,正在持续的发展和加入新特性。2.0版本提供了完全的普通java源文件解释支持。
1.0 beta 9
Groovy是把Python和Ruby的特征加入java类似语法形成的,由很多令人兴奋的特征。可以把脚本直接编译成类文件,对不同的IDE,又很多Groovy插件可供选择,JSR委员会正在制定Groovy的规范。
JudoScript
它有和JavaScript类似的编程语法,学习和使用更加容易。在它的FAQ中提到了它的一个明确目标:“支持对象级,操作系统级和应用级的脚本”。我测试的0.9版运行良好。
1.1 beta 2
Pnuts有和java相似的编程语法,并保持持续更新。它可以把脚本直接编译成java类文件。
第一个指标:性能未来测试第一项指标,我为每个解释器编写了等价的脚本代码,让他们完成简单的任务集并记录它们执行脚本所花的时间。我的测试脚本主要关注基本操作,如循环,整数比较和大的一维、二维数组分配和初始化。用于各个解释器的测试脚本和运行它们的java程序可以在原文资源部分下载。在基准测试中最有用的信息是,解释器完成简单任务速度的apples-to-apples比较。如果你重点考虑吞吐量,基准数将十分重要。对每种脚本语言,我尽力编写相识的测试代码。测试使用Java1.4.2在东芝Tecra8100笔记本上运行,CPU为PIII700MHz,内存256MB。启动JVM时使用了默认的堆尺寸。出于向你展示解释器到底有多快还是多慢的兴趣,我编写了测试用例的java代码,并在java1.4.2上运行了。测试集包括:1到1,000,000的计数1,000,000次整数相等比较分配并初始化包含100,000个元素的数组分配并初始化一个500*500的二维数组在2002年后有提高么?在告诉你哪个解释器最快之前,我们先看看图1,这个条状图列出了很多耗时任务的结果:1百万次整数相等比较。对2002年文章中讲述的4种脚本解释器,我给出了在Java1.3.1JVM和Java1.4.2上运行所需的时间。非常有趣的是,测试Jython时用的是同一个版本的脚本解释器,结果表明新版JVM上速度提升了25%。在加上我使用了和前一次测试完全相同的硬件,所以可以肯定JVM1.4.2减少了运行基础测试所需的时间。现在看看Rhino,BeanShell和Jacl发生了什么:新版Rhino在1.4.2的JVM上比在1.3.1的JVM上运行的旧版本快乐86%,Jacl的这个数字是76%。可以看出,性能提高了很多。
四项任务的总时间由于解释器在速度方面都十分相似(至少对我的基准测试是这样),我把各解释器完成四项基准测试所耗的总时间算出来并在图2中给出。 多变的标志对这些简单测试,Rhino,Pnuts和Jytho始终是最快的,紧跟在后面的时Groovy,然后是JudoScript,然后是其他的。这些性能参数对你是否有用,取决于你希望脚本语言做的事情。如果你的脚本函数包含大量的迭代,并且用户要等待结果,你就需要关注速度最快的解释器,或者你就该考虑用java实现高性能要求的算法,而不是脚本代码。如果你的脚本只需要很少的重复操作,这些解释器速度的差异就不是那么重要了,快速的硬件也会使问题变得不同。还有一点需要指出的是,即使最快的解释器,完成上面测试所用的时间也是同样功能java代码所用时间的大约40倍。如果速度是你最主要的问题,你必须清楚,最有意义的事情是用java代替脚本代码实现关键算法。一些脚本解释器支持脚本代码直接编译成字节码。我对这将会产生多大的性能差异非常好奇,所以我进行了另一项测试。我用Rhino脚本解释器把基准测试脚本编译成了字节码,然后我把整个基准测试集用脚本和脚本产生的字节码分别运行了10遍。令人惊奇的是,与直接运行脚本相比,脚本码编译成字节码再运行仅仅节省了10%的时间。我最初任务,JVM的魔咒占用了运行测试集的大部分时间,但进一步的检查发现JVM魔咒本身只占测试集运行总时间的20%。简单脚本代码编译成字节码看起来会有积极的意义,但这并不一定是显著提高性能的银弹。也许在更长的或者,更加计算中心的脚本中,会看到不同的结果。第二个标准:集成难度第三个标准:许可证英文原文:/javaworld/jw-03-2005/jw-0314-scripting.html
发表评论:
馆藏&18954
TA的最新馆藏面向对象编程的脚本语言有哪些?它们之间的区别是什么呢?哪种容易上手,新手学习,求指教。。_百度知道
面向对象编程的脚本语言有哪些?它们之间的区别是什么呢?哪种容易上手,新手学习,求指教。。
我有更好的答案
java,c#,C
C++ JAVA VB C# 易语言 ,还有一些这些事主要的!
其他类似问题
为您推荐:
面向对象编程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁LoadRunner是什么脚本语言?
LoadRunner是一个内涵丰富,功能强大的性能测试工具,这是许多专业人士选择它的原因.初学者面对许多的性能测试概念和LoadRunner专业术语,常常感到无所适从,这是因为LoadRunner作为软件性能测试的实现者,涉及了软件测试及软件体系架构众多方面的知识.可以说,学习LoadRunner是理解和学习软件性能测试的非常好的切入点.\x0d数据库中产生并发的冲突的原因?不要太依靠于LoadRunner工具本身的学习,而去忽略计算机其它基础知识的学习,我们更应该去把握一门编程语言,良好的网络基础知识,计算机原理与操作系统知识,数据库知识.这些是 ... LoadRuner与性能测试的关系:LoadRunner初学者的误点:把LoadRunner神化了.很多初学LoadRunner的朋友认为掌握了使用LoadRunner这款性能测试工具,就能够做性能测试了.常在网上看到好多人在学习怎么去使用这款优秀的性能测试工具,本来学习怎么去使用LoadRunner这个工具没有错,却把LoadRunner神化了,”天真的”以为它什么都能做,以为学会了LoadRunner的使用就能做性能测试了.尽管用了大量的时间学会了如何使用LoadRunner录制脚本,如何进行关联,如何进行参数化,如何设置集合点等等?可到头来,性能测试还是不会做.为什么? 对于产生的性能报告不知道怎么去分析?不知道如何利用得到的分析报告分析出系统存在的瓶颈?不知道如何进行性能调优?像这些事光会使用LoadRunner是做不到的?说白了LoadRunner只是我们做性能测试的一个工具,它并不是万能的,是死的,具体怎么做还得依靠人去操作与分析.会使用LoadRunner的人,并不一定会做性能测试,会做性能测试的人并不一定都会使用LoadRunner.LoadRunner只是一个性能测试工具而已.我们应该意识到,测试工具只是性能测试中的一部分,仅是为达到性能测试目的而采用的一种手段.性能测试与系统性能的关系:高性能,高安全的系统,不是测试出来的,而是构架,设计,编写出来的.当然在这里我并不否认性能测试的重要性,甚至可以说没有经过性能测试的系统,一定不会是优秀的系统,软件是人开发出来的,而人总是会出错的,所谓智者千虑,必有一失……要想做好性能测试,在软件系统需求,设计,编写代码的这些阶段就应该进行性能测试,而不仅仅是系统测试这个阶段才去做性能测试,性能测试应该贯穿于整个软件开发周期中.对初学LoadRunner朋友的建议:常看到网上一些网友发贴子问,怎么对性能测试产生的结果进行分析?测试系统时怎么去选择合适的协议?对于发这些贴子的人我想请问你?你能够详细的说下HTTP协议吗?TCP建立连接和释放连接的过程是怎样进行的?什么是协议?协议是用来做什么的?在OSI参考模型中各层的作用?数据库中产生并发的冲突的原因?不要太依赖于LoadRunner工具本身的学习,而去忽略计算机其它基础知识的学习,我们更应该去掌握一门编程语言,良好的网络基础知识,计算机原理与操作系统知识,数据库知识.这些是我们去学习怎么去使用LoadRunner前提与基础..1、为什么要掌握一门编程语言 其一,大家在使用LoadRunner时常会遇到一些不能录制脚本的情况发生,或者需要录制一些复杂的脚本,这时候我们就必须手动的开发脚本.其二LoadRunner虽然强大,易于使用,可是它却属于商业软件,价格昂贵,并且代码不开源,我们无法了解LoadRunner具体的实现细节,甚至我们会怀疑LoadRunner收集的性能数据准确吗?它有是如何实现的等等,而这些我们通过LoadRunner的帮助文档无法得知.性能测试工具并不只有LoadRunner,做性能测试还有许多优秀的性能测试工具可以选择,像JMeter,Curl-Loader等等这些非常优秀的开源工具,在全能上虽然并不上 LoadRunner,但在某些方面却比LoadRunner还要强大.例如Curl-Loader这个工具,它虽然支持的协议不多,但是对于http协议它最高能产生10万的并发用户,这是LoadRunner远远所不及的.并且这些工具代码是公开的,我们能够从这些代码中去分析具体实现的细节,并且还可以自已编写代码,增强软件的功能,这也是成为性能测试高手的一条途径.LoadRunner好比我们的Windows操作系统,易于使用,功能强大,代码封闭,论全能比Linux要强大.我们的开源性能测试工具好比Linux操作系统代码开源,不易于使用,但很多方面比我们的Windows要强大.也许这个时候有人会问对于初学者学哪门语言最好最有前途C,C++,VB,JAVA,C#?其实每一种语言能够生存下来,自有其生存的道理,每一种语言都有自已优势和缺点,并且编程语言具有相通信,学好了一门,再去学另外的编程语言,非常快就能上手.对于初学者我建议学习C语言,理由有很多,例如很多优秀的开源性能测试工具就是用C语言开发的….当然不管选择什么编程语言,或者数据库,或者操作系统,我们不要去想学哪门最好,学哪方面最有前途.我们更应该结合自身的情况,选择最合适的,而不是选择最好的.2、为什么要掌握计算机原理和操作系统知识 论坛上常会看到这些问题?LoadRunner中线程与进程的关系?在什么时候用到它们,怎么区别用线程还是进程呢?LoadRunner录制产生了乱码怎么解决?怎么去发现内存泄漏?对那些发贴问这些问题的朋友,我依然想请问你你知道进程和线程的概念吗?知道进程有几种状态吗?知道进程间的通信是怎么进行的吗?死锁,进程与线程的区别这些概念你明白吗?如果你连内存的概念,内存的作用,内存泄露的概念都搞不清楚,你怎么去发现内存泄露?如果这些你都不知道,自然就不知道怎么去做性能测试分析?一些网友录制脚本常常会产生一些莫名奇妙的错误?还震震有词的说这是LoadRunner的原因.其实要说到底要解决这些问题就必需得有良好的计算机原理和操作系统知识.弄清了进程和线程的区别,你自然就明白了使用进程资源使用高,但安全性要强于线程,线程资源利用率少,使用线程能在一个负载生成器上运行更多的Vuser,但可能存在安全问题.LoadRunner录制产生了乱码怎么解决?为什么会产生乱码,你知道什么是字符集吗?什么是编码吗?字符串在我们内存中有是如何存放的?ASCII编码,ANSI编码,UNICODE编码它们的区别是什么?这些都是操作系统的基础基础.掌握好了这些你自然明白LoadRunner中产生乱码的原因.当然计算机原理和操作系统的基础知识还有很多得掌握的知识.像操作系统的体系架构、操作系统的重要基础概念,内存管理、存储/文件系统、驱动/硬件的管理.要做好性能测试计算机原理和操作系统知识必不可少.4、为什么要掌握数据库知识 数据库的重要性我想是不言而喻的,性能测试产生的一个非常大的原因是因为数据大集中的趋势,测试从某种意义来讲就是对数据测试,而我们企业的核心数据是放在数据库中的.现在大型的WEB应用程序,都采用多层结构,像典型三层,用户界面层,数据逻辑层,数据层.而数据层,而数据层对我们整个WEB应用程序的性能是非常大的,对数据库的基础知识不懂,我们怎么去进行性能测试分析?怎么知道确定性能产生的瓶颈是否是数据库的原因,如何对系统进行调优?例如数据库模型设计不合理,一条坏的SQL语句就能影响到整个WEB应用程序的性能,所以熟悉SQL语句,建表,索引,存储过程,事务,触发器,并发等这些基础知识是必需得掌握的.
为您推荐:
其他类似问题
扫描下载二维码

我要回帖

更多关于 脚本错误是什么意思 的文章

 

随机推荐