Java基础|Java特性与HelloWorld运行流程

学习内容来自:MOOC,传智播客

【Java基础】

Java语言特点:面向对象、开源、跨平台、安全稳定、支持多线程。

跨平台如何实现:通过JVM实现,JVM充当Java和不同OS之间的翻译器,不同OS对应不同JVM。

Java语言的平台:JavaSE、JavaME(Android)、JavaEE(Web)

JDK、JRE、JVM的作用及关系:

  • 作用:JVM保证Java语言跨平台;JRE是Java程序的运行环境;JDK是Java程序的开发环境
  • 关系:JDK:JRE+工具;JRE:JVM+类库
Java基础|Java特性与HelloWorld运行流程_第1张图片

Java发展历程:

Java基础|Java特性与HelloWorld运行流程_第2张图片

Java不同版本特性:

Java基础|Java特性与HelloWorld运行流程_第3张图片

Java可以做什么:

  • 面向对象的应用开发
  • 各类网络应用程序的开发
  • 计算过程的可视化
  • 动态画面/交互操作
  • Internet的系统管理
  • 数据库操作
  • And more ……

与C++相比,Java:

  • 无直接指针操作
  • 自动内存管理
  • 数据类型长度固定
  • 不用头文件
  • 不包含结构和联合
  • 不支持宏
  • 不用多重继承
  • 无类外全局变量
  • 无GOTO

【Java运行机制】

Java三种核心机制:

  • Java 虚拟机(Java Virtual Machine)
  • 代码安全性检测(Code Security)
  • 垃圾收集机制(Garbage collection)

Java程序的编译与运行:

Java基础|Java特性与HelloWorld运行流程_第4张图片

Java虚拟机:

在一台计算机上由软件或硬件模拟的计算机。

Java虚拟机(JVM)读取并处理经编译过的字节码class文件。

Java虚拟机规范定义了:

  • 指令集
  • 寄存器集
  • 类文件结构
  • 堆栈
  • 垃圾收集堆
  • 内存区域

Java运行环境(JRE):JRE = JVM + API(Lib )

JRE运行程序时的三项主要功能:

  • 加载代码:由class loader 完成;
  • 校验代码:由bytecodeverifier 完成;
  • 执行代码:由runtime interpreter完成。

JVM保证Java跨平台和安全。

Java自动垃圾回收机制:

在C/C++ 等语言中,由程序员负责回收无用内存

Java语言自动垃圾回收

  • 系统级线程跟踪存储空间的分配情况
  • 在JVM的空闲时,检查并释放那些可被释放的存储器空间
  • 程序员无须也无法精确控制和干预该回收过程

【HelloWorld】

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

程序解释:

  • Java程序的最基本单位是类,所以我们要定义一个类。
  • Java程序要想执行,必须有main方法。(格式:public static void main(String[] args))

Java程序的开发执行流程:

  • 编写java源程序(.java)
  • 通过javac命令编译生成.class文件(编译时要带上.java后缀)
  • 通过java命令运行.class文件(java命令后面跟的是class名)

常见的问题:

  • 扩展名被隐藏
  • 文件名称和类名可以不一致。但是注意:javac后面跟的是文件名+扩展名;java后面跟的类名不带扩展名
  • Java语言严格区分大小写,请注意。
  • 见到非法字符: \65307肯定是中文问题。我们写程序要求标点符号必须全部是英文状态。
  • 括号的配对问题。一般来说,括号都是成对出现的。
  • 遇到在类 HelloWorld 中找不到主方法, 肯定是主方法的格式问题。

【环境变量】

path环境变量(掌握):

path环境变量的作用:保证javac命令可以在任意目录下运行

path配置的方案:

  1. 新建:变量名:JAVA_HOME,变量值:D:\develop\Java\jdk1.7.0_60
  2. 修改:变量名:Path,变量值:%JAVA_HOME%\bin;以前的内容

classpath环境变量(理解):

classpath环境变量的作用:保证class文件可以在任意目录下运行

classpath环境变量的配置:新建:变量名:classpath,变量值:E:\JavaSE\day01\code\HelloWorld案例

可以不用配置classpath,因为也会在其他地方写程序

你可能感兴趣的:(Java)