java准备阶段的学习

java运行机制:

        程序员编写*.java文件,使用 javac 编译该文件生成*.class字节码文件,这个字节码文件是与平台无关的,需要解释器解释并执行,java中用于此功能的是JVM,即,java虚拟机。每个平台的JVM都是不同的,但是都提供了相应的接口用于执行字节码文件,JVM解释执行字节码文件之后就会生成对应平台的机器码。JVM在不同的平台上解释执行相同的字节码文件,生成对应不同平台的机器码,这种机制可以把JVM看成上下两部分,向上提供给java字节码程序的接口完全相同,向下适应不同平台的接口互不相同。

        相同的字节码文件想在不同的平台上使用是不可能的,只有通过JVM进行转换,将其转成对应平台的机器码才能执行,所以这就是伟大的java跨平台机制的关键点--------JVM机制。

JDK , JRE, JVM    

        JRE是java运行环境,Java Runtime Environment,其包含了核心虚拟机JVM,类加载器,字节码校验器以及大量的基础类库等其他环境。

        JDK是开发环境,包含了JRE。    

垃圾回收机制

        JAVA程序的内存分配和回收都是由JRE在后台自动进行的。JRE会提供一个后台线程来进行检测和控制,一般都是在CPU空闲或内存不足的时候自动进行垃圾回收,程序员时无法精确控制垃圾回收的时间和顺序。java的堆内存保存类的实例(对象),java虚拟机的堆内存中存放着正在运行的应用程序所建立的所有对象,垃圾回收机制会自动回收不再被程序引用的对象。

        优点:提高编程效率,保护程序完整性

        缺点:开销影响程序性能,回收机制不完善。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容