IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 大数据开发理论基础与项目实战(一)Java SE之1.初识计算机和Java语言 -> 正文阅读

[Java知识库]大数据开发理论基础与项目实战(一)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!

执行流程示意如下:
Java程序执行流程

(4)常见的错误和简化的编译执行

常见的错误:

  1. 需要class, interface或enum

????入口关键字拼写出现错误,例如class 写成clas

  1. 找不到符号

????字母大小写、拼写错误,例如类型String写成string

  1. 需要’;’

????一行结束时未加分号,需要注意使用英文的分号;

  1. 非法字符: ‘\uxxxx’

????使用了中文符号。例如使用了中文的分号,就会报错非法字符: '\uff1b'

  1. 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.javajava xxx 等可以直接执行,是因为将JDK的安装目录下的bin目录添加到了环境变量,如果不添加环境变量则会报错'abc' 不是内部或外部命令,也不是可运行的程序或批处理文件。

为了将可以执行文件可以在任意路径中均可以使用,需要将该文件所在的路径信息添加到环境变量中,例如E:\Java\jdk-11.0.2\bin,Windows 10添加示意如下:

环境变量配置

说明:

  1. 如果同时添加了多个JDK的bin路径,则会从前到后遍历配置的环境变量、使用找到的第一个路径对应的JDK。

  2. 配置环境变量后需要重启DOS窗口 ,才能生效。

  3. 考虑到可能需要更新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实现,才使得相同的一个字节码文件可以在不同的系统上运行,从而实现了“一次编译、到处使用”的效果。

如下图所示:

JVM跨平台原理

总结

大数据开发的基础是Java,因此必须要先掌握计算机的基础原理和基本的Java开发功底,为大数据开发打牢基础。
同时,本文只是知识文档的部分内容,如果要获取更完整的文档,可以私信交流。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-16 11:36:57  更:2021-08-16 11:37:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 6:44:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码