1. myeclipse和debug调试

1)myeclipse重命名

包和类,方法,字段的重命名

重构,refactor-rename

方法,右键refactor-rename,按回车就重命名

Alt+Shift+s快速生成代码

当前搜索ctrl+f

全局搜索 search 整个工作空间上的关键字Ctrl+H

知道filesearch

2)myeclipse代码模板

Alt+/代码模板

windows-prefenrences-general-editors代码模板

修改servlet模板

eclipse.wizards,知道jar包

3)myeclipse 文件的打开方法是加载项

windows-prefenrences-general-editors-file

修改myeclipse 加载项

windows-prefenrences-general-startupand shutdown

4)JUnit单元测试

使用JUnit进行单元测试,用来测试一个方法,测试一个类的功能

取代main方法快速进行测试

@Test测试执行单个方法

@Ignore

@Before每个测试方法指向前都会执行一次

@beforeClass 一次执行动作执行一次,方法是静态

@AfterClass

5)assert断言

断言:就是检查判断,是实现自动化测试的轻量级方案

断言只在测试中使用,相当于if判断

为了方便调试程序,java提供一个关键字assert断言,用来确保一个表达式为true,但java在执行的时候默认是不启动断言检查的,现在的IDE工具默认也没有启动断言检查,不推荐使用,推荐使用JUnit的Assert断言类代替

org,junit.Assert 断言类的静态方法

asserEquals(expected,actual)

asserNull(object)对象

asserNotNull(object)对象

asserTrue(condition)表达式

asserFalse(condition)表达式

myeclipse_debug程序调试

debug视图

代码主窗口:代码视图

添加断点,看见程序执行到哪一步

线程方法调用堆栈窗口

变量窗口

断点窗口

watch窗口:查看变量的值,表达式的值

右击,添加行号;断点只能加在方法里面的代码上;

方法的进入,方法的跳出,方法的执行堆栈

debug流程

1.确定在那个地方添加断点

先阅读错误信息,找到异常在那句自己的代码上抛出,把断点加在这句代码前面

没法阅读错误信息,没法确定异常在哪抛出,则在自己写的代码第一局加断点

如果有main方法,就在main方法的第一局加断点

如果是servlet,就在自己写的servlet的第一句加断点

2.确定程序在那句自己写的代码上抛出异常

一般都可以通过错误信息找到出错的代码

如果没找到,就从最开始一步一步的控制程序往下执行,知道程序突然出现异常信息,就知道当前行代码出的错

如果出错的是自己写的代码,还可以进入这个方法内部,看看到底是那句代码出错

3.查看出错前各个变量的值

大部分错误都是由于变量的值不正确导致的

4.解决错误

针对错误原因的代码修改

修改后运行代码,还有一场,就再进行调试

java 深入技术一的更多相关文章

  1. Java数据库连接技术——JDBC

    大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...

  2. java 深入技术八(内省)

    1. javabean的软件设计思想 2.内省:封装了java反射,提供直接操作属性的Setter和getter方法的方法 3.核心API:BeanInfo java 的描述信息,Introspect ...

  3. (转)java缓存技术,记录

    http://blog.csdn.net/madun/article/details/8569860 最近再ITEYE上看到关于讨论JAVA缓存技术的帖子比较多,自己不懂,所以上网大概搜了下,找到一篇 ...

  4. paip.java 架构师之路以及java高级技术

    paip.java 架构师之路以及java高级技术 1.    Annotation 设计模式... 概念满天飞.ORM,IOC,AOP. Validator lambda4j memcache. 对 ...

  5. 深入分析Java Web技术内幕(修订版)

    阿里巴巴集团技术丛书 深入分析Java Web技术内幕(修订版)(阿里巴巴集团技术丛书.技术大牛范禹.玉伯.毕玄联合力荐!大型互联网公司开发应用实践!) 许令波 著   ISBN 978-7-121- ...

  6. Java序列化技术与Protobuff

    http://www.cnblogs.com/fangfan/p/4094175.html http://www.cnblogs.com/fangfan/p/4094175.html 前言: Java ...

  7. Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC

    Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC 博客分类: Java/Security Javabase64macmd5sha     加密解密,曾经是我一 ...

  8. 深入分析Java Web技术(1)

    BS网络模型的基本过程: 当我们在浏览器中输入"www.google.com"的时候,首先会请求DNS服务器对域名进行解析成都应的IP地址,然后根据这个IP地址在互联网上找到谷歌的 ...

  9. Java分布式应用技术架构介绍

    分布式架构的演进 系统架构演化历程-初始阶段架构

  10. Java Web技术总结(目录)

    来源于:http://www.jianshu.com/p/539bdb7d6cfa Java Web技术经验总结(一) Java Web技术经验总结(二) Java Web技术经验总结(三) Java ...

随机推荐

  1. ReactNative新手学习之路04 组件化开发轮播图swiper支持安卓和IOS

    react native 新手之路04 组件化开发轮播图swiper支持安卓和IOS npm install react-native-carousel --save git 地址Properties ...

  2. 云计算之路-阿里云上:13:43-13:44之间RDS故障影响了全站的正常访问

    抱歉!13:43-13:44之间,由于阿里云RDS(云数据库)出现2分钟突发故障,影响了全站的正常访问,给大家带来了麻烦,望大家谅解! 故障期间,应用程序日志中记录的错误信息如下: System.Da ...

  3. RapidJSON 代码剖析(二):使用 SSE4.2 优化字符串扫描

    现在的 CPU 都提供了单指令流多数据流(single instruction multiple data, SIMD)指令集.最常见的是用于大量的浮点数计算,但其实也可以用在文字处理方面. 其中,S ...

  4. 恢复 Windows 7 的“回到父目录”按钮

    Windows 7 使用以来很多方面一直不习惯,特别是让我无比纠结的”回到父目录“ 按钮从资源管理器中消失了. 不能不说这是一个失败! 很多时候,Win 7 地址栏中自以为是的显示的很多层目录层次的面 ...

  5. 匿名内部类与equals之学习要扎实

    匿名内部类是胡哥给我上的第一节课,他一直在不断强调着“逻辑与思维”的重要性, 遇到问题不能用“不知道和没学过”去逃避它,所有的不知道和没教过都源自于没见过,一定要学会去看源代码,不要人云亦云..... ...

  6. 【51Nod 1622】【算法马拉松 19C】集合对

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1622 简单题..直接暴力快速幂 #include<cstdio&g ...

  7. bzoj1189

    1189: [HNOI2007]紧急疏散evacuate Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2321  Solved: 724[Submi ...

  8. 【bzoj1085】 SCOI2005—骑士精神

    http://www.lydsy.com/JudgeOnline/problem.php?id=1085 (题目链接) 题意 给出一个初始局面,问能否在15步内走到最终局面,并输出最少步数. Solu ...

  9. Zabbix监控mysql主从复制状态

    原理 mysql slave show slave status\G 在输出信息中查看I/O线程和SQL线程的状态值(YES为正常,NO为错误) Slave_IO_Running: Yes Slave ...

  10. Graphics绘图闪烁的问题

    加入获取的boardPanel.CreateGraphics()时候 用这个g去g.Clear(BackColor);时候会闪烁. 解决办法:  在绘图的时候 用 绘图的image的Graphics. ...