~ubuntu-branches/ubuntu/trusty/monodevelop/trusty-proposed

« back to all changes in this revision

Viewing changes to external/ikvm/website/build/site/devguide/concepts.html

  • Committer: Package Import Robot
  • Author(s): Jo Shields
  • Date: 2013-05-12 09:46:03 UTC
  • mto: This revision was merged to the branch mainline in revision 29.
  • Revision ID: package-import@ubuntu.com-20130512094603-mad323bzcxvmcam0
Tags: upstream-4.0.5+dfsg
ImportĀ upstreamĀ versionĀ 4.0.5+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 
2
<html>
 
3
<head>
 
4
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
5
<title>IKVM.NET Concepts</title>
 
6
<link type="text/css" href="../skin/page.css" rel="stylesheet">
 
7
</head>
 
8
<body text="#000000" bgcolor="#FFFFFF">
 
9
<!--================= start Navigation Path ==================-->
 
10
<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
 
11
<tr>
 
12
<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
 
13
</tr>
 
14
<tr>
 
15
<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 
16
</tr>
 
17
</table>
 
18
<!--================= end Navigation Path ==================-->
 
19
<!--================= start Banner ==================-->
 
20
<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
 
21
<tr>
 
22
<!--================= start Group Logo ==================-->
 
23
<td bgcolor="#294563"></td>
 
24
<!--================= end Group Logo ==================-->
 
25
<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://www.ikvm.net/"><img border="0" class="logoImage" alt="IKVM.NET" src="../images/project.gif" title="Java on .NET"></a></td>
 
26
<!--================= end Project Logo ==================-->
 
27
<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563"></td>
 
28
<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 
29
</tr>
 
30
<tr>
 
31
<td valign="bottom" bgcolor="#294563" colspan="2">
 
32
<!--================= start Tabs ==================-->
 
33
<div class="tab">
 
34
<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
 
35
<tr>
 
36
<td width="6"><img alt="" height="8" width="6" src="../skin/images/spacer.gif"></td>
 
37
</tr>
 
38
</table>
 
39
</div>
 
40
<!--================= end Tabs ==================-->
 
41
</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../skin/images/spacer.gif" class="spacer"></td>
 
42
</tr>
 
43
<tr>
 
44
<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 
45
</tr>
 
46
</table>
 
47
<!--================= end Banner ==================-->
 
48
<!--================= start Menu, NavBar, Content ==================-->
 
49
<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
 
50
<tr>
 
51
<td valign="top">
 
52
<table summary="menu" border="0" cellspacing="0" cellpadding="0">
 
53
<tr>
 
54
<!--================= start left top NavBar ==================-->
 
55
<td rowspan="3" valign="top">
 
56
<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
 
57
<tr>
 
58
<td bgcolor="#294563"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 
59
</tr>
 
60
<tr>
 
61
<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
 
62
</tr>
 
63
<tr>
 
64
<td bgcolor="#294563"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 
65
</tr>
 
66
</table>
 
67
</td>
 
68
<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
 
69
<!--================= start Menu items ==================-->
 
70
<div class="menu">
 
71
<ul>
 
72
<li>
 
73
<font color="#CFDCED">About</font>
 
74
<ul>
 
75
    
 
76
<li>
 
77
<a href="../index.html" title="">Home</a>
 
78
</li>
 
79
    
 
80
<li>
 
81
<a href="../download.html" title="">Download</a>
 
82
</li>
 
83
    
 
84
<li>
 
85
<a href="../uses.html" title="">Uses</a>
 
86
</li>
 
87
    
 
88
<li>
 
89
<a href="http://weblog.ikvm.net" title="">News</a>
 
90
</li>
 
91
    
 
92
<li>
 
93
<a href="https://sourceforge.net/apps/mediawiki/ikvm/index.php?title=FAQ" title="">FAQ</a>
 
94
</li>
 
95
    
 
96
<li>
 
97
<a href="https://sourceforge.net/apps/mediawiki/ikvm/index.php?title=License" title="">License</a>
 
98
</li>
 
99
    
 
100
<li>
 
101
<a href="../stories.html" title="">Case Studies</a>
 
102
</li>
 
103
  
 
104
</ul>
 
