大数据开发理论基础与项目实战Java SE之1.初识计算机和Java语言
Posted cutercorley
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据开发理论基础与项目实战Java SE之1.初识计算机和Java语言相关的知识,希望对你有一定的参考价值。
文章目录
本文由我来 wolai - 不仅仅是未来的云端协作平台与个人笔记提供支持,可点击
https://www.wolai.com/signup?invitation=SWEW7UI注册并体验 wolai,或者下载wolai APP或客户端输入邀请码SWEW7UI
,这样你和我都可以获得积分哦。wolai是一个有温度的平台,赶紧来注册体验吧。
前言
本文的主题是初识计算机和Java语言,主要包括计算机的体系结构(计算机的基本概念、常见的主要硬件和软件、计算机的体系结构)、Java语言概述(计算机语言的发展、Java语言的发展和Java语言的主要版本)和开发环境的搭建(开发环境的搭建和安装、编写Java程序的流程、环境变量的配置和跨平台原理)等。
1.计算机的体系结构
(1)计算机的基本概念
计算机:
-
高级计算
-
使用广泛
- 游戏
- 追剧
- 结账
- 医疗
- ……
- 组成
- 硬件
客观存在的设备,看得见、摸得着
- 软件
控制硬件完成功能,看得见、摸不着
(2)常见的主要硬件
-
中央处理器CPU
-
内存
-
硬盘
存储文件。 -
输入输出设备
-
键盘
-
显示器
-
-
机箱
-
电源
(3)主要硬件的详解
Ⅰ CPU
CPU即中央处理器(Central Processing Unit),是最核心的部件,类似于大脑:
-
是计算机的运算核心 和控制核心
-
功能
- 解释计算机指令
- 处理软件数据
品牌包括Intel、AMD、高通的骁龙、华为的麒麟等。
Ⅱ 内存
Memory,是计算机中的存储部件:
- 功能:
暂存CPU中的运算数据和与硬盘等的交换数据
- 特点
可以直接访问内存数据,效率高
- 缺点
- 容量小
- 不能永久存储,一旦断电会丢失数据
时刻记得CTRL+S
进行永久存储。
品牌包括金士顿、三星、海盗船等。
Ⅲ 硬盘
计算机中的存储部件:
- 特点
- 容量大
- 永久存放数据,断电不丢失
- 缺点
- CPU不能直接访问硬盘数据
- 分类
- 机械硬盘
- SSD固态硬盘
- 速度快
- 不易损坏
品牌包括希捷、西数、金士顿等。
内存和硬盘优缺点互补。
内存中常见单位及其之间的关系如下:
1TB = 1024GB
1GB = 1024MB
1MB = 1024KB
1Kb = 1024Byte(字节)
1Byte = 8Bit(二进制位)
Ⅳ 输入输出设备
- 标准输入设备
键盘
- 标准输出设备
显示器
(4)常见的主要软件
- 系统软件
操作系统,是其他软件的基础
- Windows
- Unix
付费
- Linux
免费、开源
- ios
- android
- 应用软件
装在操作系统之上的软件。
- Office
(5)计算机的体系结构
以上4个部分具有明显的依赖关系,外部是在内部的基础上运转的。
2.Java语言概述
(1)计算机语言的发展
语言是人与人之间沟通的主要表达方式;
计算机语言即为人与计算机之间沟通的表达方式。
分类:
- 机器语言
二进制,最初是穿孔卡片。
- 汇编语言
助记符表示机器指令。
- 高级语言
用更简单的方式与计算机进行交流。
- Java
- C/C++
- Python
- ……
Java语言占比最高,其次是C、Python、C++、……
(2)Java语言的发展
Java语言出现于20世纪90年代:
-
单片机系统提高家电智能性
-
Sun公司发起绿色计划
-
James Gosling(Java语言之父)考虑过C++,但是不能跨平台
-
改写C++,看到橡树,命名为oak,爪哇岛的咖啡好喝,因此命名为Java
发展历史:
-
1995年问世
-
1996年1.0
-
1999年 1.2(SE、EE、ME)
-
2011.7 Oracle发布7.0
-
……
(3)Java语言的主要版本
- Java SE
Standard Edition,Java平台标准版。
- 基础环境和核心类库
- Java EE
Enterprise Edition,Java平台企业版。
- 构建于Java SE基础上
- 用于构建企业级应用
- Java ME
走向淘汰
3.开发环境的搭建和使用
(1)开发环境和工具的下载和安装
开发环境的下载方式:
- 官网
Java SE 11是LTS(longtime supported)。
- www.sun.com
- www.oracle.com
- 搜索
开发环境的安装方式:
路径不能包含中文。
-
安装包
-
绿色版
Java开发的常用工具如下:
- 文本编辑器(TE,Text Editor)
- 记事本
- Notepad++
- Edit Plus
- UltraEdit
- ……
- 集成开发环境(IDE,Integrated Development Environment )
- Jbuilder
- NetBeans
- Eclipse
- MyEclipse
- IDEA
- …
(2)安装目录和概念解读
Java安装路径主要包含的目录如下:
E:.
├─bin
│ └─server
├─conf
│ ├─management
│ └─security
│ └─policy
│ ├─limited
│ └─unlimited
├─include
│ └─win32
│ └─bridge
├─jmods
├─jre
│ ├─bin
│ │ └─server
│ ├─conf
│ │ └─security
│ │ └─policy
│ │ ├─limited
│ │ └─unlimited
│ ├─include
│ │ └─win32
│ ├─legal
│ │ ├─java.base
│ │ ├─java.datatransfer
│ │ ├─java.desktop
│ │ ├─java.prefs
│ │ └─java.xml
│ └─lib
│ ├─security
│ └─server
├─legal
│ ├─java.base
│ ├─java.compiler
│ ├─java.datatransfer
│ ├─java.desktop
│ ├─java.instrument
│ ├─java.logging
│ ├─java.management
│ ├─java.management.rmi
│ ├─java.naming
│ ├─java.net.http
│ ├─java.prefs
│ ├─java.rmi
│ ├─java.scripting
│ ├─java.se
│ ├─java.security.jgss
│ ├─java.security.sasl
│ ├─java.smartcardio
│ ├─java.sql
│ ├─java.sql.rowset
│ ├─java.transaction.xa
│ ├─java.xml
│ ├─java.xml.crypto
│ ├─jdk.accessibility
│ ├─jdk.aot
│ ├─jdk.attach
│ ├─jdk.charsets
│ ├─jdk.compiler
│ ├─jdk.crypto.cryptoki
│ ├─jdk.crypto.ec
│ ├─jdk.crypto.mscapi
│ ├─jdk.dynalink
│ ├─jdk.editpad
│ ├─jdk.hotspot.agent
│ ├─jdk.httpserver
│ ├─jdk.internal.ed
│ ├─jdk.internal.jvmstat
│ ├─jdk.internal.le
│ ├─jdk.internal.opt
│ ├─jdk.internal.vm.ci
│ ├─jdk.internal.vm.compiler
│ ├─jdk.internal.vm.compiler.management
│ ├─jdk.jartool
│ ├─jdk.javadoc
│ ├─jdk.jcmd
│ ├─jdk.jconsole
│ ├─jdk.jdeps
│ ├─jdk.jdi
│ ├─jdk.jdwp.agent
│ ├─jdk.jfr
│ ├─jdk.jlink
│ ├─jdk.jshell
│ ├─jdk.jsobject
│ ├─jdk.jstatd
│ ├─jdk.localedata
│ ├─jdk.management
│ ├─jdk.management.agent
│ ├─jdk.management.jfr
│ ├─jdk.naming.dns
│ ├─jdk.naming.rmi
│ ├─jdk.net
│ ├─jdk.pack
│ ├─jdk.rmic
│ ├─jdk.scripting.nashorn
│ ├─jdk.scripting.nashorn.shell
│ ├─jdk.sctp
│ ├─jdk.security.auth
│ ├─jdk.security.jgss
│ ├─jdk.unsupported
│ ├─jdk.unsupported.desktop
│ ├─jdk.xml.dom
│ └─jdk.zipfs
└─lib
├─jfr
├─security
└─server
- bin目录
可执行文件,包括javac.exe、java.exe等。
需要将bin目录添加到bin目录下。
- conf目录
配置文件
- include目录
.h头文件
- jmods
模块信息
- legal
授权文件
- lib
库,src.zip包含很多子目录。
一些基本概念:
JDK,即Java开发工具包 ( Java Development Kit),Java开发人士需要下载和安装JDK,目前的主流版本为JDK11。
JRE是Java SE运行时环境 (Java SE Runtime Environment),提供了运行Java应用程序所必须的软件环境等。无论是开发还是运行Java应用都必须安装。
前面的bin目录下有两个可执行文件:
- javac.exe
编译器,主要用于将高级Java源代码翻译成字节码文件。
- java.exe
解释器,主要用于启动JVM对字节码文件进行解释并执行。
其中,JDK、JRE、JVM之间的关系如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-azNf2l5g-1629031393221)(image/image.png)]
可以看到三者之间是相互包含的关系。
(3)编写Java程序的流程
开始阶段使用TE编写,来掌握基本的语法和编码技巧,同时熟悉指法。
代码如下:
/*
* 项目名称:第一个Java程序
* 项目功能:打印hello world
* 作 者:Corley
* 版 本:V1.0
* 所 有 者:XXX
* 备 注:TEST
*/
public class HelloWorld /*类名*/ { /*类体*/
public static void main /*主方法名*/ (String[] args) { /*主方法体*/
System.out.println("Hello World!");
}
}
执行javac HelloWorld.java
,生成字节码文件HelloWorld.class,该文件直接打开会显示乱码;
执行java HelloWorld
,进行解释执行,打印如下:
Hello World!
执行流程示意如下:
(4)常见的错误和简化的编译执行
常见的错误:
- 需要class, interface或enum
入口关键字拼写出现错误,例如class
写成clas
- 找不到符号
字母大小写、拼写错误,例如类型String
写成string
- 需要’;’
一行结束时未加分号,需要注意使用英文的分号;
- 非法字符: ‘\\uxxxx’
使用了中文符号。例如使用了中文的分号,就会报错非法字符: '\\uff1b'
- mian
在类 中找不到 main 方法, 请将 main 方法定义为:
Java11新特性-简化的编译运行 :
在Java11中可以将编译运行的两步直接省为1步,即java HelloWorld.java
,此时就会自动先编译、再解释执行。
需要保证当前目录下不含有字节码文件,否则会报错。
(5)常用的快捷键和注释
Windows下常用的快捷键如下:
快捷键 | 含义 |
---|---|
CTRL+s | 保存 |
CTRL+c | 复制 |
CTRL+v | 粘贴 |
CTRL+a | 全选 |
CTRL+x | 剪切 |
CTRL+z | 撤销 |
CTRL+f | 搜索 |
CTRL+Shift | 切换输入法,使用Shift进行中英文切换 |
Windows+d | 回到桌面 |
Windows+e | 打开计算机 |
Windows+l | 锁屏 |
Windows+r | 打开运行,输入cmd后回车就会启动dos窗口 |
Windows+Tab | 切换任务 |
CTRL+Alt+Delete | 启动任务管理器 |
注释是用于进行代码说明的,即给程序员看的文字描述,编译器会忽略。
分类:
- 单行注释
以//
开始,到本行结束,都是注释。
- 多行注释
从/*
开始,到*/
结束,中间所有行都是注释。
多行注释不允许嵌套。
- 多行/文档注释
从/**
开始,到*/
结束,是一种支持提取的注释。
(6)环境变量的配置
前面可以直接执行javac xxx.java
、java xxx
等可以直接执行,是因为将JDK的安装目录下的bin目录添加到了环境变量,如果不添加环境变量则会报错'abc' 不是内部或外部命令,也不是可运行的程序或批处理文件。
。
为了将可以执行文件可以在任意路径中均可以使用,需要将该文件所在的路径信息添加到环境变量中,例如E:\\Java\\jdk-11.0.2\\bin
,Windows 10添加示意如下:
说明:
-
如果同时添加了多个JDK的bin路径,则会从前到后遍历配置的环境变量、使用找到的第一个路径对应的JDK。
-
配置环境变量后需要重启DOS窗口 ,才能生效。
-
考虑到可能需要更新JDK,则可以配置
JAVA_HOME
系统变量,再修改Path的路径,有2个好处:
- 如果以后需要更新JDK版本,只需要修改JAVA_HOME变量即可;
- Java EE也会用到JAVA_HOME变量,为后面的使用做准备。
具体过程可参考https://blog.csdn.net/bf4457/article/details/114535466。
(7)跨平台原理
Java相对于C、C++的一个重要特点是支持跨平台 ,也就是相同的字节码文件可以在不同的平台上执行,其中起重要作用的就是JVM:JVM将Java字节码翻译为某个具体平台能够执行的机器指令,由于Sun定义了JVM规范,而且不同的操作系统大多提供了JVM实现,才使得相同的一个字节码文件可以在不同的系统上运行,从而实现了“一次编译、到处使用”的效果。
如下图所示:
总结
大数据开发的基础是Java,因此必须要先掌握计算机的基础原理和基本的Java开发功底,为大数据开发打牢基础。
同时,本文只是知识文档的部分内容,如果要获取更完整的文档,可以私信交流。
以上是关于大数据开发理论基础与项目实战Java SE之1.初识计算机和Java语言的主要内容,如果未能解决你的问题,请参考以下文章
Java学习笔记8.2.2 JDBC实战 - GUI学生信息管理系统
Java学习笔记8.2.2 JDBC实战 - GUI学生信息管理系统
大数据开发基础入门与项目实战Hadoop核心及生态圈技术栈之1.Hadoop简介及Apache Hadoop完全分布式集群搭建