﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-不愿游泳的鱼-文章分类-编译器、虚拟机</title><link>http://www.blogjava.net/nemo-zhp/category/5359.html</link><description>只有甘愿做生活中的小丑，才不会被生活腐蚀</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 06:40:42 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 06:40:42 GMT</pubDate><ttl>60</ttl><item><title>java虚拟机的运行过程</title><link>http://www.blogjava.net/nemo-zhp/articles/21702.html</link><dc:creator>nemo</dc:creator><author>nemo</author><pubDate>Mon, 28 Nov 2005 09:46:00 GMT</pubDate><guid>http://www.blogjava.net/nemo-zhp/articles/21702.html</guid><wfw:comment>http://www.blogjava.net/nemo-zhp/comments/21702.html</wfw:comment><comments>http://www.blogjava.net/nemo-zhp/articles/21702.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nemo-zhp/comments/commentRss/21702.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nemo-zhp/services/trackbacks/21702.html</trackback:ping><description><![CDATA[&nbsp;
<P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">java</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: 华文新魏">虚拟机对“运行时数据区”的描述是相当抽象的。不同的虚拟机实现可能具有很不同的内存限制，有的实现可能有大量的内存可用，有的可能很少。有的实现可以利用虚拟内存，有的则不能。规范本身对“运行时数据区”只有抽象的描述，这就使得</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">JAVA</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: 华文新魏">虚拟机可以很容易得在各种计算机和设备上实现。</SPAN></P>
<P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"><SPAN lang=EN-US style="FONT-FAMILY: Verdana">java</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: 华文新魏">虚拟机没有寄存器，其指令集使用</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">java</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: 华文新魏">栈来存储中间数据。这样设计的原因使</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">JAVA</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: 华文新魏">虚拟机的指令集尽量紧凑，同时也便于</SPAN><SPAN lang=EN-US style="FONT-FAMILY: Verdana">JAVA</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: 华文新魏">虚拟机在那些只有很少通用寄存器的平台上实现。另外，有助于虚拟机实现的动态编译器和即时编译的代码优化。</SPAN></P>
<P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: 华文新魏; mso-outline-level: 1">装载、连接以及初始化过程：</P>
<OL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.5in; DIRECTION: ltr; unicode-bidi: embed" type=1>
<LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=1><SPAN style="FONT-FAMILY: 华文新魏">装载——查找并装载类型的二进制数据</SPAN></LI>
<LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=2><SPAN style="FONT-FAMILY: 华文新魏">连接——执行验证，准备以及解析（可选）</SPAN></LI></OL>
<P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: 华文新魏; mso-outline-level: 1">验证</P>
<P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: 华文新魏; mso-outline-level: 2">确保被倒入类型的正确性。</P>
<P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: 华文新魏; mso-outline-level: 1">准备</P>
<P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: 华文新魏; mso-outline-level: 2">为类变量分配内存，并将其初始化为默认值。</P>
<P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: 华文新魏; mso-outline-level: 1">解析</P>
<P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: 华文新魏; mso-outline-level: 2">把类型中的符号引用转换为直接引用。</P>
<OL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.5in; DIRECTION: ltr; unicode-bidi: embed" type=1>
<LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=3><SPAN style="FONT-FAMILY: 华文新魏">初始化——将类变量初始化为正确的初始值</SPAN></LI></OL><img src ="http://www.blogjava.net/nemo-zhp/aggbug/21702.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nemo-zhp/" target="_blank">nemo</a> 2005-11-28 17:46 <a href="http://www.blogjava.net/nemo-zhp/articles/21702.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>