《疯狂Java讲义(第4版)》-----第1章【Java语言概述与开发环境】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ccnuacmhdu/article/details/82792132

编译型语言和解释型语言

编译型语言和解释型语言(百度百科)

  • 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成
    为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器(翻译成的是特定平台的机器语言,要是跨平台还是需要拷贝源代码再重新编译),跨平台性差些。如C、C++、Delphi等

  • 解释性语言:编写的程序不进行预先编译,以文本方式存储程序代码。在发布程序时,看起来省了道编译工序。但是,在运行程序的时候,解释性语言必须先解释再运行。每个平台上的解释器负责将源程序解释成特定平台的机器指令即可。解释型语言可以方便实现源程序的移植,但是以牺牲程序执行效率为代价的。

Java语言的运行机制

在这里插入图片描述
JVM、JRE、JDK

  • JVM是一个抽象的计算机,和实际计算机一样,具有指令集,负责执行指令,管理数据、内存和寄存器。
  • JRE(Java Runtime Environment)Java运行时环境。
  • JDK(Java SE Development Kit)Java标准版开发包,是Oracle提供的一套用于开发Java应用程序的开发包,提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、JRE以及常用的Java类库等
  • Java EE SDK(Software Development Kit)包含JDK

环境变量配置

我的电脑—右键—属性—高级系统设置—环境变量,添加下面这个系统变量,把JDK安装的路径拷贝过来,填写在变量值里。
在这里插入图片描述
编辑Path,添加两个值如下。如果显示的是一行路径,没有这么分行显示,直接把这两个路径添加在前面的路径后面。注意每两个路径之间要有英文状态下的分号隔开。
在这里插入图片描述
配置好环境后,测试是否安装成功?
Windows+R组合键,输入cmd回车,进入命令行界面,分别输入javac和java,出现下面界面,表明环境配置成功。
在这里插入图片描述
在这里插入图片描述

第一个Java程序

在记事本中写如下代码:

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

}

然后,保存,并把文件名改为HelloWorld.java,笔者把该文件放在了D盘的根目录下,并把命令行目录切换到D盘,然后执行javac,java命令,就完成了第一个程序的执行!具体如下:
在这里插入图片描述

  • 注意:执行javac命令后,会生成.class文件,源程序里面有几个类就会生成几个.class文件

  • 注意:如果去除main方法,再用javac命令,仍会生成相应的.class文件,但是再用java命令,会报错,找不到main方法。因为Java解释器规定:如果某个类能被解释器直接解释执行,则这个类必须包含main方法。Java虚拟机是从main方法开始解释执行,main方法是Java程序的入口。

  • 注意:.java文件最多只含有一个public类,如果有public类,.java文件名必须和public类名相同。

垃圾回收

Java程序的内存分配和回收都是由JRE在后台自动进行的。通常JRE会提供一个后台线程来进行检测和控制,一般都是在CPU空闲或内存不足时自动进行垃圾回收,而程序员无法精确控制垃圾回收的时间和顺序等。

Java的堆内存存储着正在运行的应用程序所建立的所有对象。所有JVM的实现都有一个垃圾回收器管理的堆内存。

当一个对象没有被引用时,就成了内存垃圾。JVM垃圾回收器除了可以释放垃圾对象的内存,还可以清除内存碎片。碎片整理将占用的堆内存移到堆的一端。垃圾回收器只能回收内存资源,对物理资源,如数据库连接、磁盘I/O资源等无能为力。为了更快地让垃圾回收器回收不用的对象,可以让这个对象的引用变量设置为null。

猜你喜欢

转载自blog.csdn.net/ccnuacmhdu/article/details/82792132
今日推荐