Java概述
语言: 人与人交流沟通的表达方式
计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言
Java是一门非常火的计算机语言。(也叫做编程语言)
Java的下载安装
JDK、JRE、JVM
JDK (Java Development Kit) :
Java开发工具包,包含JRE和开发工具。所以只要下载安装 JDK 就不用管JRE、JVM
JRE (Java Runtime Environment):
Java运行环境,包含了JVM和Java的核心类库,如果想要运行一个开发好的 Java程序,计算机中只需安装JRE即可
JVM(Java Virtual Machine):
Java虚拟机,一个在实际计算机上模拟执行Java字节码的虚拟机
包含关系:
JDK:JRE + 开发工具
JRE:JVM + 核心类库
下载与安装
通过官方网站获取 JDK
注意:
- 针对不同的操作系统(Windows、Linux、MacOS),需要下载对应版本的JDK
- 建议安装 jdk 8 版本,现在的主流,目前绝大数公司正在使用的版本,因为这个版本最为稳定
- 安装路径不要有中文,不要有空格等一些特殊的符号。
- 以后跟开发相关的所有软件建议都安装在同一个文件夹中,方便管理
JDK的安装目录介绍
了解即可
目录名称 | 说明 |
bin | 该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。 |
conf | 该路径下存放了JDK的相关配置文件。 |
include | 该路径下存放了一些平台特定的头文件。 |
jmods | 该路径下存放了JDK的各种模块。 |
legal | 该路径下存放了JDK各模块的授权文档。 |
lib | 该路径下存放了JDK工具的一些补充JAR包。 |
环境变量
为什么要配置环境变量
开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的bin目录下,如果不配置环境变量,那么这些命令只可以在bin目录下使用, 而我们想要在任意目录下都能使用,所以就要配置环境变量。
举个例子:配置环境变量可以让我们在任何地方都能使用Java开发工具,就像我们可以在任何地方都能使用手机一样。
想象一下,如果你只能在一个特定的文件夹里使用手机,那不是很不方便吗?同样的,如果你只能在JDK的bin目录下使用Java开发工具,那也会很不方便。所以,你需要配置环境变量,让你可以在任何地方都能使用Java开发工具。
注意: 现在最新从官网上下载的JDK安装时会自动配置javac、java命令的路径到Path环境变量中去 ,所以javac、java可以直接使用。
配置方式
找到windows设置中的环境变量(以win11为例)
编辑
编辑
编辑
在系统变量中新建一个名为"JAVA_HOME"的新变量
编辑
变量值就是你 JDK 安装的位置
编辑
在系统变量 Path 中新建环境变量
编辑
点击新建,新建一个"%JAVA_HOME%\bin"的环境变量
编辑
JAVA_HOME:告诉操作系统JDK安装在了哪个位置(未来其他技术要通过这个找JDK)
Path:告诉操作系统JDK提供的javac(编译)、java(执行)命令安装到了哪个位置
Java三大平台
Java SE
Java SE (Java Standard Edition)标准版:
其他两个版本的基础,支持面向桌面级应用的Java平台,提供了完整的Java核心API
Java EE
Java EE(Java Enterprise Edition)企业版:
是为开发企业环境下的应用程序提供的一套解决方案
用于Web方向的网站开发。(主要从事后台服务器的开发)
Java ME
Java ME(Java Micro Edition)小型版
支持Java程序运行在移动终端(手机、PDA)上的平台,渐渐的没落了,已经被安卓和IOS给替代了
Java主要特性
- 面向对象: Java是一种面向对象的编程语言,它支持封装、继承和多态等面向对象的特性,使得程序的设计和开发更加模块化、可扩展和可维护。
- 安全性: Java提供了一系列安全特性,例如内置的安全机制和沙箱环境,可以防止恶意代码对系统的破坏和数据的泄露。Java还提供了安全管理器,可以控制程序的访问权限,确保程序只能访问授权的资源。
- 多线程: Java内置了对多线程编程的支持,可以方便地创建和管理多个线程,实现并发执行的程序。多线程可以提高程序的性能和响应速度,同时也能更好地利用多核处理器的优势。
- 简单易用: Java的语法相对简单,易于学习和理解。它提供了丰富的标准库和工具,可以简化开发过程,提高开发效率。Java还具有自动内存管理的特性,可以减少内存泄露和空指针异常等常见问题。
- 开源: Java是一种开源的编程语言,其核心库和开发工具都是开源的,可以免费使用和修改。这使得Java拥有庞大的开发者社区和丰富的第三方库,可以方便地获取和共享代码资源。
- 跨平台: Java的跨平台特性使得编写一次代码(.class文件)可以在不同的操作系统上运行,无需针对不同的平台进行重新编译。这是通过Java虚拟机(JVM)实现的,它可以将Java字节码解释或编译成特定平台的机器码。
Java语言跨平台原理
- 操作系统本身其实是不认识Java语言的。
- 但是针对于不同的操作系统,Java提供了不同的虚拟机。
Java语言的跨平台性是通过Java虚拟机(JVM)实现的。
JVM是Java的核心组件,它充当了一个翻译官的角色。
当你编写Java代码并进行编译时,它会生成字节码文件(.class)
这些字节码文件是与特定平台无关的中间代码。
在运行Java程序时,操作系统会调用相应平台的JVM。JVM会将字节码翻译成操作系统能够理解的机器码,然后在操作系统上执行这些机器码。
这个过程使得Java程序可以在不同的操作系统上运行,而无需对源代码进行修改或重新编译。这就是Java语言跨平台的原理。
Hello world案例
HelloWorld案例是指在计算机屏幕上输出"HelloWorld"这行文字。各种计算机语言都习惯使用该案例作为第一个演示案例。
Java程序开发流程
- 编写程序
使用Java编程语言编写程序代码,包括定义类、方法、变量和逻辑等
- 编译程序
使用Java编译器(javac) 将程序代码编译成字节码文件 (以.class为扩展名) ,检查代码的语法和语义错误
- 运行程序
使用Java虚拟机(JVM)加载并解释字节码文件,将其转换为特定平台的机器码,并执行程序逻辑,使得程序能够在不同的操作系统上运行
typescript
public class Main{
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
这段代码是一个简单的Java程序,用于向控制台打印输出"Hello world!"。
代码的结构如下:
public class Main
:这是定义一个公共类的关键字。类名为Main,这是Java程序的入口类。public static void main(String[] args)
:这是一个公共静态方法,作为程序的入口点。它接受一个字符串数组参数args。System.out.println("Hello world!")
:这是一个用于打印输出的语句。它将字符串"Hello world!"打印到控制台。
当你运行这段代码时,它将输出"Hello world!"到控制台。这是Java程序的传统入门示例,用于验证你的开发环境是否正确配置和运行。