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文件的方法.对微软提供的方法 ...
随机推荐
- CodeChef - BLACKCOM 可行性dp转最优化树dp
https://www.codechef.com/problems/BLACKCOM 题意:一颗5000个黑白结点的树,10W个查询寻找是否存在大小s并且有t和黑节点的子图 一开始就觉得应当是一个树d ...
- Java泛型、List接口整理
泛型 package com.oracle.demo01; import java.util.HashMap; import java.util.Iterator; import java.util. ...
- JAVA-Proxy 代理
jdk静态代理 interface Dao { void save(); } class DaoImpl implements Dao { @Override public void save() { ...
- C#设计模式(13)——享元模式
1.享元模式介绍 在软件开发中我们经常遇到多次使用相似或者相同对象的情况,如果每次使用这个对象都去new一个新的实例会很浪费资源.这时候很多人会想到前边介绍过的一个设计模式:原型模式,原型模式通过拷贝 ...
- DirectX11 With Windows SDK--04 使用DirectX Tool Kit帮助开发
前言(2018/11/4) DXTK库现在已经不随Github项目提供,因为只用到了其中的键鼠类,已经过提取加入到后续的项目中 但是如果你需要配置DirectXTK到自己的项目当中,可以参考这篇博客进 ...
- Linux 命令详解(十二)Systemd 入门教程:使用定时器发送邮件(mail)
Systemd 定时器教程:http://www.ruanyifeng.com/blog/2018/03/systemd-timer.html 一.定时任务 Systemd 定时任务:每小时发送一封电 ...
- python--numpy、pandas
numpy 与 pandas 都是用来对数据进行处理的模块, 前者以array 为主体,后者以 DataFrame 为主体(让我想起了Spark的DataFrame 或RDD) 有说 pandas 是 ...
- vue使用字体图标转码问题
使用iconfont字体之后,出现的是一个方框,而没有出现相应的图标 需要通过String.fromCharCode方法转成指定unicode编码对应的十六进制字符 <div class=&qu ...
- 在Java中调用Python
写在前面 在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢.当然,之所以要面对这个问题,或许是因为一些历史原因,或者仅仅是为了简单.恰好我在项目中就遇到了这个问题 ...
- SSM框架的搭建和测试(Spring+Spring MVC+MyBatis)
Spring MVC:MVC框架,通过Model-View-Controller模式很好的将数据,业务与展现进行分离. MyBatis:数据持久层框架 我这里使用的是MyEclipse 2016 CI ...