黑马程序员NO1.Java【编译型和解释型、JVM、安装JDK和JRE 、EditPlus配置JDK、垃圾回收机制】

---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! ----------------------

NO1.Java学习笔记

一、编译型和解释型

【编译】程序源代码=>目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率 较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。

【解释】程序源代码=>中间码(字节码)=>目标代码(机器语言)并立即执行。中间代码的解释是由软件(不同平台软件不同)支持的,不能直接使用硬件,软件解释器通常会导致执行效率较低。

Javac.exe将java源代码编译成字节码文件(.class文件)。

Java.exe将.字节码文件(class文件)解释成可执行的机器指令。

二、JVM(Java Virtual Machine)

【Java虚拟机】负责执行字节码文件(将字节码解释成机器码,从而提高执行效率),所有平台上的JVM向编译器提供相同的编程接口。

 黑马程序员NO1.Java【编译型和解释型、JVM、安装JDK和JRE 、EditPlus配置JDK、垃圾回收机制】_第1张图片

三、JDK和JRE

JDK(Java SE Development Kit),即Java标准版开发包,包括java编译器、java 运行环境,以及常用的java类库。

JRE(Java Runtime Environment),java运行时环境。

JRE包含JVM,JVM是运行Java程序的核心虚拟机,而运行java 程序不仅仅需要核心虚拟机,还需其他的类加载器、字节码校验器以及大量的基础类库【环境支持】。

四、安装JDK和JRE 

【Windows操作系统】根据Path环境变量来查找命令。Windows系统不区分大小写,Linux系统区分大小写。

在环境变量Path后面追加:JDK的安装路径\bin;

【用户变量与系统变量】一者只针对当前用户,一者针对所有的用户。

设置classpath环境变量的目的,在于告诉java执行环境,在哪些目录下可以找到你所执行的java程序所需的类(源文件、字节码文件)

cmd -> set classpath (显示classpath环境变量)临时

Set classpath=.;c:/myclass;

.;是指当前路径

Set classpath=.;%classpath%

【Linux操作系统】进入当前用户的home路径下,ls -a  该命令列出当前路径下所有文件,包括隐藏文件,通过 .bash_profile文件来设置。在该文件的PATH变量后添加jdk安装路径/bin

PATH=.:$PATH:&HOME/bin:jdk安装路径/bin

多个路径用冒号:作为分隔符,$path则用于引用原来的PATH变量值。

并在.bash_profile文件最后添加导出PATH变量的语句:export PATH

重新登录Linux平台,或者执行如下命令:source .bash_profile

通过这两种方式运行该文件,让文件中设置的PATH变量值生效。

五、EditPlus配置JDK编译java 程序

六、Java程序的基本规则

Java 程序必须以类(class)的形式存在,类是java 程序的最小程序单位,java 程序不允许可执行语句、方法等成分独立存在,所有的程序布冯都是必须放在类定义里。

源文件的主文件名必须与该Public类的类名相同,并且一个Java源文件里最多只能定义一个public类。

//java程序的入口方法,程序将从这里开始执行

public static void main(String[] args)

{

      // String[] args;字符串数组

//向控制台打印一条语句

System.out.println("My name is wuxiangdong");

System.out.println("Hello World!");

}

Main方法里放置程序员需要执行的可执行性语句。

七、垃圾回收机制

显示进行垃圾回收:程序忘记及时回收无用内存,从而导致内存泄漏,降低系统性能;程序错误地回收程序核心类库的内存,从而导致系统崩溃。

Java程序的内存分配和回收都是由JRE在后台自动回收不再使用的内存,这种机制称为垃圾回收机制。【一条超线程来检测和控制】

【垃圾回收】是一个动态存储管理技术,它自动地释放不再被程序引用对象,按照特定的垃圾回收算法来实现内存资源的自动回收功能。

创建对象和垃圾回收器释放丢弃对象所占的内存空间,内存会出现碎片。碎片是分配给对象的内存块之间的空闲内存区,碎片整理将所占用的堆内存移到堆的一端,JVM将整理出的内存分配给新的对象。

【优点】提高编程效率(花时间解决难懂的存储器问题);保护程序的完整性。

【特点】只能回收内存资源(无用对象的内存空间);通过将该对象的引用变量设置为Null,通过这种方式暗示垃圾回收机制可以回收该对象;不同JVM的垃圾回收机制和算法不同;


---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! ----------------------详细请查看: http://edu.csdn.net

你可能感兴趣的:(java)