105
</li>
 
106
<li>
 
107
<font color="#CFDCED">User's Guide</font>
 
108
<ul>
 
109
    
 
110
<li>
 
111
<a href="https://sourceforge.net/apps/mediawiki/ikvm/index.php?title=User%27s_Guide">Introduction</a>
 
112
</li>
 
113
    
 
114
<li>
 
115
<a href="https://sourceforge.net/apps/mediawiki/ikvm/index.php?title=Installation" title="">Installation</a>
 
116
</li>
 
117
    
 
118
<li>
 
119
<a href="https://sourceforge.net/apps/mediawiki/ikvm/index.php?title=Tutorial" title="">Tutorial</a>
 
120
</li>
 
121
    
 
122
<li>
 
123
<a href="https://sourceforge.net/apps/mediawiki/ikvm/index.php?title=Tools" title="">Tools Reference</a>
 
124
</li>
 
125
  
 
126
</ul>
 
127
</li>
 
128
<li>
 
129
<font color="#CFDCED">Developer's Guide</font>
 
130
<ul>
 
131
    
 
132
<li>
 
133
<a href="../devguide/intro.html" title="">Introduction</a>
 
134
</li>    
 
135
    
 
136
<li>
 
137
<span class="sel"><font color="#ffcc00">Concepts</font></span>
 
138
</li>
 
139
    
 
140
<li>
 
141
<a href="../devguide/net2java.html" title="">Using Java Libraries</a>
 
142
</li>
 
143
    
 
144
<li>
 
145
<a href="../devguide/java2net.html" title="">Developing in Java</a>
 
146
</li>
 
147
  
 
148
</ul>
 
149
</li>
 
150
<li>
 
151
<font color="#CFDCED">Contributing</font>
 
152
<ul>
 
153
    
 
154
<li>
 
155
<a href="http://sourceforge.net/mail/?group_id=69637">Mailing Lists</a>
 
156
</li>
 
157
    
 
158
<li>
 
159
<a href="http://sourceforge.net/tracker/?group_id=69637">Report Bugs</a>
 
160
</li>
 
161
    
 
162
<li>
 
163
<a href="http://sourceforge.net/cvs/?group_id=69637">CVS Repository</a>
 
164
</li>
 
165
  
 
166
</ul>
 
167
</li>
 
168
</ul>
 
169
</div>
 
170
<!--================= end Menu items ==================-->
 
171
</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 
172
</tr>
 
173
<tr>
 
174
<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../skin/images/menu-right.gif"></td>
 
175
</tr>
 
176
<tr>
 
177
<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 
178
</tr>
 
179
</table>
 
180
</td><td valign="top" width="100%">
 
181
<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
 
182
<!--================= start middle NavBar ==================-->
 
183
<tr>
 
184
<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 
185
</tr>
 
186
<tr>
 
187
<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
 
188
                &nbsp;
 
189
                
 
190
                </font><img width="10" height="8" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
 
191
                &nbsp;
 
192
                
 
193
                </font><img width="10" height="8" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 
194
</tr>
 
195
<tr>
 
196
<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 
197
</tr>
 
198
<!--================= end middle NavBar ==================-->
 
199
<!--================= start Content==================-->
 
200
<tr>
 
201
<td align="left" width="10"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td colspan="2" align="left" width="100%">
 
202
<div xmlns:xhtml="http://www.w3.org/1999/xhtml" class="content">
 
203
<table class="title" summary="">
 
204
<tr>
 
205
<td valign="middle">
 
206
<h1>IKVM.NET Concepts</h1>
 
207
</td>
 
208
</tr>
 
209
</table>
 
210
<p>This section discusses several important concepts about
 
211
     the capabilities and limitations of IKVM.NET. </p>
 
212
<ul class="minitoc">
 
213
<li>
 
214
<a href="#Class+Loading">Class Loading</a>
 
215
</li>
 
216
<li>
 
217
<a href="#Debugging+Support">Debugging Support</a>
 
218
</li>
 
219
</ul> 
 
220
    
 
221
<a name="N10015"></a><a name="Class+Loading"></a>
 
222
<h3>Class Loading</h3>
 
223
<div style="margin-left: 0 ; border: 2px">
 
