java程序运行机制

       接触java也将近三周了,从java的底层运行机制,到GUI界面设计,都是完全靠代码编程。学习java之前使用vb.net开发,同样的是面向对象的开发,vb.net把很多底层类的的编程和界面设计都封装的特别好。我们只是简单地为自己使用。而java可以更灵活,依靠强大的api文档,可以完全按照自己的意愿编程。使用java编程才是“真正的编程”。vb.net是跨语言平台,而java是跨平台的一种编程语言。

 

     java之所以灵活,高效,安全。是因为有自己的独立的运行机制,最核心的两种机制-虚拟机(Virtual Machine)和垃圾收集机制(Grabage Collection).

 

     核心机制-虚拟机(virtual  machine)

      Java虚拟机(JVM)一种用于计算机设备的规范,可用不同的方式(软件或硬件)加以实现。好比一个简单地操作系统,有着自己独立的cpu,硬件 、堆栈、寄存器等,还具有相应的指令系统。

      JVM有自己的编译器和解释器,通过一次编译,再根据不同的系统解释(一边解释一边执行)为不同的目标文件(字节码),使得在不同的系统平台上直接执行,实现一次编译,到处运行。所以不同的操作系统对应着不同的虚拟机。

      java程序运行机制_第1张图片

      编译器(javac)将程序编译成字节代码的Class文件,然后在装有JDK(Java Development Kit  java环境运行)通过解释器(java)编译执行。

 

 

        核心机制-垃圾收集机制(Grabage Collection)

       其一,消除了程序员在编程过程中手动回收内存的责任。其二:实现了完全自动回收内存。其三根据程序执行时内存空间的分配不同,如下图中对象(new)或变量(成员变量)等等的生命期不同,java提供了系统机线程跟踪内存空间的分配情况,自动完成内存的释放。

       java内存的分配大致如下图

      java程序运行机制_第2张图片

       

    

     

 

     

   

 

你可能感兴趣的:(java,jvm,编程,虚拟机,VB.NET,编译器)