1、JAVA程序的运行机制

       Java是一种特殊的高级编程语言,它既具有解释性语言的特征,也具有编译型语言的特征,因为Java程序都要先经过编译再解释执行两个步骤。也正是因为这个特性,Java可以做到一次编写,多平台运行。Java程序编写好后,最终执行之前都需要编译成字节码文件,也就是以.class为后缀的文件,这些字节码不面向任何具体平台,只面向JVM(Java Virtual Machine)。JVM即Java语言里负责执行字节码文件的是Java虚拟机。跨平台运行的关键就在于此,不同的平台上都安装了对应的JVM,而不同的JVM都可以解释执行.class文件。

Oracle公司制定的Java虚拟机规范在技术上规定了JVM的统一标准,具体定义了JVM如下细节:

  • 指令集
  • 寄存器
  • 类文件的格式
  • 垃圾回收堆
  • 存储区

2、在命令行中常用的Java命令及参数

      平时都是用开发工具编译执行程序,久而久之,反而忘记了最基础的Java编译和执行命令,因此复习记录一下:

  • javac [-d 目录|-verbose] file
  • java [-classpath(cp) dir] file
  • jar -zcvf dir file
  • javap [-private(p)] file

javac命令

我们都知道javac命令用来编译文件
【1】Java知识回顾-Java语言概述与开发环境
-d :在javac后加-d .会把java文件放在指定的包下。
但当我们的java程序在某个包下时,如果还用javac 编译则会有
【1】Java知识回顾-Java语言概述与开发环境
-verbose:显示每个所加载的类和每个所编译的源文件的有关信息
【1】Java知识回顾-Java语言概述与开发环境

java命令

对于java命令,我们都知道它可以运行java程序
【1】Java知识回顾-Java语言概述与开发环境
java -classpath dir:指定输入.class文件的位置(可以联想到CLASSPATH环境变量)
【1】Java知识回顾-Java语言概述与开发环境

jar命令:打包.class文件

【1】Java知识回顾-Java语言概述与开发环境
如果有多个文件,用空格隔开

javap命令:反编译.class文件(这个可以多记下,以前很少用)

【1】Java知识回顾-Java语言概述与开发环境

 

3、垃圾回收机制

       相比其他语言,Java的有点之一是lava回收机制。Java程序员不需要程序员直接控制内存回收,Java程序的内存分配和回收都是由JRE在后台自动进行的。JRE会负责回收哪些不再使用的内存,这种机制被称为垃圾回收(garbage collection),通常JRE会提供一个后台线程来进行检测和控制,一般在CPU空闲或内存不足时自动进行垃圾回收,而程序员无法精确通知垃圾回收的时间和顺序等。这里只对相关概念进行了解,不做深入说明。

       垃圾回收机制回收的区域?

       Java的堆内存,堆内存是一个运行时的数据区,用以保存类的实例(对象),Java虚拟机的堆内存中存储着正在运行的应用程序所建立的所有对象。所有的JVM实现都有一个由垃圾回收器管理的堆内存。

      垃圾回收机制的优点?

  • 提高编程效率。
  • 保护程序的完整性,垃圾回收是Java语言安全策略的一个重要部分。     

      垃圾回收机制的缺点?

   垃圾回收的一个潜在缺点是它的开销影响程序性能。    

 

相关文章:

猜你喜欢
相关资源
相似解决方案