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

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命令用来编译文件
Snipaste_2019-07-27_23-08-58.jpg
-d :在javac后加-d .会把java文件放在指定的包下。
但当我们的java程序在某个包下时,如果还用javac 编译则会有
Snipaste_2019-07-27_23-32-00.jpg
-verbose:显示每个所加载的类和每个所编译的源文件的有关信息
Snipaste_2019-07-27_23-37-54.jpg

java命令

对于java命令,我们都知道它可以运行java程序
Snipaste_2019-07-27_23-42-27.jpg
java -classpath dir:指定输入.class文件的位置(可以联想到CLASSPATH环境变量)
Snipaste_2019-07-27_23-47-30.jpg

jar命令:打包.class文件

Snipaste_2019-07-27_23-50-35.jpg
如果有多个文件,用空格隔开

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

Snipaste_2019-07-28_00-00-57.jpg

 

3、垃圾回收机制

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

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

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

      垃圾回收机制的优点?

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

      垃圾回收机制的缺点?

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值