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

« back to all changes in this revision

Viewing changes to external/ikvm/website/src/documentation/content/xdocs/devguide/concepts.xml

  • 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
<?xml version="1.0" encoding="UTF-8"?>
 
2
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://apache.org/forrest/dtd/document-v12.dtd">
 
3
<document> 
 
4
  <header> 
 
5
    <title>IKVM.NET Concepts</title> 
 
6
    <authors><person name="Stephen Schaub" email="sschaub@bju.edu"/> 
 
7
    </authors> 
 
8
     <abstract>This section discusses several important concepts about
 
9
     the capabilities and limitations of IKVM.NET. </abstract>
 
10
  </header> 
 
11
  <body> 
 
12
    <section>
 
13
      <title>Class Loading</title>
 
14
      
 
15
      <p>IKVM.NET fully supports dynamic Java class loading, both in Java applications running in the ikvm 
 
16
      JVM, as well as in Java applications which have been converted to .NET CIL using ikvmc. 
 
17
      </p>
 
18
      
 
19
      <section>
 
20
        <title>Class Loading in Dynamically Interpreted Java Applications</title>
 
21
        <p>When you run a Java application using ikvm, ikvm finds and loads Java .class files much like
 
22
        other Java VM's. See the <link href="ext:ikvm">ikvm notes</link> for details.</p>
 
23
      </section>
 
24
 
 
25
      <section>
 
26
        <title>Class Loading in ikvmc-compiled Java Applications</title>
 
27
        <p>When you convert a Java application to CIL using ikvmc, it executes as "native" .NET code. Each .NET assembly will have its own
 
28
        Java class loader instance (typically of the type ikvm.runtime.AssemblyClassLoader). This class loader will load classes using the following algorithm:</p>
 
29
        <ol>
 
30
          <li>The corresponding assembly is searched first. Thus, if the class exists in the assembly, it will be found there.</li>
 
31
          <li>All assemblies directly referenced by corresponding assembly are searched.</li>
 
32
        </ol>
 
33
 
 
34
        <p>For more details see these two articles: <link href="http://weblog.ikvm.net/PermaLink.aspx?guid=4e0b7f7c-6f5d-42a3-a4d6-5d05a99c84ff">Class Loading Architecture</link>, <link href="http://weblog.ikvm.net/PermaLink.aspx?guid=375f1ff8-912a-4458-9120-f0a8cfb23b68">Writing a Custom Assembly Class Loader</link></p>
 
35
        
 
36
      </section>
 
37
    
 
38
    </section>
 
39
    
 
40
    <section>
 
41
      <title>Debugging Support</title>
 
42
      <p>Java applications converted to CIL using ikvmc with the -debug option can be debugged using standard .NET / Mono debugging
 
43
      tools. Remember to compile the Java source code using the appropriate debug option (javac: -g or jikes: -g:lines,vars,source).</p>
 
44
    </section>
 
45
  </body>
 
46
</document>