java运行环境

1.      java跨平台原理

java运行图片

java运行图片

1)     java程序经过编译后会生成与平台无关的字节码文件;

2)     jvm可以解释执行字节码文件(JVM不是跨平台的)

2.      java开发环境

1)     JDK :java Development Kit,java标准开发包,是sun公司提供的一套用于开发java应用程序的开发包,它提供了编译 运行java程序所需的各种工具和资源,包括java编译器,java运行环境,以及常用的java类库

2)     JRE :java运行时环境 (java Runtime Environment),是运行java程序必需的条件。

   JVM和JRE的关系:

      JRE包含JVM。JVM是运行java程序的核心虚拟机,而运行java程序不仅需要核心虚拟机,还需要其他类加载器,字节码校验器以及大量的基础类库。JRE除了包含JVM之外,还包含运行java程序的其他环境支持。

3.      垃圾回收机制

在java中,当没有对象引用指向指向原先分配给某个对象的内存时,该对象内存便成为了垃圾,JVM的一个系统级线程会自动释放该内存。事实上,除了释放没用的对象外,垃圾回收也可以清除内存记录碎片。

1)     垃圾回收的优点:垃圾回收机制能很好的提高编程效率;垃圾回收机制保护程序的完整性,垃圾回收是java安全性策略的一个重要部分。垃圾回收的缺点:影响程序性能。

2)     垃圾回收的特点:

a.      垃圾回收机制的工作目标是回收无用对象的内存空间,这些内存空间都是JVM堆内存里的内存空间,垃圾回收只能回收内存资源,对其他物理资源,如数据库连接,磁盘I/O等资源则无能为力。

b.     为了更快地让垃圾回收机制回收那些不再使用的对象,可以将该对象的引用变量设置为null,通过这种方式暗示垃圾回收机制可以回收该对象。

c.      垃圾回收发生的不可预知性。由于不同的JVM采用了不同的垃圾回收机制和不同的垃圾回收算法,因此它有可能是定时发生的,有可能是当CPU空闲时发生的,也有可能是等到内存消耗极限时发生,这和垃圾回收实现机制的选择及具体的设置都有关系。

d.     垃圾回收精确性主要包括两个方面:一是垃圾回收机制能精确地标记活着的对象;二是垃圾回收器能够精确地定位对象之间的引用关系。

e.      现在的JVM有多种不同的垃圾回收实现,每种回收机制因其算法差异可能表现各异,有的当垃圾回收开始时就停止应用程序的运行,有的当垃圾回收运行时允许应用程序的线程运行,还有的在同一时间允许垃圾回收多线程运行。<参考自  疯狂java讲义>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章