Java程序运行机制与开发环境

匿名 (未验证) 提交于 2019-12-02 21:53:32
  1. Java既是编译型语言,又是解释型语言
    java源文件首先需要通过javac编译生成后缀名为.class的字节码文件(与平台无关,只面向JVM),然后使用Java虚拟机将字节码解释成特定平台上的机器码运行。
  2. Java虚拟机JVM
  • 不同平台上的JVM不同,但是都提供了相同的接口。
  1. 开发Java准备
  • 下载安装Java8的JDK,并将jdk的安装路径添加到环境变量中。
  • 开发Java需要安装JDK,JDK包含Java编译器(javac命令工具)、Java运行时环境(JRE)、常用的Java类库等。
  • JRE包含JVM,还包含类加载器、字节码校验器及大量的基础类库等环境支持。
  • 如果只是运行Java程序,可以只安装JRE。
  1. 第一个Java程序
  • 编写第一个著名的程序:HelloWorld。
    pulic calss HelloWorld
    {
    public static void main(String[] args)
    {
    System.out.println("HelloWorld");
    }
    }
  • 使用javac命令编译java程序。
    • 命令行输入cmd,进入Java源文件所在的路径
    • 输入如下命令,其中destdir是目标生成路径
      javac -d destdir HelloWorld.java
    • 进入destdir路径下,可以看到已经生成了后缀名为.class的字节码文件
  • 使用java命令解释执行字节码文件。
    • 运行如下命令执行程序
      java HelloWorld
  1. Java程序的基本规则
  • Java是纯面向对象的语言,类是Java程序的最小程序单位。
  • javac可以编译一个类,而解释执行一个类则需要以main方法为入口,main方法的写法是固定的。
  • Java严格区分大小写,类名首字母大写,方法名第一个单词首字母小写,关键字小写。
  • 一个java源文件最多只能定义一个public类,因源文件名需要与public类的类名相同。
  1. 垃圾回收机制
  • 显式进行垃圾回收的缺点
    • 忘记回收导致内存泄漏,降低系统性能
    • 错误回收程序核心类库的内存,导致系统崩溃
  • Java虚拟机的堆内存用来保存类的对象,JVM的一个超级线程会进行检测,如果一个对象长时间不被引用GC会释放其所占用的内存空间,同时进行碎片整理将所占用的堆内存移到堆的一端,整理出新内存分配给其他对象。
  • 使用GC的优点
    • 提高编程效率
    • 保护程序的完整性和安全性
  • 使用GC的缺点
    • 垃圾回收在cpu空闲或者内存不足时进行,影响程序性能
  • GC的特点
    • 只能回收JVM堆内存的内存空间,不能回收物理内存的资源
    • 将对象的引用变量设置为null可以暗示GC回收该对象
    • 调用Runtime对象的gc()或者System.gc()仅仅是建议系统进行垃圾回收,不能精确控制
  1. 使用IDE工具
  • 下载安装Eclipse开发工具
  • 配置自动补全
    • Windows-Preferences-Java-Editor-Content Asist,将Auto activation triggers for Java改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”即可
  • 熟悉快捷键
    • 自动导入相关包:Ctrl+Shift+O
    • ...
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!