20165234 [第二届构建之法论坛] 预培训文档(Java版) 学习总结
[第二届构建之法论坛] 预培训文档(Java版) 学习总结
我通读并学习了此文档,并且动手实践了一遍。以下是我学习过程的记录~
Part1.配置环境
配置JDK
原文中提到了2个容易被混淆的概念 JDK 与 JRE,在此温习一下:
JDK全称为 Java Development Kit,Java程序的开发人员必须安装;JRE全称为Java Runtime Environment,它只是Java程序的一个运行环境。
JDK中一般已经带了JRE包,所以我们只需要下载JDK并安装配置即可。
由于我之前已经完成了在windows平台下安装JDK软件,以及设置系统环境变量,就不必再次安装和配置了。
但是我总结了下几个需要注意的地方:
1. 在新建系统变量JAVA_HOME时的变量值需正确

2. 为Path添加新值%JAVA_HOME%\bin之后紧接着是英文的封号

下载安装IDEA
下载界面如下:

下载好的IDEA,可以正常使用。

Part2.克隆项目
在此前的学习当中,我们都是在运用码云平台。早闻Github大名,这次可是个绝好的机会来上手操作感受一下~
在 https://github.com/join 这个网址处申请注册一个 Github 账号。我以我的学号 作为用户名,邮箱为自己的常用邮箱。注册成功:

成功登录后,输入阿超仓库的网址,点击右上角的 Fork,将阿超的四则运算库拷贝到自己的同名仓库中。
拷贝成功后,如下图所示:

之前已经安装了Git软件,于是我直接进行下一步~在文件夹里空白处右键打开Git Bash,输入 git clone 以及项目地址:

目录下出现一个与仓库同名的文件夹【Calculator】,这就是克隆到本地的项目。
进入项目文件夹,新建一个文件夹,重命名为我的 Github 账号名 。

接下来是以 Github 账号命名的文件夹作为项目目录,在 IntelliJ IDEA 中新建一个工程。
在工程的项目目录中应该会出现一个src文件夹,文件夹中有 Main.java 文件。接着,用克隆项目 src 文件夹下的 Main.java 替换默认的 Main.java 文件。
代码成功运行~其中第一行是一个四则运算式,第二行则是该四则运算式的计算结果。
截图如下:

点击菜单中的 【File】,进入【Project Structure】,查看默认的各种参数设置。
包括 SDK(JDK设置默认为1.8),Language level 选择 8,最下方的 Compiler output 是编译产生 class 文件的存放位置。

接下来使用 git add,git commit -m "Message"以记录下所有的改动:

老师总结了一些常见的 Git 操作,我也放到这里,以便以后学习参考!
$ git clone [url] 下载一个项目以及它所有的版本历史
$ git add [file] 将文件进行快照处理用于版本控制
$ git commit -m"[descriptive message]" 将文件快照永久地记录在版本历史中
$ git push 上传当前本地分支 commit 到 GitHub 上
$ git pull 下载服务器上最新的本部并合并更改到本地
$ git reset [commit hash] 撤销所有 [commit hash] 后的的 commit,在本地保存更改
$ git log 列出当前分支的版本历史
Part3.单元测试
选择File->Setting打开设置对话框。在设置对话框中选择Plugins, 单击Install JetBrains plugin...按钮打开插件安装界面:

由于我之前已经安装过Junit,所以继续下面的步骤:
点击 Solve 方法名,单击类名,左侧会出现一个灯泡状图标,单击图标或按Alt + Entert,在弹出的菜单中选择Create Test(或者可以右键点击 GoTo -> Test,Create Test)
点击 Fix 引入 JUnit 测试框架,使用单元测试框架 JUnit4,接下来就可以进行测试啦:

Part4.基本操作
这一部分的内容介绍了 IntelliJ IDEA 的调试方法,其中设置断点和单步运行是最基础的方法。
关于这一部分,我详细地学习了娄老师的教程 Intellj IDEA 简易教程-调试,和 实验一 的内容很相像。
断点
在第 34 行设一个断点:

单步运行
右键单击 Main.java 文件,选择 Debug 'Main.main()' ,启动 Debug 模式。
单击一下Step Over图标(或F8),这时查看变量i的值,会看到formulaChar的值。此时可以观察程序的运行过程。

条件断点
设定为只有某些前置变量的值满足条件时我们才会触发断点,可以帮助提高效率测试。
这里设定 Condition 为 j == 0:

Part6.效能工具
安装教程安装JProfiler:
进入官网后,点击右侧 Download 按钮下载 JProfiler 的安装程序:

按照教程一路下载安装:

成功安装后,在IDE的菜单栏 Run 中可以看到一个 Profile 的按钮,如图所示:

接下来便可以开始性能分析了。
Part7.提交代码
之前所运用的 git add 与 git commit 命令,但这两条命令只会对本地的仓库进行修改,其所有操作都是离线的。
要想让 Github 上也跟踪到最新的改变,就需要使用 git push 命令。
使用 push 命令后,弹出一个窗口要求登录 Github,此时输入用户名或邮箱 与 密码 即可.

