当前位置: 首页 > 面试题库 >

解释Mac OSX Leopard上的JVM目录布局

翟缪文
2023-03-14
问题内容

这是与Leopard一起安装的目录布局。什么是“ A”目录?为什么除了“ CurrentJDK”之外还有“当前”目录?

看起来您可以通过移动CurrentJDK链接轻松地切换当前JDK,但是Current和A下的内容将不同步。

lrwxr-xr-x  1 root  wheel    5 Jun 14 15:49 1.3 -> 1.3.1
drwxr-xr-x  3 root  wheel  102 Jan 14  2008 1.3.1
lrwxr-xr-x  1 root  wheel    5 Feb 21  2008 1.4 -> 1.4.2
lrwxr-xr-x  1 root  wheel    3 Jun 14 15:49 1.4.1 -> 1.4
drwxr-xr-x  8 root  wheel  272 Feb 21  2008 1.4.2
lrwxr-xr-x  1 root  wheel    5 Feb 21  2008 1.5 -> 1.5.0
drwxr-xr-x  8 root  wheel  272 Feb 21  2008 1.5.0
lrwxr-xr-x  1 root  wheel    5 Jun 14 15:49 1.6 -> 1.6.0
drwxr-xr-x  8 root  wheel  272 Jun 14 15:49 1.6.0
drwxr-xr-x  8 root  wheel  272 Jun 14 15:49 A
lrwxr-xr-x  1 root  wheel    1 Jun 14 15:49 Current -> A
lrwxr-xr-x  1 root  wheel    3 Jun 14 15:49 CurrentJDK -> 1.5
steve-mbp /System/Library/Frameworks/JavaVM.framework/Versions $ 

和A的内容

-rw-r--r--   1 root  wheel    1925 Feb 29  2008 CodeResources
drwxr-xr-x  34 root  wheel    1156 Jun 14 15:49 Commands
drwxr-xr-x   3 root  wheel     102 Mar  6  2008 Frameworks
drwxr-xr-x  16 root  wheel     544 Jun 14 15:49 Headers
-rwxr-xr-x   1 root  wheel  236080 Feb 29  2008 JavaVM
drwxr-xr-x  29 root  wheel     986 Jun 14 15:49 Resources
steve-mbp /System/Library/Frameworks/JavaVM.framework/Versions/A $ 

问题答案:

ACurrent符号链接到A)是Mac OS X框架结构的一部分JavaVM.framework。除了实际的JVM安装之外,此框架中可能还包含C或Objective-C代码。因此,除了包含JVM之外,它还可能与某些C或Objective-C代码链接。

请注意,除了Mac OS X设置的链接外,您不应更改CurrentJDK链接指向任何其他内容。与其他平台不同,Java虚拟机是Mac OS X上的操作系统服务,以这种方式进行更改会导致您处于不受支持(可能未经测试,不稳定等)的配置中。



 类似资料:
  • 问题内容: 有没有办法在JVM上运行纯C代码? 不通过JNI连接运行,就像您可以通过JRuby运行ruby代码或通过Rhino运行javascript。 如果目前没有解决方案,您会建议我怎么做? 显然,我想使用尽可能多的局部解决方案来实现它。 ANTLR似乎是一个不错的起点,它具有完整的“ ANSI C”语法实现… 我应该使用ANTLR生成的代码在JVM上构建“玩具” VM吗? 问题答案: 201

  • 问题内容: 我听到有人说“ JVM一定是Java解释器,但Java解释器不一定是JVM”。真的吗? 我的意思是Java解释器和JVM之间有区别吗? 问题答案: 是,有一点不同。 Java虚拟机: 一种软件“执行引擎”,可安全,兼容地执行微处理器(无论是计算机还是其他电子设备中)的Java类文件中的字节码。 Java解释器: 交替解码并执行某些代码体中的每个语句的模块。Java解释器解码并执行Jav

  • 通过VisualVM,我观察到JBoss服务器上的以下堆使用情况: 服务器使用以下(相关)JVM选项启动: 我们目前还启用了GC日志记录: 基本上,我对观察到的模式感到满意,因为看起来我们没有任何内存泄漏(模式会在几天内重复)。 然而,我想知道是否有优化的空间? 首先,我不明白为什么垃圾回收机制在堆使用量达到2GB时就已经启动了?在我看来,它可能会在以后启动,因为堆将有3GB可用? 此外,我还对观

  • 问题内容: 我们正在运行一个使用几种不同语言的大型项目:Java,Python,PHP,SQL和Perl。 到目前为止,人们一直在自己的私有存储库中工作,但是现在我们希望将整个项目合并到一个存储库中。现在的问题是:目录结构应该如何显示?我们应该为每种语言提供单独的目录,还是按组件/项目将其分开?python / perl / java如何处理常见的目录布局? 问题答案: 我的经验表明,这种布局是最

  • 问题内容: 我对JVM有一个非常基本的问题:它是编译器还是解释器? 如果它是解释器,那么JVM内部存在的JIT编译器怎么办? 如果两者都不是,那么JVM到底是什么?(我不希望将字节码转换为机器特定的代码等jVM的基本定义。) 问题答案: 首先,让我们对以下术语有一个清晰的认识 是Java编译器-将Java代码编译为 Bytecode 是Java虚拟机-运行/解释/将字节码转换为本 机代码 是即时编

  • 问题内容: 我正在开发/测试本地目录中的软件包。我想将其导入解释器(v2.5),但是sys.path不包括当前目录。现在我输入。有没有更好的办法? 也, 失败并显示此错误: 问题答案: 您只能在从作为包的一部分导入的模块中使用相对导入-您的脚本或交互式解释器不是,因此,当然(这意味着“从与我导入的包相同的包中导入”)不会不行 将被罚款,一旦你确保父目录的是(你如何设法让你的当前目录 远 从我不知道