码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-04-06 22:33:52      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:解释执行   nop   lips   ide   面向对象   jdk   windows   垃圾   安装jdk   

  1. Java既是编译型语言,又是解释型语言
    java源文件首先需要通过javac编译生成后缀名为.class的字节码文件(与平台无关,只面向JVM),然后使用Java虚拟机将字节码解释成特定平台上的机器码运行。
  2. Java虚拟机JVM
    不同平台上的JVM不同,但是都提供了相同的接口。
  3. 开发Java准备
    • 下载安装Java8的JDK,并将jdk的安装路径添加到环境变量中。
    • 开发Java需要安装JDK,JDK包含Java编译器(javac命令工具)、Java运行时环境(JRE)、常用的Java类库等。
    • JRE包含JVM,还包含类加载器、字节码校验器及大量的基础类库等环境支持。
    • 如果只是运行Java程序,可以只安装JRE。
  4. 第一个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
  5. Java程序的基本规则
    • Java是纯面向对象的语言,类是Java程序的最小程序单位。
    • javac可以编译一个类,而解释执行一个类则需要以main方法为入口,main方法的写法是固定的。
    • Java严格区分大小写,类名首字母大写,方法名第一个单词首字母小写,关键字小写。
    • 一个java源文件最多只能定义一个public类,因源文件名需要与public类的类名相同。
  6. 垃圾回收机制
    • 显式进行垃圾回收的缺点
      • 忘记回收导致内存泄漏,降低系统性能
      • 错误回收程序核心类库的内存,导致系统崩溃
    • Java虚拟机的堆内存用来保存类的对象,JVM的一个超级线程会进行检测,如果一个对象长时间不被引用GC会释放其所占用的内存空间,同时进行碎片整理将所占用的堆内存移到堆的一端,整理出新内存分配给其他对象。
    • 使用GC的优点
      • 提高编程效率
      • 保护程序的完整性和安全性
    • 使用GC的缺点
      • 垃圾回收在cpu空闲或者内存不足时进行,影响程序性能
    • GC的特点
      • 只能回收JVM堆内存的内存空间,不能回收物理内存的资源
      • 将对象的引用变量设置为null可以暗示GC回收该对象
      • 调用Runtime对象的gc()或者System.gc()仅仅是建议系统进行垃圾回收,不能精确控制
  7. 使用IDE工具
    • 下载安装Eclipse开发工具
    • 配置自动补全
      • Windows-Preferences-Java-Editor-Content Asist,将Auto activation triggers for Java改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”即可
    • 熟悉快捷键
      • 自动导入相关包:Ctrl+Shift+O
      • ...

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

标签:解释执行   nop   lips   ide   面向对象   jdk   windows   垃圾   安装jdk   

原文地址:https://www.cnblogs.com/pycrab/p/8728893.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!