Java(1)--基本概述


1.Java运行开发环境java

Sun在1996年年初发布JDK1.0(首版)。这个版本包含两个部分:运行环境(jre)和开发环境(jdk)。数据库

(1)运行环境包括:核心API、集成API、用户界面API、发布技术、Java虚拟机(JVM)5各部分;数组

(2)开发环境包括:编译Java程序的编译器(javac命令)。ide


2.Java程序的运行机制和JVM:spa

(1)Java语言编译后不会生成特定平台的机器码,而是生成一种与平台无关的字节码(xxx.class),必须用Java解释器解释执行。对于Java而言编译和解释缺一不可;以下图:线程

       wKiom1aYo_aSGtOEAAB8mgUgpTA776.png

(2)Java中负责解释执行字节码的是Java虚拟机,即JVM(Java virtual machine)。Java字节码不面向任何平台,只面向JVM。不一样平台的JVM是不一样的,可是他们都提供相同的接口;3d


3.Java程序的编译和运行对象

(1)使用记事本便可,编译命令:Javac -d . HelloWorld.java(-d 表示生成.class文件的目录,.表示当前目录);运行命令:Java Java的类名(注意:运行时Java命令后接类名,而非.class文件名,更非源Java文件名)。blog

(2)注意Java区分大小写。接口


4.关于Java程序:

(1)类是Java程序的最小单位。最简单的Java程序也就是仅有一个空类的程序class A{},可是该类只能编译经过,却不可运行,由于Java程序运行须要main方法入口;

(2)main方法的写法几乎是固定的,即必须由public static void修饰,参数必须是字符串数组类型(String[] args),通常的Java程序都有且仅有一个main方法,其余方法均由main方法直接或间接调用;

5.垃圾回收机制

(1)Java程序的内存分配和回收都是由JRE在后台自动进行的,JRE回收再也不使用的内存,称为垃圾回收(Garbage Collection -- GC);

(2)JRE会提供一个后台线程来检测和控制,通常是在CPU空闲或者内存不足时自动进行垃圾回收,而程序开发者没法精确控制垃圾回收的时间和顺序;

(3)堆内存中保存全部类的实例对象,若是再也不被程序所引用,则有垃圾回收机制自动释放;

(4)JVM除了释放没用的对象外,还能够清楚内存记录碎片(碎片是分配给对象内存快之间的空闲内存区),JVM将整理出来的内存分配给新的对象;

(5)关于GC的几点说明:

    a.GC只能回收内存资源,对于其余物理资源:数据库链接、磁盘I/O的资源无能为力;

    b.为了尽快使得无用的对象被回收,应将该对象赋null;

    c.Runtime.getRuntime().gc();和System.gc()方式只仅仅是建议系统回收垃圾;

相关文章
相关标签/搜索