灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3013回复:0

java程序运行机制

楼主#
更多 发布于:2012-09-08 09:37


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

49_3710_b760af590792ab4.gif[删除]


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


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

49_3710_5b5625bb4d8e16a.gif[删除]




喜欢0 评分0
游客

返回顶部