课程:《程序设计与数据结构》
班级: 1823
姓名: 华罗晗
学号:20182308
实验教师:王志强
实验日期:2019年9月9日
必修/选修: 必修
1.实验内容
- 基于命令行和IDE(Intellj IDEA 简易教程](http://www.cnblogs.com/rocedu/p/4421202.html)进行简单的Java程序编辑、编译、运行和调试。(本次实验主要使用命令行的方式)
- 练习Linux基本命令;
- 学习Java程序的JDB调试技能:https://www.cnblogs.com/rocedu/p/6371262.html
- 编写简单的Java程序。
2. 实验过程及结果
1、编写一个Java程序(此处引用单步调试教程中代码)
运行结果是这样的:
也就是图中的11 和 4950。
2、单步调试
(1)编译程序
javac -g -d bin ~/src/filename.java
(2)进入调试环节
jdb -classpath .:./bin filename
注:本人在实验中没有把代码放在bin文件夹中(放在20182308IZUMO/exp1 中),文件名也不叫filename(叫HelloJDB.java)
(3)调试过程(在list指令下)
3、将代码git push到码云上。
(1)如上面提到,我将exp1文件夹放在了码云克隆的文件夹20182308IZUMO下。
(2)git add . ,将程序代码上传到仓库中
(3)git commit -m "exp1" ,将上传的文件夹注释为实验一
(4)git push
3. 实验过程中遇到的问题和解决过程
问题1:在调试过程中,敲入run命令直接退出调试。
解决过程:发现问题在于我执行
jdb -classpath .:./bin filename
命令的时候,没有在HelloJDB.class所在的文件夹下运行,就会出错。但是如果在.class所在的文件夹下操作的时候,.java格式文件不在相同文件夹下的话同样无法运行。因此要么把.java文件和.class文件放在一个目录下,要么就使用use 指向 .java文件所在的位置。
问题2:无法git。
解决过程:已经在第一周的学习总结当中花一定篇幅提到。先后出现了两个问题:1、没有进入(仓库)的权限,2、无法进入仓库。
(1)被教程误导,在git clone的时候使用了ssh地址。这种地址的安全系数高一点,因此使用这种地址还需要设置公钥。作业代码不需要多少安全系数,直接使用http地址就会减少很多麻烦。
(2)无法进入仓库,git push指令无法成功运行。问题在于我没有在github关联的仓库下进行操作,以及我改动了这个关联仓库的信息(改名或删除该文件夹)。我重新进行了一次clone操作,在页面上设置地址名的时候也考虑到linux系统运行,我把仓库名命名为了一个方便本人记忆、区分并且对于linux系统命令页面合法的文件夹名(20182308IZUMO)。
其他
感悟
1、Linux操作环境虽然有很多不习惯的地方,但是一边进行操作一边摸索依旧可以取得较大成就。如果对于抽象的指令操作无法理解,可以适当借用图标操作帮助理解。
参考资料
1、使用JDB调试JAVA程序