Java 介绍与环境搭建

2023-11-02


Java 介绍与环境搭建

Java 背景介绍

Java 背景故事

Java 语言是美国 Sun 公司(Stanford University Network)在 1995 年推出的计算机语言。后被 Oracle 公司收购。

Java 之父:詹姆斯·高斯林(James Gosling)。

image-20230113210357630

Java 三大平台

  • Java SE
  • Java ME
  • Java EE
Java SE

Java SE : Java 语言的(标准版),用于桌面应用的开发,是其他两个版本的基础。

桌面应用 :用户只要打开程序,程序的界面会让用户在最短的时间内找到他们需要的功能,同时主动带领用户完成他们的工作并得到最好的体验。

学习 Java SE 的目的 : 为今后要从事的 Java EE 开发,打基础。

示例:

电脑自带的计算器:

image-20230113210808086

坦克大战游戏:

image-20230113210825829

Java ME

Java ME : Java 语言的(小型版),用于嵌入式消费类电子设备。

image-20230113210857152

现已淘汰,了解即可:

image-20230113210930888

Java EE

Java EE : Java 语言的(企业版),用于 Web 方向的网站开发。

唯品会:

image-20230113211019980

京东:

image-20230113211056441

淘宝:

image-20230113211117317

网页:用于数据展示

网站:网页 + 后台服务器

下面是一个网站:

image-20230113211327673

用户输入用户名和密码:

image-20230113211359849

点击登录,将用户名和代码发送到后台服务器:

image-20230113211521181

服务器对输入的用户名和密码进行验证:

image-20230113211637949

Java 跨平台工作原理

平台与跨平台

平台:指的是操作系统。

  • Windows
  • MacOS
  • Linux

跨平台:Java 程序可以在任意操作系统上运行。

难道不是所有的语言都支持跨平台吗?这里我们以C#为例:

image-20230113211939685

image-20230113212024457

跨平台工作原理

image-20230113212112201

总结:在需要运行 Java 应用程序的操作系统上,安装一个与操作系统对应的Java虚拟机(JVM Java Virtual Machine)即可。

跨平台实例:

以我们经常玩的手机游戏为例:

image-20230113212415649

我们可以在电脑上借助手机模拟器,实现跨平台使用:

image-20230113212521947

JVM虚拟机本身是否可以跨平台?

JVM 虚拟机本身不允许跨平台,允许跨平台的是 Java 程序

JDK 下载和安装

下载 JDK

JDK(Java Development Kit)

首先我们先了解一下 JDK 的版本:

image-20230113213034516

最新版本已经到了19了,但是我们还是使用长期支持版本。

长期支持版本有3个,分别是 Java(8.0)、Java(11.0)、Java(17.0),其中:

Java8是目前企业使用最多的一个版本,它的兼容性最好、稳定性最强。

Java11目前也是比较稳定的一个版本,现在部分公司已经开始由Java8转11。

这里我们使用的是Java17。

通过官方网站获取 JDK

http://www.oracle.com

点击产品:

image-20230113220355583

选择Java

image-20230113220432142

点击下载 Java:

image-20230113220505299

下载 JDk:

image-20230113220744356

注意:针对不同操作系统,下载对应的 JDK。

下载成功:

image-20230113220914364

安装 JDK

安装到 [自己能找到] [纯英文] 的路径下,例如 D:\Develop\jdk。

在 D 盘新建一个文件夹:

image-20230113221126388

找到安装包,双击:

image-20230113221235747

点击下一步:

image-20230113221437875

设置安装路径:

image-20230113221747960

点击安装:

image-20230113221821990

安装成功:

image-20230113221932771

查看安装版本:

image-20230113222439726

第一个 Java 程序

HelloWorld 介绍

HelloWorld中文意思是『你好世界』

该程序的效果就是在让程序帮我们展示一段文字,内容为 HelloWorld

image-20230114085032585

Java 程序开发的三个步骤

  1. 编写代码
  2. 编译代码
  3. 运行代码

image-20230114085101884

HelloWorld 案例的编写和运行

新建文本文档文件,修改名称为 HelloWorld.java

image-20230114085255631

用记事本打开 HelloWorld.java文件,输写程序内容

public class HelloWorld{
	public static void main(String[] args){
		System.out.println("HelloWorld");
	}
}

image-20230114085710158

使用 javac.exe [编译] 使用 java.exe [运行]

image-20230114094950824

HelloWord 案例详解

HelloWorld 案例代码详解

image-20230114100618827

HelloWorld 案例常见问题

image-20230114100650429

原意是臭虫或者虫子,现在用来指代在电脑系统或者程序中隐藏的一些问题或者漏洞。

Bug由来

BM 在1944年建造了当时最大的机电计算机之一:Harvard MarkⅠ,它是给二战同盟国建造的,有76万5千个组件,300万个连接点和500英里长的导线。这台及其最早的用途之一是给“曼哈顿计划”模拟。Harvard MarkⅠ有3500个继电器,由于当时的继电器寿命,几乎每天都需要更换一个故障继电器,此外这些巨大、黑色、温暖的及其也会吸引昆虫。

