Jvm Java,Java虚拟机,Java平台,

有人能解释一下Java平台SE(6)、Java、Java虚拟机等的区别吗。?谢谢。简言之:Java是语言和平台结合的总括。Java虚拟机是Java语言和平台运行的平台,但也可以支持其他语言。JavaSE是面向桌面/小程序开发的基础语言和平台包(开发人员工具包/运行时)。Java EE将面向服务器和“企业”开发。Java是由。Java VM是由定义的虚拟机。JavaSE是随标准库和工具打包的虚拟机 在编译器构造术语中,Java是源语言,而JVM是目标语言 java是您正在使用的语言 例如:Http

Jvm GNUGij可以被看作是Java虚拟机吗?

我没有看到gij被列为上的Java虚拟机之一,我也没有在这里找到谈论这一点的帖子。有人能告诉我gij是否是JVM吗?如果不是,请解释gij中缺少了什么或有什么区别?谢谢。我看不出任何明显的理由不把GNU gij称为Java虚拟机。。。模块化明显的一点是,由于Oracle在TCK上的立场,它永远无法被验证 我认为这是维基百科列表中的一个“bug”,而不是gij的反映 (只是浏览一下列表,我发现并修复了另一个bug。它说JNode使用了GNU类路径,这已经有几年没有使用了。如果列表可能出错,那么在其

Jvm Tomcat 7.0.25四月jre崩溃

我刚刚使用原生apr从tomcat 6.0.29升级到7.0.25 Tomcat已经崩溃了好几次,报告如下 对我来说,除了在使用zip时发生崩溃之外,没有什么其他意义,这可能与压缩某些文件类型的gzip设置有关 我在任何地方都找不到与此问题相关的任何其他参考,当我查看从7.0.25到7.0.26的变更日志时,没有提到修复任何类似的问题 欢迎提供任何建议/帮助/解决方案 谢谢 # # A fatal error has been detected by the Java Runtime Envir

获取无法从JVM创建VM错误

我有一个调用JNI的C程序。 在这里,我们创建了JVM 我得到以下错误- 无法创建虚拟机 这不是一个常规错误。这个错误消失了,又开始出现了 调用例程-JNI_CreateJavaVM后出现此错误 有人能告诉我问题出在哪里吗?我看到当JVM堆初始大小超过可用内存量时,会发生此错误 例如,在一台内存为4GB的机器上,您传入一个-ms3000m作为3GB堆。尽管从技术上讲是可能的,但考虑到您机器上运行的所有其他设备,这可能会失败。我们正在通过Xms64m-Xmx64m,通过使用TOP,我看到大约有81

Jvm 端口已在使用:我的本地CloudConnect发生9999错误

我已重新安装本地CloudConnect(版本:100.3.0)。 在对其执行任何图形后,我发现以下错误 java.rmi.server.ExportException:端口已在使用:9999;嵌套异常是: java.net.BindException:地址已在使用中:JVM\u Bind C:\Program Files\Sony\VAIO Care\VCAgent.exe是运行绑定端口9999的服务的程序 有没有办法让默认VM使用另一个端口号9999?看起来索尼的一些软件已经在您的计算机上使

Jvm 年轻一代比老一代大

我正在使用jstat分析JVM性能,我在系统中发现“ec”eden容量大小大于“oc”旧容量,以下是我的所有设置: -Xms1024m-Xmx4096m-XX:PermSize=256M -XX:MaxPermSize=512m ec是否可能大于oc?或者有多个oc 谢谢你的帮助 那要看情况而定,两个都没有坏处。您可能正在生成瞬态对象的负载。是的,这是可能的,而且不一定是坏的。

修改JVM内置类装入器

如果我获得了OpenJDK的副本,并希望编辑JVM的内置类加载器,例如系统类加载器或引导类加载器(主要是出于学术和好奇心的原因),我能做到这一点吗?如果是,这些类加载器在源代码中存储在哪里 最简单的方法是为构建的类装入器复制Java代码,这些类装入器位于src.zip中。一旦修改了这些类,就可以将它们添加到JAR中的lib/背书中 不必编译整个源代码,只需修改一个类左右 这在使用条款下是不允许的,也不受支持,因此我建议您仅出于教育目的进行此操作。最简单的方法是为内置类装入器复制一份Java代码

GraphDB在尝试更改java选项后未能创建JVM

在windows上运行GraphDB 我右键单击图标,单击设置。试图设置Xmx512M,所以输入错误,应该是Xmx512M。现在尝试运行GraphDB时表示,即使在卸载和重新安装之后,也无法创建JVM 如果UI未启动,在哪里可以找到并撤消在设置中键入的内容 换句话说,这个配置存储在哪里 我删除了AppData/Roaming/GraphDB和AppData/Local/GraphDB Free除了Damyan的答案之外,C:\Users\User\AppData\Local\GraphDB Fr

Jvm 为什么javac会两次对数组进行校验?

在检查字节码时,我注意到javac在转换到数组类型时似乎复制了checkcast指令 Cast.java: class Cast { void test(Object a) { Object[] b = (Object[])b; } } javac编译版本的javap反汇编 void test(java.lang.Object); Code: 0: aload_1 1: checkcast #2; //class "[Ljava/lang/Objec

Jvm 什么是共享对象文件?

在详细模式下运行jvm时,显示文件正在从共享对象文件加载,如下所示 [Loaded java.lang.Object from shared objects file] [Loaded java.io.Serializable from shared objects file] [Loaded java.lang.Comparable from shared objects file] [Loaded java.lang.CharSequence from shared objects file

将64位jvm强制转换为32位jvm?

有谁能告诉我关于强制64位jvm作为32位jvm运行的想法吗 我需要为蓝牙连接编写一个jse桌面应用程序。为此,我需要实现Bluecove jar。它只有32位文件。所以我在eclipse pulsar的VM参数中包含了-D32。但我仍然得到了添加参数之前显示的相同错误:bluecove_x64.dll丢失。我尝试使用-d32,它显示了“未识别的选项:d32” 看起来我应该安装一个运行在64位操作系统上的32位jvm。那么,谁能告诉我应该安装什么?32位或Eclipse软件中的Java SDK

Jvm “tomcat上的怪事”;ps old gen“;记忆

发生了一件奇怪的事 我有一个服务器ubuntu 8.04 LTS Jvm 1.6.0.24 在测试模式下一切正常 当我将服务器释放给用户时(我使用mod_jk重定向来自apache的输入),它运行了一段时间,然后在几秒钟内PS旧的GEN内存(1.3gb)就填满了,使tomcat没有响应 我检查了应用程序中的内存泄漏和线程泄漏,但似乎一切正常 有没有人经历过类似的事情 谢谢Tomcat没有检测到所有可能的内存泄漏 我建议您在出现问题时主动检查内存泄漏,获取JVM堆转储并进行分析 有很多信息可以帮助

将JVM变量设置为on是8.5

我必须在WAS 8.5上设置一个JVM变量,然后在Web应用程序中访问该变量以进行配置。 我遵循IBM文档,然后去了 Servers > Application Servers > server1 > process definitions > jvm 我在泛型JVM参数-dmyPath=c:\config 但是当我尝试访问值doSystem.getProperty(“myPath”)时,它总是返回空值。你有什么线索吗?你的意思是-D?System.getPrope

此java实例不支持64位JVM

我在家里托管了一个Minecraft服务器,我刚刚将Java更新为更新65,服务器在更新之前工作得很好,但现在,它说 “此Java实例不支持64位JVM。请安装所需版本。” 安装32位Java没有帮助,当我运行我的Minecraft客户端时也会发生这种情况。 我有运行64位Java 7的64位Windows 7。 如果有人能帮忙,那就太好了 编辑:修复了它,显然我只是个白痴,在我更新java时安装了32位,因为我认为我已经安装了64位,所以我从未想过要重新安装它。很抱歉浪费您的时间因为您使用的是

对CICS中的JVM配置文件所做的更改不会反映在运行时中

我通过向LIBPATH\u后缀添加一个库来更改OSGiJVM配置文件。在那之后,我放弃了我的JVM服务器并重新安装了它,但是这些更改没有得到反映。在对JVM概要文件进行更改之后,是否还有第二步我应该注意呢?如果您想向OSGi JVM服务器添加DB2 JDBC type2驱动程序支持,您需要执行以下操作: 将DB2库添加到CICS STEPLIB 创建/安装CICS DB2CONN资源并确保其正常工作 使用OSGI_BUNDLES参数将DB2JDBC驱动程序和许可证JAR添加到JVM服务器中间件类

elasticsearch 弹性云配置的Elasticsearch碎片大小和JVM内存

我有一个2节点ES集群(弹性云),堆大小为60GB。 以下是我的索引和分配的碎片数 green open prod-master-account 6 0 6871735 99067 4.9gb 4.9gb green open prod-master-categories 1 1 221 6 3.5mb 1.7mb green open prod-v1-apac 4 1 10123830 140551

在JVM中,“本机缓冲区”是什么意思?

我从WebSphere Application Server的SystemOut.log文件中得到以下错误: [5/11/12 8:13:46:291 GMT+08:00] 000063c0 WebApp E [Servlet Error]-[ICMResourceManager]: java.lang.OutOfMemoryError: unable to allocate 79683 bytes for native buffer at java.io.FileOutput

JNI和RMI导致JVM崩溃

我们使用JNI来启动JVM。在这个JVM中,我们使用“LocateRegistry.createRegistry(JMXPORT);”来创建注册表。但是JVM在使用JDK1.6的Solaris上总是会崩溃(使用JDK1.5可以正常工作)。崩溃发生在UnicastRemoteObject(exportObject方法)的第256行 我可以通过添加-XX:+UseSerialGC来改变GC方法来解决崩溃问题。但我需要知道根本原因。 非常感谢您的帮助。谢谢 # # A fatal error has

监视风暴JVM度量

我有一个storm群集正在运行,我想监视它的性能。我遵循了这一点,并且能够使用codahale度量来测量bolt接收到的元组数,并用石墨显示 我的目标是在一台轻量级计算机(如beaglebone)上部署storm群集,为此,我需要能够监视JVM参数,如每个工作进程的CPU、线程和内存使用情况 我非常喜欢codahale度量,并希望在我的应用程序中继续使用它。有人能告诉我如何使用codahale度量为每个工作人员分别测量JVM参数吗 如果有人发布了一个如何使用codahale度量获取jvm度量的示

自定义JVM语言:创建可行的堆栈跟踪?

JVM上的堆栈跟踪是如何工作的 是否可以将类文件转换为具有与父语言相关的堆栈跟踪,而不是伪java文件 具体来说,是否可以修改此Mixin库,以便在将代码重写/注入方法时,如果发生错误,它将指向源代码中正确的Mixin伪类?根本不需要Java源代码文件 只有两个相关属性 class属性,指定源代码文件的名称,该文件不必是.java文件 应用于code属性的属性,说明字节码指令如何映射到源代码行 堆栈跟踪只报告类和方法名称以及上面两个属性报告的源文件名和行号。它背后没有额外的语义 这些属性已经足以

Jvm Xpages/dominojava内存使用说明

当使用一个特定的XPages应用程序时,我们的一个服务器上有一个间歇性的性能问题,有几个用户报告了这个问题。我的第一个想法是它与Java内存使用和糟糕的代码回收有关,所以我从这里开始。目前,根据Mark Leusink的奇妙调试工具栏,服务器(具有32Gb物理RAM的64位Windows计算机)的使用数据如下所示: 我想确认我对这些数字的理解: 最大堆大小-我同意这一点,知道如何更改它(建议设置为可用RAM的四分之一,但由于此服务器上的用户数量较少,我相信2Gb已经足够了) Total All

Jvm 无法识别的VM选项';使用parnewgc',错误:无法创建Java虚拟机

我正在尝试使用jre 10.0.1 64位启动服务器。windows开始批处理文件中JVM的设置有明显变化。如果将-XX:+UseParNewGC设置为错误的参考点,那么为了使JVM服务器以java 10启动,与我所展示的java 8设置相比,需要将其更改为什么 导致错误引用的代码行是: set JAVA_PARAMETERS=-XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:Parallel

Jvm Permgen在Jboss 6上部署web应用程序时不断增长

我正在将JBoss4.2.3上早期的web应用程序移植到JBoss6上。目前共有12个web应用程序,其中只有4个已部署 这些web应用程序基于Axis2 1.5.5、spring 2.5、hibernate 3.2.5、OpenJPA 1.0和saxon 9.1 类加载器隔离设置如下 <class-loading java2ClassLoadingCompliance="false"> <loader-repository> we

在单个JVM中托管多个Java应用程序

如果我在一个JVM中托管多个Java应用程序,我将面临什么问题?这样做的问题是,使用单独的JVM将无法从地址空间和进程上下文的分离中获益。如果一个应用程序线程使用错误的System.exit(0)终止应用程序或抛出致命的RuntimeException,则所有应用程序都将死亡。此外,除非您明确强制每个应用程序使用不同的类加载器,否则每个应用程序将共享同一个类加载器。每个应用程序是否都有一个单独的JVM实例?请您像说“同一JVM的两个实例”时那样更具体地说明JVM实例。通常说JVM实例到一个单独的

Java虚拟机(JVM)和Java中间件之间有什么区别?

Java虚拟机(JVM)和Java中间件在概念上有什么区别?JVM是执行Java(以及现在的一些其他语言)字节码的运行时 Java中间件是EJB、RMI、Corba等技术的框架。本质上,这些技术可能与Java无关,但受Java支持。中间件更面向分布式环境。更一般的说法是,有很多类型的中间件。谢谢tinkerbeast!我们能把JVM称为中间件吗?很难说。我认为中间件是介于操作系统和应用程序级代码之间的(实质性的)东西。从这个意义上说,我想你可以把JVM称为中间件。然而,我个人永远不会把运行时(J

Jvm MuleStudio-加载JNI共享库失败

我使用32位JDK安装了Windows 7 尝试运行MuleStudio.exe时,出现以下错误: 您需要下载32位版本,在第一页很难找到 弃用通知:该链接仅对Mule Studio有效,不适用于新的Anypoint Studio。基本上认为链接只是出于历史目的,有99%的可能性这是错误的链接 然后选择32位版本。另一种解决方案: 用记事本打开AnypointStudio.ini 添加或编辑虚拟机 -虚拟机 C:\Program Files\Java\jdk1.8.0\u 151\bin//使

Jvm 空字符串是否为合法字段/方法名称?

根据JVM使用的类文件格式,字段或方法是否可以合法地将空字符串作为其“非限定名称”?我能在相关章节中找到的唯一真正的限制是: 非限定名称不得包含任何ASCII字符;[/(即句号、分号、左方括号或正斜杠) 但我仍然无法相信这不会在其他地方引起问题。空字符串作为字段/方法名是否真的有效?否。: 非限定名称必须至少包含一个Unicode代码点 JVMSE7没有这个注释

什么是';a';在JVM指令中的意思是';aload&x27;或';areturn';?

在诸如“aload”或“areturn”之类的JVM指令中,“a”是什么意思? 我知道它们是对引用进行操作的,但是为什么它们被命名为“aload”、“astore”等而不是“rload”、“rstore”等呢?我相信从历史上看,“a”代表“address”,因为对象引用只是堆中的一个普通地址 Sun Microsystems提供的源代码中可以找到对这一想法的支持,Sun Microsystems是Java ME最早的Java虚拟机之一。这些资料可从以下网址下载: 来自kvm/VmCommon/s

SUSe 12与SUSe 11上的JVM高虚拟内存

在我们的SLES12系统上运行此简单Java程序可保留4GB的虚拟内存: class Test { public static void main(String[] args) throws Exception { Thread.sleep(100000); } } 我能够使用以下标志将其减少到1GB: java -Xmx1m -XX:ReservedCodeCacheSize=5m -XX:CompressedClassSpaceSize=5m -Xss228k

Jvm 如何使用JCMD访问NMT数据

我试图通过以下代码使用jcmd访问NMT: jcmd 4348 VM.native_memory [summary] [scale=10 GB] 但得到以下错误: com.sun.tools.attach.AttachNotSupportedException: Unable to attach to 32-bit pro cess running under WOW64 at sun.tools.attach.WindowsVirtualMachine.openProcess

Jvm Apache Storm:主管杀死并重新启动工作进程

使用Storm 1.2.2 卡夫卡1.1.0 提交拓扑后,主管启动辅助进程。在检查启动的工作进程的worker.log文件时,发现在加载所有执行器之间的某个地方,工作进程被主管终止 以下是主管日志 {"@timestamp":"2020-01-09 11:18:57,719","message":"SLOT 6700: Assignment Changed from LocalAssignment(topology_id:trident-Topology-578320979, executors

配置VisualVM以可视化多个JVM

我想使用VisualVM来监视JVM集群,比如50-100个进程 有没有办法将VisualVM配置为在启动时监视指定的JVM列表,而无需手动添加它们?您可以在每台机器上运行,然后只需连接到机器,所有进程都将自动添加

侵入java.lang.Object:调用自定义外部类会使JVM崩溃

我正在为java运行时环境编辑java.lang.Object。我意识到可能有更好的方法来做我想做的事情,但这不是我的问题所在 基本上,我已经在java.lang.Object中添加了一个构造函数,每次创建对象时都会调用它。我正在等待某个类加载,如下所示: public Object() { if (hookEnabled) { hookEnabled = false; objectCount++; if (objectCou

没有jvm的卡桑德拉

我有一个问题: 可以在没有java虚拟机的情况下安装数据库Cassandra吗?或者您必须拥有虚拟机才能运行Cassandra? 谢谢。发件人: 步骤0:先决条件和与社区的连接 Cassandra需要可以部署的最稳定的Java1.6版本。对于Sun的jvm,这意味着至少有u19;u21更好。Cassandra也在IBM jvm上运行,也应该在jrockit上运行。来自: 步骤0:先决条件和与社区的连接 Cassandra需要可以部署的最稳定的Java1.6版本。对于Sun的jvm,这意味着至少有

IBM MQ队列-配置特定JVM

我们有一个队列管理器,使用IBM Webspe,这里的连接是使用侦听器连接到队列的 我想将基于某些参数的消息限制到特定的JVM。我有twp JVM。因此,一些消息应该发送到第一个JVM,其余消息应该发送到第二个JVM 有谁能帮助我了解如何实现这一目标 谢谢 在同一队列上,每个应用程序(JVM)有一个队列,或者每个应用程序(JVM)有一个相关ID,那么每个应用程序只能获取部分消息

elasticsearch 设置环境变量后ElasticSearch堆大小未反映

我已经设置了ES_HEAP_SIZE环境变量,在重新启动elasticsearch后,当我检查ps-aux | grep elasticsearch时,它会显示-Xms4096m-Xmx4096m。但当我回显$ES_HEAP_SIZE时,它会显示正确的值 Sequence of commands vim /etc/environments Add export ES_HEAP_SIZE=7g Save And Exit source /etc/environments Then /b

Jvm Instrumentation.redefineClasses能否触发VirtualMachine.redefineClasses?

如果某个类已由Instrumentation.redefineClasses重新定义,是否有方法触发引用类型并由VirtualMachine.redefineClasses重新定义?这两个方法都是同一功能的接口。现在还不清楚“触发引用类型被VirtualMachine.redefineClasses重新定义”是什么意思。您希望发生什么?java代理连接到java程序,并由jdi调试器进行调试,sample.class由java代理使用instrumentation.redefineClasses

Jvm 反斜杠在这个Gosu代码中起什么作用?

我对Gosu不太了解,所以这个代码让我困惑。我在谷歌上搜索过,等等,但都没用。反斜杠在这段代码中的作用是什么 GET_STUFF.execute(\ -> { var gig = withPackagedGig(request.id, request.signature, \ k -> { k.addItem("Log_RetrievedGig"); return k; }); myObj = toObj(gig);

elasticsearch 具有弹性搜索的Java堆空间问题

发生了什么: 当我反复查询时,弹性搜索突然停止工作。 我将堆大小从1GB增加到2GB,然后又增加到4GB,但没有用。 当前的堆使用率仅为分配的4Gb的20%,但为什么ES在OOM中失败 弹性搜索日志: 2019-11-11T11:12:16,654][INFO ][o.e.c.r.a.AllocationService] [es-stg] Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [

根据JNI_CreateJavaVM创建JVM,收到OutOfMemoryError

我正在根据JNI用C++程序创建一个JVM,并且创建本身运行良好。与JVM的通信也很好;我能够找到类、创建对象、调用方法等等。但是我的一个方法需要相当多的内存,JVM在调用它时抛出OutOfMemoryError。我不明白,因为有超过1 GB的可用RAM。整个过程使用了大约200MB的内存,似乎它甚至没有尝试分配更多的内存;它保持在200MB,然后抛出异常 我试图将-Xmx选项传递给JVM,但当通过JNI创建JVM时,它将不起作用。据我所知,通过JNI创建的JVM应该能够访问所有可用的内存,这使

.class文件是JVM的可执行文件吗?

使用JDK,我可以将.java文件编译成.class文件,然后我可以运行.class文件,这是否意味着.class文件是JVM上运行的最终可执行文件? 此外,什么是jar文件?以及jar文件和.class文件之间的区别?1.类文件是一个字节码文件,由JVM执行,它在JVM之外没有意义。使得它只在JVM上有意义,而在JVM之外没有意义,是什么让每个java程序在自己的沙箱中运行。 2.Jar文件是运行程序所需的所有类文件,库的集合,考虑打包所有文件和依赖库并提供单个文件的简单方法。我们还有可运行J

Java继承了字段阴影和JVM?

JVM规范的一部分是如何通过继承和后续解析来隐藏字段的机制吗?我知道是的,在很多博客帖子和问题中都可以找到。然而,当我实际查看JVM规范时,“隐藏”或“阴影”这两个词不会出现在文档中的任何地方 我这样问是因为我正在编写自己的JVM,并且发现这个字段阴影是字节码/VM的属性,而不仅仅是Java编译器或Java语言的一部分。我想知道在虚拟机级别应该以何种正确、权威的方式实现这一点。JVM的一个(mis?)特性需要在某个地方正式记录下来吗?术语阴影通常指的是一个标识符对另一个标识符的阴影。也就是说,一

Jvm vdbench OutOfMemoryError无法创建新的本机线程

我在以高队列深度(256)运行多个并发vdbench实例时遇到JVM错误 localhost-0.stdout.html的输出: 19:49:13.281 19:49:13.281 Started 1 Workload Generator threads. 19:49:13.345 19:49:13.345 Out of memory: 19:49:13.345 19:49:13.345 modify the vdbench script and increase the

如何订阅在不同JVM上运行的反应流实现?

让我们假设有两个Akka流,每个流都在自己的JVM上运行 // A reactive streams publisher running on JVM 1: val stringPublisher: Publisher[String] = Source(() => "Lorem Ipsum".split("\\s").iterator).runWith(Sink.publisher[String]) // A reactive streams subscriber running on

Jvm Java对象的大小

Java对象的最小大小如何可能是8字节(仅对象头) 如果在表示java对象的C++类中, 我可以看到这个班有更多的成员 类oopDesc{ 朋友级虚拟机; 私人: volatile markOop _mark;//这是对象头 联合元数据{ Wideklassoopu klass; 窄带压缩klass; }\u metadata;//此成员的大小如何? 这是可能的,因为在32位JVM中,对象包含4字节的标记头和4字节的类引用。标记头包含不同的信息,具体取决于对象类型(大小以位为单位): 普通对

Jvm 如何减少线程达到安全点同步状态所花费的时间

关于这个问题: 在VM中的大量IO期间,由于停止线程需要更多的时间,我们面临JVM暂停/缓慢。在查看safepoint日志时,显示同步状态花费的时间最多 我们还尝试在超时延迟(-XX:+SafepointTimeout-XX:SafepointTimeoutDelay=200)上打印Safepoint跟踪,以了解是哪些线程导致了此问题,但似乎没有任何可疑之处。另外,在设置安全点的超时时,当所用时间处于“同步”状态时,我们不会得到超时检测打印 有关此安全点跟踪的问题: 安全点超时是如何工作的 记

“Java虚拟机”;“最大堆大小”;vs.通用JVM参数Xmx

我在WebSphere管理控制台中的以下位置: 应用程序服务器>名称>进程定义>Java虚拟机 有一个字段“最大堆大小” 有一个字段包含“通用JVM参数”,我可以在其中添加-Xmx参数来定义最大堆 指定最大堆的两个选项之间有什么区别?没有区别。实际上,当服务器启动器构建命令以启动Java可执行文件时,“最大堆大小”字段将转换为适当的-X参数。与管理自己的-X参数相比,JVM配置面板上的属性是一种更为用户友好的方法来指定该值。没有区别。实际上,当服务器启动器构建命令以启动Java可执行文件时,“最

在JVM和CLR这样的虚拟机上,是否有类似于提供编程API的操作系统的东西?

JVM和CLR是虚拟机。与裸机计算机类似,它们提供虚拟机语言 在真正的计算机上,我们有提供系统调用和API的操作系统。例如,著名的《高级编程Unix环境》一书描述了Unix和Linux提供的API。然而,Windows提供了不同的API 除了JVM和CLR这样的虚拟机之外,还有什么东西 扮演操作系统的角色,以及 提供编程API 如果在虚拟机(如JVM和CLR)上没有任何东西扮演操作系统的角色,那么是什么提供了类似于操作系统API的编程API(如Java、C#、…) 注意:我问的是虚拟机及其上

上一页   1   2   3    4   5   6  ... 下一页 最后一页 共 18 页