Java语言程序调试技巧和多线程问题研究.doc

Java语言程序调试技巧和多线程问题研究.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java语言程序调试技巧和多线程问题研究

Java语言程序调试技巧和多线程问题研究   摘要:在java语言程序的开发过程中经常会伴随着多次的修改调试。本文归纳总结java语言学习及程序调试中常用技巧,分析调试过程中的常见错误,以促进程序员编写正确的程序,提高编程能力。 关键词:JAVA语言 技巧 程序调试 多线程 中图分类号:TP312 文献标识码:A 文章编号:1007-9416(2013)01-0200-01 Java是一种应用于互联网的分布式环境的编程语言。Java语言易于使用,而且在编程时采用“以对象为导向”的方式。它可以应用于一台单独的电脑上,也可以应用于分布在一个网络的服务器端和客户端。 1 JaVa语言学习常见技巧 (1)勤动手:学编程语言要达到心领神会、融会贯通就必须勤动手。成功的软件开发人员无不经过大量的上机锻炼,只有理论和实践相结合才能真正掌握编程技能。 (2)多动脑:对于Java语言的学习,建议从一开始就用面向对象的思维方式去面对你所接触的每件事。 (3)阅读API文档:Java中的“类”用以满足网络化、多线程、面向对象的需要,它是Java编程过程中不断利用的资源。Java的学习更多的是去学习和掌握它所提供的API类库。对于所接触到的类、方法,需要仔细去阅读文档的说明,再用自己编写的实例去验证。 (4)规范编码习惯:一个好的编程结构应该是能预防错误的发生,对错误的预见和错误出现以后的错误处理与异常处理的良好安排。经验丰富的程序员,需要良好的编码格式规范,而且程序中的逻辑实现要有一种良好的结构。 (5)定义有意义类名:养成为每个类、每个方法起一个有意义的名字。在程序阅读的过程中,看到这个名字就可以知道它要实现的功能。 (6)添加适量注释:注释提高程序的可读性和可维护性。作为一个软件产品,其中不同的变量及方法可能很多,合理的注释提高程序可读性和维护性。 2 Java程序调试常用技巧 程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程[1]。调试可以帮助识别和解决应用程序缺陷。 (1)先简后繁:先使用一个boolean量,如:debugMode,需要看看程序的输出时可以使用:if(debugMode)System.out.println(”..”);在项目完毕后把debugMode变量设为false。 (2)自顶向下:出现错误时,要逐步缩小可能出现错误的范围,从整个程序到指定函数,再到指定行。如:Java-Ddebug=true MyClass,在使用这种方法时,必须在你所有的class中添加System.getProperty(”debug”)来取得调试标志,这样在不更改source code的情况下可以直接修改Java程序调试标志。当错误比较麻烦时,可以定义一个用于调试的类。这样对于一个application(Test)可以进行调用:boolean debug=DebugManager.getSystemDebug(applicationKey); 要打开Test的调试功能,只需:java -DTest.Debug=true Test 当然这个类可以进行进一步扩展,比如将其变为日志管理,控制调试信息的输出位置等 (3)设置断点:断点是程序运行中中断的地方,旨在开发者在程序运行过程中查看程序当前的运行状态。可以在测试时启用断言验证,而在部署时禁用断言验证。a.条件断点。加一个布尔条件,该断点会被激活,条件为真,就会执行该断点,否则将会跳过往下执行。b.异常断点。程序在遇到空指针异常(NullPointerException)时,添加一个异常断点,可以继续调试程序。 (4)单步执行程序:追踪类里面的方法体的整个执行过程,不需要设置断点就可以停止一个GUI程序的执行。设置断点后在调试器里面开始执行程序,当碰到第一个断点后,可以进入方法体或类体,也可以继续运行直到下一个断点或程序结束。 3 Java应用程序常见多线程问题 Java编程语言的多线程简单有效,比其他语言更容易实现。Java程序包括客户端和服务器端。常见的多线程问题包括活锁、死锁、隐性死锁和数据竞争。 (1)活锁:当一个线程忙于接受新任务以致它永远没有机会完成任何任务时,就会发生活锁。这个线程最终将超出缓冲区并导致程序崩溃。试想一个秘书需要录入一封信,但她一直在忙于接电话,所以这封信永远不会被录入。 (2)死锁。当一个线程需要一个资源而另一个线程持有该资源的锁时,就会发生死锁。如何发现问题并解决之。1)防止死锁的方法是对竞争的资源引入序号,如果一个线程需要几个资源,那么它必须先得到小序号的资源,再申请大序号的资源。

文档评论(0)

docman126 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档