1945年,计算机还是由机械式继电器和真空管驱动的,机器有房间那么大。体现当时技术水平的Harvard MarkⅡ,是由哈佛大学制造的一个庞然大物。1947年9月,Harvard MarkⅡ的操作员检查故障时,发现这台巨大的计算机内部一组继电器的触点之间有一只死掉的飞蛾,这显然是由于飞蛾受光和热的吸引,飞到了触点上,然后被高电压击死。Grace Hopper曾说:“从那时起,每当电脑出了问题,我们就说它有了虫子”(From then on, when anything went wrong with a computer, we said it had bugs in it.)。

格蕾丝·霍波(Grace Hopper,是一位为美国海军工作的电脑专家,也是最早将人类语言融入到电脑程序的人之一。),格蕾丝·霍波其实并不是那位发现这只飞蛾的人,她只是欣然承认了而已。发现飞蛾的操作员,包括威廉姆·比尔·伯克,伯克在弗吉尼亚州达尔格伦的海军武器实验室,熟悉工程术语,好逗乐,给飞蛾写下了“首个发现bug的实际案例”。这个日志本现存于史密森尼国立美国历史博物馆,飞蛾还完整地贴于其上。

image-20230114101030214

image-20230114100927975

image-20230114101044576

常见问题:

  1. Windows的文件扩展名没有勾选

    image-20230114101324603

    解决方案:必须勾选文件扩展名,再新建Java文件。

  2. 代码写了,但是忘记保存了

    image-20230114101352405

  3. 文件名和类名不一致。

    image-20230114101428971

  4. 大小写错误,单词拼写错误,存在中文符号,找不到main方法。

    image-20230114101452511

  5. 括号不配对。

    image-20230114101512239

  6. 编译或执行工具使用不当

image-20230114101559504

一个什么错都犯过的程序员,才是真正的程序员!

image-20230114101620231

JDK 的组成

  • JVM(Java Virtual Machine):Java虚拟机, 真正运行Java程序的地方
  • 核心类库:Java自己写好的程序,给程序员自己的程序调用的
  • JRE(Java Runtime Environment): Java的运行环境
  • JDK(Java Development Kit): Java开发工具包(包括上面所有)

image-20230114110326338

配置 JAVA_HOME

一个神奇的现象

  • 目前写好的 HelloWorld.java 文件, 移动到其它盘符下好像也可以使用到

    javac.exe java.exe

  • 目前较新的JDK安装时会自动配置 javac、java 程序的路径到Path环境变量中去

    因此,javac、java 可以直接使用

Java帮助我们配置的环境,仅仅包含了4个工具。

image-20230114112743254

image-20230114112008189

默认配置功能不全,将影响到将来要学习的另一个开发软件。

image-20230114112055610

JAVA_HOME 配置方式

方法一(不推荐):

先将安装时配置的环境变量删除,将jdk的安装路径复制到 Path 中:

image-20230114115100275

image-20230114114750332

注意:这样可能会产生一些其他问题。

方法二:

image-20230114112331327

新建 JAVA_HOME:

image-20230114115504409

在 Path 中新建环境变量:

image-20230114115600462

image-20230114115718179

验证环境配置:

image-20230114115801676

Java17的话比以前安装的java8安装过程更简洁一点,无需再配置 JAVA_CLASS。

注意事项

从 Win8 开始,电脑重启后可能会出现环境变量失效问题解决方案:

  1. 重新打开 path 环境变量,无需做任何改动,点击确定不使用

    image-20230114120125363

  2. JAVA_HOME 将bin目录的完整路径配置到 path 中

image-20230114114750332

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 介绍与环境搭建 的相关文章

随机推荐

  • K最近邻算法(KNN)---sklearn+python实现

    k 近邻算法概述 简单地说 k近邻算法采用测量不同特征值之间的距离方法进行分类 k 近邻算法 优点 精度高 对异常值不敏感 无数据输入假定 缺点 计算复杂度高 空间复杂度高 适用数据范围 数值型和标称型 k 近邻算法 kNN 它的工作原理是
  • Http的GET请求与POST请求调用接口

    GET请求 public static String doGet Map
  • FFmpeg,Fplay,clion调试环境搭建

    本系列 以 ffmpeg4 4 源码为准 本文主要讲解如何搭建 ffplay 的CLion调试环境 ffmpeg 在 Linux 环境下更好调试 本文系统是 Ubuntu 18 首先下载 FFmpeg n4 4 1 zip 虽然 FFmpe
  • ESP8266与网络服务器实时通讯

    目前 所有已呈现的通信都是基于请求响应方法的 其中一个实体正在发送请求 另一实体正在发送回响应 但是在某些情况下 您需要ESP8266模块与服务器之间的实时通信 而不仅仅是事务 实时通讯协议 ESP8266流数据 要从ESP8266流传输数
  • 【Ranger】编译问题An Ant BuildException has occured: exec returned: 1

    先看一下报错的信息 ERROR Failed to execute goal org apache maven plugins maven antrun plugin 1 7 run generate version annotation
  • 数学建模竞赛常考四大模型总结【预测模型、分类模型、优化模型、评价模型】

    目录 1 预测模型 1 1 神经网络预测 1 2 灰色预测 1 3 拟合 插值预测 线性回归 1 4 时间序列预测 1 5 马尔科夫链预测 1 6 微分方程预测 1 7 Logistic 回归 逻辑回归 1 8 线性回归 总结 应用场景 2
  • centos7中iptables配置log日志记录所有流量

    CentOS 7 0默认使用的是firewall作为防火墙 使用iptables必须重新设置一下 1 直接关闭防火墙 systemctl stop firewalld service 停止firewall systemctl disable
  • c语言编译器mingw的使用说明,C语言编译器MINGW的使用说明

    在mingw环境中生成和使用dll都是十分方便的 1 生成dll gcc g shared o test dll test c 一直用VS 看现在Eclipse很火 便想弄一下玩玩 用到了MINGW 继而用到了GCC 对GCC相当的不熟悉
  • [JS] Flatten array

    拍平数组 这个在lodash里也是很常见的方法 那自己实现一个看看 普通拍平 const flatten arr gt concat arr map v gt Array isArray v v v 测试 flatten 1 2 3 4 5
  • 【历史上的今天】1 月 16 日:互联网工程任务组(IETF)成立;AMD 收购 NexGen;eBay 的第一位员工出生

    整理 王启隆 透过 历史上的今天 从过去看未来 从现在亦可以改变未来 今天是 2022 年 1 月 16 日 在 25 年前的今天 国家电力公司组建成立 电力是运作着我们生活的基本 国家电力公司成立于 1997 年 1 月 16 日 于 2
  • Text-To-Speech(TTS)语音朗读

    Text To Speech TTS 语音朗读 更新 2010 04 08 来源 互联网 字体 大 中 小 TextToSpeech简称 TTS 是Android 1 6版本中比较重要的新功能 将所指定的文本转成不同语言音频输出 它可以方便
  • 微软消息队列-MicroSoft Message Queue(MSMQ)队列的C#使用

    什么是MSMQ Message Queuing MSMQ 是微软开发的消息中间件 可应用于程序内部或程序之间的异步通信 主要的机制是 消息的发送者把自己想要发送的信息放入一个容器中 我们称之为Message 然后把它保存至一个系统公用空间的
  • 大一上期Python考前复习

    初识Python考试前复习 Python介绍 基本语法 1 赋值语句 2 del语句 3 if 语句 4 for循环语句 4 while循环语句 4 1循环下的语句 数据类型 1 数据可变性 2 数据类型 2 1 格式化输出 3 列表 字典
  • 初阶C语言(1)-6200字带你初识C语言

    目录 前言 如何创建一个项目 第一个C语言程序 基本数据类型 变量与常量 字符串与转义字符 选择语句 循环语句 函数 数组 操作符 关键字 常量和宏 指针 结构体 前言 本节旨在初步认识C语言 有的知识在之后会详细讲 C语言是一门面向过程的
  • Java+SSM+Vue 毕业设计 房屋出租出售管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统流程 3 2 1 系统开发流程 3 2 2 操作流程 3 3 系统结构设计 4 项目获取 1 项目简介 Hi 各位同学好呀 这里是M学姐 今天向
  • STL之lexicographical_compare

    lexicographical compare and lexicographical compare 3way the latter is not part of the C standard 功能 Returns true if the
  • pip豆瓣源

    豆瓣源地址 https pypi douban com simple 使用方法 pip install 需要的包名 i https pypi douban com simple 豆瓣源也解决了我使用清华源或阿里源的时候Anaconda下载的
  • 字符数组学习

    有关办公中内容读取和写入的 是很常见的 需要通过移位和偏移 计算每次的地址 再累加运算 一种是字符数组 另一种是字符串常量 它们在内存中的存储位置不同 字符数组可以读取和修改 而字符串常量只能读取不能修改 比如这样字符串 NOVO4CCC6
  • 网络5层体系结构中的数据传输过程

    5层网络体系结构 应用层 运输层 网络层 网际层 数据链路层 物理层 物理层 主要任务 考虑怎样才能在连接各种计算的传输媒体上传输数据比特流 数据链路层 mac层 主要任务 在同一个局域网中 分组怎样从一个主机传送到另一个主机 不经过路由器
  • Java 介绍与环境搭建

    文章目录 Java 介绍与环境搭建 Java 背景介绍 Java 背景故事 Java 三大平台 Java SE Java ME Java EE Java 跨平台工作原理 平台与跨平台 跨平台工作原理 JDK 下载和安装 下载 JDK 安装