如上图所示,整个程序的首要之先,就是先从用 C/C++所写的程序代码之中,唤起Java 虚拟机。由于Java 虚拟机在Windows 平台上是个动态联结库(.dll),所以唤起程序的第一件事情,就是把 jvm.dll 这个动态链接库加载内存,并和我们的程序执行时所属的进程(process)连接起来(attach),如此一来我们才可以利用 jvm.dll 的API来操控Java 虚拟机。
这个复杂的程序有两种方法可以做到,第一种为explicit式,也就是在程序执行时期使用Win32 API里头的LoadLibrary()与 GetProcAddress()来做,第二种为implicit 式,也就是在编译时期就依靠头文件(.h)与符号表档(.lib)来解决外部参考的问题。第一种比较有弹性,但是比较不易除错。
当动态链接库接驳上我们的行程之后,我们就可以利用JNI_CreateJavaVM()以在内存中建立一个 Java 虚拟机的实体,然后我们就可以操控它来加载我们希望使用的类库。当我们不需要这个 Java 虚拟机的时候,我们也要利用 JNI_DestroyJavaVM()来清除它。整个唤起Java虚拟机的程序如下图所示:
- 大小: 8.1 KB
- 大小: 8.6 KB
分享到:
相关推荐
关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的...推荐看一下王森的《Java深度历险》,对这两个问题进行了深入的探讨。
《Java深度历险》这本书是Java开发者的一本深入学习指南,它涵盖了Java编程语言的核心概念、高级特性以及实际开发中的应用技巧。通过本书,读者可以系统地了解Java的各个方面,从而提升自己的编程技能和问题解决能力...
Java深度历险 深入Java 2 SDK 深入类别载入器 Java与MS Office 用Visual Studio.net操控Java虚拟机 package与import机制 Ant 附录A.Java 2 SDK原版码概观
java深度历险.rarjava深度历险.rarjava深度历险.rarjava深度历险.rarjava深度历险.rar
《王森 Java深度历险》是一本专门为Java初学者精心编写的教材,旨在引领读者深入探索Java编程的世界。王森,作为业界知名的IT专家,以其丰富的教学经验和深厚的编程功底,将复杂的Java知识以易懂的方式呈现出来,...
《Java 深度历险》是一本专为Java开发者准备的深度学习书籍,它涵盖了Java编程语言的核心概念、高级特性以及实战应用。通过这本书,读者可以深入理解Java的内部机制,提升编程技能,实现从初级到高级的跨越。下面...
《Java深度历险》这本书主要探讨了Java编程语言的深度知识,涵盖了从早期版本到Java 2 SDK的演进历程。Java是由Sun Microsystems开发的一种高级编程语言,最初被称为OAK,后来发展为Java 1.0,并逐步演变为Java 1.1...
### Java深度历险CH02:深入类别加载器 #### 概述 在《Java深度历险》这本书的第二章中,作者深入探讨了Java语言中的一个重要概念——**类别加载器**(Class Loader)。这一章节旨在揭示Java语言的动态性,并通过...
《JAVA深度历险》是由知名Java专家王森撰写的一本深度探索Java编程的著作,PDF格式使得读者可以方便地在电子设备上阅读和学习。这本书是Java开发者提升技能、深化理解的重要参考资料,涵盖了从基础到高级的众多Java...
Java深度历险 Java深度历险 Java深度历险 Java深度历险 Java深度历险
Java深度历险(合集).pdf,深度介绍!
《Java深度历险.pdf》这份文档主要围绕Java技术的一些深入理解和应用展开,涵盖Java的运行环境(JDK和JRE)、Java虚拟机(JVM)、Java程序的运行机制以及Java开发工具的配置等多方面的知识。接下来,我将对文档中...
《Java深度历险》与《深入Java虚拟机》是两本深受Java开发者喜爱的经典书籍,它们涵盖了Java编程语言和Java虚拟机(JVM)的高级主题,旨在帮助读者深入理解Java平台的工作原理。 《Java深度历险》这本书通常会涵盖...
《Java深度历险》是一本面向已有一定Java基础的学习者,旨在深化理解并提升Java编程技能的专业书籍。作者王森,以其丰富的编程经验和深入的理解,为读者揭示了Java语言的精髓与复杂性,帮助程序员从初级阶段跨越到...