随笔-29  评论-5  文章-0  trackbacks-0
程序执行过程:
1. Load到内存区。
在硬盘上有一块程序代码,要想运行,编译好的东西load到内存。然后操作系统代码找到

main方法,然后执行。

2. 找到main方法开始执行。
3. 执行过程中的内存管理。
一般分为四部分:
a. code segment: 存放代码,代码区
b. data segment: 静态变量,字符串常量
c. stack(栈): 局部变量
d. heap(堆): new出来的东西
posted on 2010-05-29 22:11 豪情 阅读(1856) 评论(2)  编辑  收藏 所属分类: Java基础

评论:
# re: Java程序执行过程 2010-05-29 22:15 | 豪情
1.Java程序执行包括加载类和实例化类两个阶段。
2.加载类阶段与实例化类阶段都是按照先父类后子类的顺序进行。
3. 加载类完成,立即形成Class类的一个对象,名字就是所加载类的类名,然后,该Class类的对象完成所加载类的静态成员的初始化。
4.JVM 启动的时候就加载了Class类,并且分配空间,完成了相关的初始化。
5.一个类的静态成员并不存在于new出来的堆区空间中,而是存在该类对应的Class类对象的空间里。


1.将程序编译成字节码的不是JDK;
JDK的全拼是java development kit,就是java开发工具包。
包括一些函数库或编译程序之类的。
将程序编译成字节码的应该是JVM。
2.你在从main函数开始,执行一个程序的时候,一个JVM实例也随之产生,
它的任务就是执行java程序,可以说JVM开始于一个main函数。
JVM启动后执行你的java程序,JVM加载并解析你在程序里写的类(已经被编译成.class了)。
3.静态变量在类被加载的时候被初始化。

from:http://topic.csdn.net/u/20081124/18/f394f255-0e34-48d8-a5e3-3db8ac4e8fc7.html  回复  更多评论
  
# re: Java程序执行过程 2013-06-15 16:52 | passerby
.class文件由jvm翻译,再load到内存,分配空间,执行  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: