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

“ java -cp”和“ java -jar”之间的区别?

何涵衍
2023-03-14
问题内容

使用
java -cp CLASSPATH和运行Java应用程序有什么区别java -jar JAR_FILE_PATH?在运行Java应用程序时,其中一个优先于另一个吗?我的意思是,对于JVM(根据它们的机器资源使用情况),这些方法中的哪一种更昂贵?

哪一种会导致JVM在尝试运行应用程序时产生更多线程?


问题答案:

我更喜欢第一个版本来启动Java应用程序,只是因为它的陷阱少了(“欢迎使用classpath
hell”)。第二个需要一个可执行的jar文件,并且必须在jar的清单中定义该应用程序的类路径(所有其他类路径声明将被静默忽略…)。因此,在第二个版本中,您必须查看jar,阅读清单,并尝试从jar的存储位置查找类路径条目是否有效…这是可以避免的。

我不希望这两个版本在性能上都有优缺点。只是告诉jvm主线程使用哪个类以及在哪里可以找到库。



 类似资料:
  • 使用 和运行Java应用程序有什么区别?在运行Java应用程序时,它们中的一个比另一个更好吗?我的意思是,对于JVM(根据它们的机器资源使用情况)来说,这些方法中哪一种更昂贵? 哪一个会导致JVM在尝试运行应用程序时生成更多的线程?

  • 问题内容: java类文件和jar文件有什么区别? 问题答案: Jar文件是一个包含一个或多个Java类文件的Zip存档。这使得使用库(由多个类组成)更加方便。目录和Jar文件被添加到类路径,并且在运行时可用于在其中找到特定的类。

  • 问题内容: 民间, 之前,我只有一个jar文件,并且设置了清单,以便可以简单地以以下方式运行程序: 现在,我将功能分为两个jar文件-MyCore.jar和MyApp.jar。 以下命令有效: 但是我不能让以下工作 我收到ClassNotFoundException。 我更喜欢使用“ -jar”开关。有办法使它起作用吗? 预先感谢您的帮助。 问候, 彼得 问题答案: 我有一个这样的Manifest

  • 问题内容: 我是JSP和服务器端编程的新手。到目前为止,我正在使用Servlet和Java类。我正在借助Java类隔离我的应用程序(按照MVC模型)。我想知道Java Bean和Java类之间的区别。在哪种情况下,我可以使用Java Bean代替Java类。任何有用的解释或有用的链接? 问题答案: Java bean只是一个符合某些约定的类: 可以由getter(和setter访问的属性,如果这些

  • 本文向大家介绍Java 8和Java 9之间的区别,包括了Java 8和Java 9之间的区别的使用技巧和注意事项,需要的朋友参考一下 Java 9版本引入了新的增强功能并添加了新功能。它包括 JShell,Http2Client,Java平台模块系统(JPMS),多版本jar文件,堆栈遍历API,接口中的私有方法,流程API更新,集合API更新,流API改进等。 以下是Java 8和Java 9

  • 本文向大家介绍Java和JavaScript之间的区别。,包括了Java和JavaScript之间的区别。的使用技巧和注意事项,需要的朋友参考一下 众所周知,Java和javascript都是编程语言,并在应用程序开发中使用。但是我们将在下面讨论的两种语言之间存在显着差异。 以下是Java和JavaScript之间的重要区别。 序号 键 爪哇 的JavaScript 1个 语言类型 JavaScr