20165233 实验一 Java开发环境的熟悉

实验要求

1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程;

2.完成实验、撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等);

3.实验报告中统计自己的PSP(Personal Software Process)时间:

步骤 耗时 百分比
需求分析 5min 8.3%
设计 15min 25%
代码实现 30min 50%
测试 5min 8.3%
分析总结 5min 8.3%

4.严禁抄袭。

实验内容:

1.使用JDK编译、运行简单的Java程序;
2.使用IDEA 编辑、编译、运行、调试Java程序。

实验步骤

实验一 Java开发环境的熟悉-1

  • 建立有自己学号的实验目录。
  • 通过vim Hello.java编辑代码。
  • 编译、运行Hello.java代码。

实验一 Java开发环境的熟悉-2

  • 新建HelloJDB类
  • 单步调试、设置断点

① Step Over:程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)

② Step Into:程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)

③ Force Step Into:进入任何方法

④ Step Out:如果在调试的时候进入了一个方法,并觉得该方法没有问题,就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。

⑤ Run to Cursor:将程序运行到光标处。

  • 设置条件断点

实验一 Java开发环境的熟悉-3

练习题目:实现求两个数的最大公约数和最小公倍数的功能,数从命令行输入,并进行测试(正常情况,异常情况,边界情况)。

通过命令行实现

  • 正常情况

  • 边界情况

下边界

上边界

  • 异常情况

通过IDEA实现

  • 正常情况

  • 边界情况

  • 异常情况

  • 断点调试

实验中遇到的问题

  • 我在通过命令行运行与IDEA运行得到不一样“异常情况”运行的结果。例如:我输入-61与-8,由于我在程序里设计了“如果输入值小于0就将最大公因子与最小公倍数的值返回-1”,所以在IDEA中,就会得到(-61,-8)=-1,[-61,-8]=-1的结果;而在终端里就会返回如下图的结果:

  • 解决办法:在程序运行后出现Exception in thread "main" java.lang.StackOverflowError的报错,是java栈的内存溢出的结果。此内存溢出说明,java栈的设置太小,我们可以借助-Xss这个参数模拟一下此异常,-Xss是用来设置栈的大小。

  • 分析:这是第一次遇到此类问题,但利用-Xss是来设置栈的大小,是要依据电脑来进行修改,有可能会更改出更大的bug,所以尽量利用IDEA来进行运行,对于程序的包容性也要更加注意,思考编写出更加全面的程序。

20165233 实验一 Java开发环境的熟悉的更多相关文章

  1. 20145205 实验一 Java开发环境的熟悉

    实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) 实现凯撒密码,并进行测试 实验要求 使用JDK编译 ...

  2. 实验一 Java开发环境的熟悉

    实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...

  3. 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...

  4. 实验一Java开发环境的熟悉

    实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...

  5. 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)

    20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...

  6. 20145208实验一 Java开发环境的熟悉

    20145208实验一 Java开发环境的熟悉 使用JDK编译.运行简单的java程序 命令行下程序开发 在命令行下建立实验目录,然后创建并进入该目录后的子目录. 编译并运行一个代码 使用IDEA 编 ...

  7. 实验一 Java开发环境的熟悉(Linux + Eclipse)

    学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...

  8. 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然

    https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...

  9. 2018-2019-2 实验一 Java开发环境的熟悉

    实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与区别: 2. 命令行运行javac:ja ...

随机推荐

  1. thinkphp3.2笔记(4)模板函数的使用 foreach标签

    一  模板函数的使用 1.代码 效果: 函数会按照从左到右的顺序依次调用.如果你觉得这样写起来比较麻烦,也可以直接这样写:{:substr(strtoupper(md5($name)),0,3)} 默 ...

  2. angular大牛的博客

    对angular的了解比亲娘还了解,http://each.sinaapp.com/angular/index.html 对angular比较深入的研究,这个人的所有博客都值得一看,这是7. http ...

  3. dva subscription的使用方法

    import { routerRedux } from 'dva/router' export default { namespace: 'notice', state: { notices:[], ...

  4. IEnumerable<T> 接口和GetEnumerator 详解

    IEnumerable<T> 接口 .NET Framework 4.6 and 4.5   公开枚举数,该枚举数支持在指定类型的集合上进行简单迭代. 若要浏览此类型的.NET Frame ...

  5. 解决Myeclipse闪退问题

    才安装好Myeclipse就出了问题,打开之后没过多久就自动退出了,看了好多解决方法都无效,后来才找到正确路径,转载过来方便跟我遇到同样问题的小伙伴,尽快解决 转载自:http://blog.csdn ...

  6. 004PHP文件处理——目录操作:glob rewinddir opendir readdir

    <?php /** * 目录操作:glob rewinddir opendir readdir */ //glob 以数组形式返回,参数1这个目录的所有内容,可以置顶返回的具体类型 //只遍历输 ...

  7. java之double类型数值的比较

    先看demo: public class L26 { /** * @param args */ public static void main(String[] args) { // TODO Aut ...

  8. Tomcat : Invalid character found in the request target

    Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC ...

  9. (转)Web系统大规模并发——电商秒杀与抢购

    电商的秒杀和抢购,对我们来说,都不是一个陌生的东西.然而,从技术的角度来说,这对于Web系统是一个巨大的考验.当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要.这次我们 ...

  10. test20181029 宝藏

    题意 分析 考场做法 一眼看出是支持换根的树形dp. 用\(f(x,0/1)\)表示x及其子树中,从x出发,不一定/一定回到x的最大收益. 然后子树很好做. 换根的时候,我先计算后还原,需要考虑很多, ...