1、Java语言及环境搭建

207 阅读4分钟

Java语言3个发展方向

1)J2SE(最重要) Java语言最基础的核心类

2)J2EE 企业级应用类,在J2SE基础之上封装 EJB、Servlet、JSP、XML等

3)J2ME 常用于嵌入式设备,如手机、智能卡,现在被安卓替代

Java语言特点

1)简洁高效

虽然Java是基于C语言,但是Java去除了指针概念

2)可移植性

Java程序,一次编译,到处执行,原因是Java程序在JVM上运行,由JVM去适配不同的操作系统

3)面向对象

Java是面向对象的语言,三大特性:封装、继承、多态

4)解释型(先编译,后解释)

5)适合做分布式

6)多线程处理能力

解释型语言和编译型语言

高级语言通常分为解释型和编译型

但是Java是两种类型的集合

Java程序运行机制

1)先编译 Java源文件*.java 经过编译生成字节码文件*.class,由jdk安装目录下bin/javac.exe执行编译

2)后解释 字节码文件*.class 经过JVM虚拟机中的解释器进行解释,最后运行程序

  • 关于编译,Java提供javac命令

    在cmd中输入javac HelloWorld.java可以直接编译生成*.class文件

    注意,反编译,就是把*.class文件恢复成*.java,常见的反编译工具 jd-gui

  • 关于解释,直接用java命令即可启动JVM

    在cmd中输入java HelloWorld可以解释运行*.class字节码文件,达到运行程序目的

    注意,java解释字节码文件时,不用带.class后缀,JVM会自行查找

1647311932.png

JVM虚拟机

1)JVM是什么

JVM是Java自带的虚拟机,附带在JDK安装包中

2)JVM可以做什么

JVM虚拟机 读取经过编译后的*.class文件,并解释它完成程序运行

JVM还是Java语言跨平台的关键,java程序只需要在JVM上运行,由JVM去适配操作系统

所以JDK有不同系统的版本

Java开发环境搭建

1)JDK安装

classpath作用,指定Java类的执行路径(JVM通过classpath路径加载类文件)

2)IDEA安装

3)Maven安装(gradle)

4)Git安装


问题解答

解释型和编译型有啥区别?

计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言

所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码

而这种转换的方式有两种:

  • 编译
  • 解释

1)编译型语言(一次编译,多次执行)

针对特定的平台,使用专门的编译器

将高级语言源代码一次性的编译成可被该平台硬件执行的机器码

并包装成该平台所能识别的可执行性程序的格式。

编译型语言写的程序执行之前,需要一个专门的编译过程

把源代码编译成机器语言的文件,如exe格式的文件

以后要再运行时,直接使用编译结果即可,如直接运行exe文件

因为只需编译一次,以后运行时不需要再编译,所以编译型语言执行效率高。

2)解释型语言(每次执行都需要重新解释)

使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行

解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行

解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低。

java配置环境变量

1)PATH 配置操作系统中所执行的命令的路径

如cmd中执行javac命令,去path路径中找到javac.exe再去执行

%JAVA_HOME%\bin

%JAVA_HOME%\jre\bin

2)CLASSPATH 配置class文件所在路径

操作系统会从此路径下寻找class文件

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

开头的“.”表示class文件从当前路径下找,当找不到时从“.”后面的路径下找

3)JAVA_HOME 本机JDK安装的绝对路径

D:\java