224
<p>IKVM.NET fully supports dynamic Java class loading, both in Java applications running in the ikvm 
 
225
      JVM, as well as in Java applications which have been converted to .NET CIL using ikvmc. 
 
226
      </p>
 
227
<a name="N1001E"></a><a name="Class+Loading+in+Dynamically+Interpreted+Java+Applications"></a>
 
228
<h4>Class Loading in Dynamically Interpreted Java Applications</h4>
 
229
<div style="margin-left: 0 ; border: 2px">
 
230
<p>When you run a Java application using ikvm, ikvm finds and loads Java .class files much like
 
231
        other Java VM's. See the <a href="https://sourceforge.net/apps/mediawiki/ikvm/index.php?title=Ikvm">ikvm notes</a> for details.</p>
 
232
</div>
 
233
<a name="N1002C"></a><a name="Class+Loading+in+ikvmc-compiled+Java+Applications"></a>
 
234
<h4>Class Loading in ikvmc-compiled Java Applications</h4>
 
235
<div style="margin-left: 0 ; border: 2px">
 
236
<p>When you convert a Java application to CIL using ikvmc, it executes as "native" .NET code. Each .NET assembly will have its own
 
237
        Java class loader instance (typically of the type ikvm.runtime.AssemblyClassLoader). This class loader will load classes using the following algorithm:</p>
 
238
<ol>
 
239
          
 
240
<li>The corresponding assembly is searched first. Thus, if the class exists in the assembly, it will be found there.</li>
 
241
          
 
242
<li>All assemblies directly referenced by corresponding assembly are searched.</li>
 
243
        
 
244
</ol>
 
245
<p>For more details see these two articles: <a href="http://weblog.ikvm.net/PermaLink.aspx?guid=4e0b7f7c-6f5d-42a3-a4d6-5d05a99c84ff">Class Loading Architecture</a>, <a href="http://weblog.ikvm.net/PermaLink.aspx?guid=375f1ff8-912a-4458-9120-f0a8cfb23b68">Writing a Custom Assembly Class Loader</a>
 
246
</p>
 
247
</div>
 
248
</div>
 
249
    
 
250
    
 
251
<a name="N1004A"></a><a name="Debugging+Support"></a>
 
252
<h3>Debugging Support</h3>
 
253
<div style="margin-left: 0 ; border: 2px">
 
254
<p>Java applications converted to CIL using ikvmc with the -debug option can be debugged using standard .NET / Mono debugging
 
255
      tools. Remember to compile the Java source code using the appropriate debug option (javac: -g or jikes: -g:lines,vars,source).</p>
 
256
</div>
 
257
  
 
258
<div class="attribution">by&nbsp;Stephen Schaub</div>
 
259
</div>
 
260
</td><td width="10"><img width="10" height="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
 
261
</tr>
 
262
<!--================= end Content==================-->
 
263
</table>
 
264
</td>
 
265
</tr>
 
266
</table>
 
267
<!--================= end Menu, NavBar, Content ==================-->
 
268
<!--================= start Footer ==================-->
 
269
<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
 
270
<tr>
 
271
<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"><a href="../skin/images/label.gif"></a><a href="../skin/images/page.gif"></a><a href="../skin/images/chapter.gif"></a><a href="../skin/images/chapter_open.gif"></a><a href="../skin/images/current.gif"></a><a href="/favicon.ico"></a></td>
 
272
</tr>
 
273
<tr>
 
274
<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">
 
275
          
 
276
      Send feedback about this page to <a href="mailto:webmaster@ikvm.net?subject=IKVM Website Feedback - Page devguide/concepts.html">webmaster@ikvm.net</a>
 
277
<br>
 
278
          
 
279
          Copyright &copy;
 
280
          2002-2011&nbsp;Jeroen Frijters  All rights reserved.<script type="text/javascript" language="JavaScript"><!--
 
281
              document.write(" - "+"Last Published: " + document.lastModified);
 
282
            //  --></script></font></td>
 
283
</tr>
 
284
<tr>
 
285
<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
 
286
</tr>
 
287
</table>
 
288
<!--================= end Footer ==================-->
 
289
</body>
 
290
</html>