最近弄jvm 移植到ucos上,在看 jvm代码比较迷茫。
1。void InitalizeAsynchronousIO(void) {
if (VersionOfTheWorld++ == 0) {
int i;
for (i = 0 ; i < ASYNC_IOCB_COUNT ; i++) {
ASYNCIOCB *aiocb = &IocbRoots[i];
FreeAsyncIOCB(aiocb);
}
} else {
while (ActiveAsyncOperations() > 0) {
Yield_md();
}
}
}
这个代码创始化 5 个 I/O ,这个5 个 I/O 是什么作用。 在程序运算时,启动几个线程。2。 JVM 移植时 ,可不可以脱离操作系统直接运行啊? 谢谢
1。void InitalizeAsynchronousIO(void) {
if (VersionOfTheWorld++ == 0) {
int i;
for (i = 0 ; i < ASYNC_IOCB_COUNT ; i++) {
ASYNCIOCB *aiocb = &IocbRoots[i];
FreeAsyncIOCB(aiocb);
}
} else {
while (ActiveAsyncOperations() > 0) {
Yield_md();
}
}
}
这个代码创始化 5 个 I/O ,这个5 个 I/O 是什么作用。 在程序运算时,启动几个线程。2。 JVM 移植时 ,可不可以脱离操作系统直接运行啊? 谢谢
谢谢
能不能详细说几个 JVM 调用的 API,我的理解是, jvm在初始化中 调用InitializeNativeCode()函数需要创建线程,这个和操作系统有关,还有后面的就是和文件相关的了。还有,jvm 运行时启动几个线程?
我对jvm 运行流程理解:在jvm 初始完, 通过loadMainClass(argv[0]);加载,验证 类文件,之后调用Interpret()开始解析输出类文件的结果了。
java程序 --->java API --> 本地方法(动态库) -->主机操作系统
请问: 本机方法库在 jvm 什么位置? 如何移植? 谢谢
启动java程序必须启动jvm,所以所有流程都属于jvm。
kvm.exe: fatal error LNK1120: 1 unresolved externals