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

JVM如何开始寻找类?

龚奇逸
2023-03-14
问题内容
  • 我很好奇JVM在哪里寻找执行程序的所有位置?我对理解JVM在什么顺序以及在何处查找类文件更感兴趣,就像它查找Java库,扩展库,类路径中的任何目录一样,例如从中调用Java的当前目录?我对JVM行为更感兴趣,而不是对类加载器如何加载类感兴趣,我知道它具有直到根的父委派机制。

  • 如果从已编译的类保存在文件系统上的目录中执行某个类,并且该类也保存在同一目录的jar文件中,那么JVM会同时加载这两个负载还是仅加载其中一个负载?

  • 假设您有一个线程不安全,Vector并且如果我们将其性能与进行比较ArrayList,哪个更好,为什么?


问题答案:

如何找到课程。答案在这里:

http://docs.oracle.com/javase/1.5.0/docs/tooldocs/findingclasses.html

关于第2点的答案:查找类的顺序如下:

  1. 当前目录中的类或包。
  2. 从CLASSPATH环境变量中找到的类。[优先1]
  3. 从-classpath命令行选项中找到的类。[取代1,2]
  4. 通过-jar命令行选项指定的jar归档文件中找到的类[覆盖1,2,3]

因此,如果在运行时使用-jar选项,则类来自jarfile。

虽然只加载一个类。



 类似资料:
  • 问题内容: 我正在尝试在其中发布带有xml消息的json。但是它返回 无效的字符“ b”正在寻找价值的起点 我认为可能的原因是我试图封送非json格式的return正文。 错误发生在这一行 问题答案: 该错误表明服务器未返回有效的JSON响应。我建议添加以下代码来调试问题:

  • sys.path Python import 时会首先寻找 sys.path 中列出的路径,通常是这样: >>> import sys >>> '\n'.join(sys.path) /usr/lib/python2.7 /usr/lib/python2.7/plat-x86_64-linux-gnu /usr/lib/python2.7/lib-tk /usr/lib/python2.7/li

  • 使用代码模板 如果使用离线工具如Sublime Text来开发的话,您需要按照如下步骤准备好开发环境: 一个包含 直接引用JS 我们还可以直接引用CDN上已经构建好的JS脚本,如下在HTML中添加一个 <script> 标签: <!-- Production Version, Minified --><script src="https://aframe.io/releases/1.1.0/afr

  • 我想从以下html行中选择文本: 我尝试使用xpath。但由于某些原因,selenium无法通过xpath找到此元素。我想通过“data reactid”属性选择文本。我不知道该怎么做。我在python中使用selenium。

  • 重造轮子是重新创造一个已有的或是已被其他人优化的基本方法。 最近萌发了一个想法写游戏引擎,之前想着做一个 JavaScript 前端框架。看看,这个思路是怎么来的。 Lettuce 构建过程 Lettuce 是一个简约的移动开发框架。 故事的出发点是这样的:写了很多代码,用的都是框架,最后不知道收获什么了?事实也是如此,当自己做了一些项目之后,发现最后什么也没有收获到。于是,就想着做一个框架。 需

  • 问题内容: 我正在实现一个日历视图,我希望它从包含特定日期的一周开始时开始。例如。如果目标日期为2016年2月29日星期一,并且当前日历设置为从星期日开始,那么我希望从2月28日星期日开始。 这看起来应该很简单: 但这失败了: 由于未捕获的异常“ NSInvalidArgumentException”而终止应用程序,原因:“必须指定集合{NSCalendarMatchPreviousTimePre