# 大数据学习笔记第1天 #
## 大纲
- 软件&软件开发
- 人机交互方式
- 常用DOS命令
- 开发环境搭建
- 开发体验:第一个Java程序
- 注释
## 第一节课
- 软件&软件开发
- 人机交互方式
- 常用DOS命令
## 第二节课
- Java简介
- Java开发环境安装与配置
## 第三节课
- 安装Notepad
- 第一个Java程序
- 转义字符
## 第四节课
- classpath
- 注释
## 第一节课
### 软件&软件开发
计算机硬件常识,存储器分类:
- Cache:高速缓存
- 内存:Main Memory/Primary Memory
- 硬盘:Secondary Memory: Hard Drive
硬盘上的文件不能直接访问,必须先加载到内存中,所有的程序都是在内存中运行的。
![](./img/01/2018-07-13_001725.png)
什么是计算机语音:
- 人类语言:是人与人之间沟通的一种方式;
- 计算机语言:人与计算交流的方式;
计算机发展简史:
- 第一代:机器码
- 第二代:汇编语言(出现了一些简单的英文单词)
- 第三代:高级语言(更加接近人类语言,容易理解和记忆,如:C,C++,C#,JAVA)
### 人机交互方式
- 图形界面GUI:Windows系统
- 命令行方式CLI:DOS窗口,Bash命令
### 常用DOS命令
- dir: 列出当前目录下的文件夹以及文件;
- md: mkdir的缩写,创建一个空目录;
- rd: remove directory简写,删除空目录;
- cd: chdir的缩写,切换一个目录,进入目录;
- del: 删除文件;
- exit: 退出dos命令行;
## 第二节课
### Java简介
- SUN公司1995年推出的一门高级编程语言;
- 2009年被Oracle公司收购;
- 随着Java技术在Web方面的不断成熟,已经成为了Web应用程序的首选开发语言;
- 是Hadoop等大数据开源框架首选开发语言;
- 特点是:完全面向对象,安全可靠,与平台没有关系;
Java语言的三种技术架构:
- JAVA EE 企业版 (主要用于开发Web应用程序)
- JAVA SE 标准版 (大数据开发使用这种版本)
- JAVE ME 小型版 (是为开发电子消费产品和嵌入式设备提供的解决方案,逐渐被淘汰)
Java语言的特点:跨平台性
平台指的是各种OS(操作系统Operation System),通过Java语言编写的应用程序在不同的操作系统平台上都可以运行。 Java之所以可以在各种平台上运行,是因为Java针对各种平台都开发了不同的JVM虚拟机(Java Virtual Machine)。同样的Java程序在不同的平台上都能运行,这就是Java的跨平台性。
### Java开发环境安装与配置
明确什么是:JRE(java runtime environment), JDK(java development kit); 『下载』和『安装』JDK,『配置』环境变量(CMD中敲set可以查看环境变量); 安装完成后可以在命令行中输入java命令进行『验证』;
什么是JRE(jvm+核心类库lib),JDK:JRE包括Java虚拟机,和Java程序所需要的核心类库等;
JDK(jre+工具tool)是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE,所以安装了JDK,就不用再单独安装JRE了。
![](./img/01/2018-07-13_004231.png)
下载JDK(Java开发工具包)官网:www.oracle.com 注意操作系统以及版本的选择。
安装JDK,建议安装路径最好不要有中文字符或者空格,提示安装JRE时,可以选择不安装。
配置环境变量Path:我的电脑-属性-高级-环境变量。编辑Path环境变量,加上java工具所在目录,各个路径之间用英文";"分隔,建议放在最前面;打开DOS命令行,在任意目录下执行javac命令,如果出现javac的参数信息,配置成功。
## 第三节课
### 安装Notepad
安装完成后,配置字符集编码ANSI、文件关联.java、自动输入完成等;
### 第一个Java程序
编写之前调整系统,取消隐藏的已知类型文件的扩展名;
文本编辑器:Notepad++
1. 将java代码编写到后缀名为.java的文件中
2. 通过javac命令对该java文件进行编译
3. 通过java命令运行生成的class文件
注意区分大小写。
编译:将源码文件编译成JVM可以识别的文件,在该源码文件目录下,通过javac编译工具,对Hello.java文件进行编译;如果程序没有出错,没有任何提示,但在当前目录下会出现一个Hello.class文件,该文件称为字节码文件,也是可执行的java的程序。
运行:通过运行工具java.exe对字节码文件进行执行,注意java命令后边的文件不用加.class,正常时就会输出Hello World
常见的错误:
- 缺少大括号(不成对)
- 字母大小写错误
- 关键字单词拼写错误
![](./img/01/2018-07-13_004844.png)
代码:
class Hello{
public static void main(String[] args){
System.out.println("Hello World");
}
}
如果在class前面加上public修饰,说明这是一个公共类,此时类名和文件名必须保持一致。一个源文件中可以包含多个类,编译之后,各自形成字节码文件。
编译后的文件名称为:Hello.class,内容如下图所示:
![](./img/01/2018-07-13_005331.png)
### 转义字符
- \r: 回车,光标移到行首
- \n: 换行符,光标移到到下一行
- \t: tab键
- \\: 输出一个\
## 第四节课
### classpath
可以在CMD中临时配置:set classpath=c:/
- 既然class文件(字节码文件)是java的运行文件,可不可以实现在任意目录下都可以执行某一目录下的class文件呢?
- 根据path环境变量的原理,可以定义一个名为classpath环境变量,将要运行的class文件所在的目录定义在该变量中;
- JVM查找类文件的顺序:
- 如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件;
- 如果配置了classpath环境变量,JVM会先在classpath环境变量值得目录中查找要运行的类文件:
- 值的结尾处如果加上分号,那么JVM在classpath目录下没有找到要指定的类文件,会在当前目录下再查找一次;
- 值的结尾处如果没有加上分号,那么JVM在classpath目录下没有找到要指定的类文件,不会再当前目录下查找,即使当前目录下有,也不会运行;
### 注释
用于注释、说明、解释程序的文字就是注释。主要是写给开发人员看的。
- 单行 //
- 多行 `/* .... */`
- 文档注释 `/** .... */`