总结与感想
这篇教程里的很多内容是和实验一较为相像的,现在再走一遍教程,起到了温故而知新的作用。
此前我一直没有使用 Github,平时都是在使用码云。而通过学习这篇教程,我还学习到了新的内容:关于Github 的基本操作,以及效能工具 JProfiler。
当然,我在实验中还是遇到了许些问题的。由于是初次接触,对于效能工具 JProfiler 的操作我并不是很熟悉,在连接 IDEA 时也出现了问题。对此,我希望在紧张的考试周过后能再进一步研究下 JProfiler,感受它的魅力所在。
最后,感谢老师提供的这篇教程!
20165234 [第二届构建之法论坛] 预培训文档(Java版) 学习总结的更多相关文章
- [第二届构建之法论坛] 预培训文档(Java版)
本博客是第二届构建之法论坛暨软件工程培训活动预培训文档中[适用于结对编程部分的Java版本],需要实验者有一部分Java基础. 目录 Part0.背景 Part1.配置环境 配置JDK Linux 平 ...
- [第二届构建之法论坛] 预培训文档(C++版)
本博客是第二届构建之法论坛暨软件工程培训活动预培训文档中[适用于结对编程部分的C++版本],需要实验者有一部分C++基础. 目录 Part0.背景 Part1.配置环境 Part2.克隆项目 Part ...
- 20165314 [第二届构建之法论坛] 预培训心得(Java版)
安装IDEA配置JDKsourcepath啥的之前已经弄好了 克隆项目 emmm这次的代码托管部分好像比之前做的要简单,之前还要git config啥的,还有就是git clone不会提示要输入账号密 ...
- 在线预览文档(支持word、excel、ppt、pdf)+在线预览文档html版(转)
1.首先上网搜索一下有什么解决方案 (1).将文档转换为html,只支持支持office文档 (2).将文档转换为flash,实现类似百度文库的效果,除支持office文档外还支持pdf (1) a. ...
- MFC 构建、消亡 顺序 (二)--多文档 (MDI)
MFC 构建.消亡 顺序 (二)--多文档 (MDI) by:http://www.cnblogs.com/vranger/ (一)MDI 生成顺序 (二)打开文档-“Open” (三)新建文档-“N ...
- MFC 构建、消亡 顺序 (一)--单文档 (SDI)
MFC 构建.消亡 顺序 (一)--单文档 (SDI) by:http://www.cnblogs.com/vranger/ (一)SDI 生成顺序 (二)打开文档-“Open” (三)新建文档-“N ...
- 在其他app里预览文档
本文转载至 http://www.cocoachina.com/newbie/basic/2013/0515/6212.html iOS中的沙盒可以让平台更加的安全,这也是沙盒给用户带来的最主要好处. ...
- C#在线预览文档(word,excel,pdf,txt,png)
C#在线预览文档(word,excel,pdf,txt,png) 1.预览方式:将word文件转换成html文件然后预览html文件2.预览word文件:需要引入Interop.Microsoft.O ...
- C# 基于NPOI+Office COM组件 实现20行代码在线预览文档(word,excel,pdf,txt,png)
由于项目需要,需要一个在线预览office的功能,小编一开始使用的是微软提供的方法,简单快捷,但是不符合小编开发需求, 就另外用了:将文件转换成html文件然后预览html文件的方法.对微软提供的方法 ...
随机推荐
- codesmith生成的结果页不显示,问题在于第一行的文件头
在于这里: TargetLanguage="C#",这个能增加cs的格式
- python机器学习-sklearn挖掘乳腺癌细胞(五)
python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=10 ...
- 网络编程基础【day10】:我是一个线程(四)
本节内容 1.第一回 初生牛犊 2.第二回 渐入佳境 3.第三回 虎口脱险 4.第四回 江湖再见 第一回 初生牛犊 我是一个线程,我一出生就被编了个号:0x3704,然后被领到一个昏暗的屋子里,在这里 ...
- springMVC的全局异常设置
先说为什么要设置全局异常.比如说,你程序出错了,500错误,大家都知道,程序出错就不会往下面执行,但是客户端那边还是一直等待状态,所以,我们后台无论正常还是报错都要给客户端返回数据.当然,我们可以tr ...
- python django基础三 模版渲染
request对象 当一个页面被请求时,Django就会创建一个包含本次请求原信息的HttpRequest对象.Django会将这个对象自动传递给响应的视图函数,一般视图函数约定俗成地使用 reque ...
- 解决CDN传统方法引入Iview icon 不显示问题
因为需要字体文件,可以在github上下载. 将文件下载之后放到fonts文件夹下,fonts文件夹要与Iview.css在同级目录
- golang 缓冲区的终端输入
bufio包实现了有缓冲的I/O.它包装一个io.Reader或io.Writer接口对象,os.stdin就是实现了这个接口 package main import ( "bufio&qu ...
- Spark Submitting Applications浅析
Submitting Applications提交应用程序 在spark的bin目录下spark-submit脚本被用于在集群中启动应用程序.它可以通过一个统一的接口来使用Spark支持的所有集群管理 ...
- solrj管理索引库
solrj管理索引库 1.1. 什么是solrJ solrj是访问Solr服务的java客户端,提供索引和搜索的请求方法,SolrJ通常在嵌入在业务系统中,通过SolrJ的API接口操作Solr服务, ...
- Css单位px,rem,em,vw,vh的区别
px px就是pixel像素的缩写,相对长度单位,网页设计常用的基本单位.像素px是相对于显示器屏幕分辨率而言的 em em是相对长度单位.相对于当前对象内文本的字体尺寸(参考物是父元素的font-s ...