首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

classpath和endorsed目录之间的区别

在Java应用程序中,类路径(classpath)和推荐目录(endorsed)之间存在一些区别。

classpath 是指Java虚拟机(JVM)在运行时搜索类和资源文件的路径。它包括以下几个部分:

  1. 当前目录
  2. JDK的lib目录下的内容
  3. 应用程序的lib目录下的内容
  4. 扩展目录(extensions目录)
  5. 其他用户或系统指定的类路径

endorsed 目录是一个特殊的目录,用于存放可以覆盖JDK内置实现的第三方实现。它位于JDK的lib目录下,并且在JDK 9之后已经被弃用。

在Java 9之前,endorsed目录允许开发人员将自定义实现的jar文件放置在该目录中,以覆盖JDK内置的实现。这对于在JDK中没有提供的功能或者需要修改默认实现的情况非常有用。然而,在Java 9中,这种方法已经被弃用,取而代之的是模块化系统。

总结一下,classpath和endorsed目录之间的主要区别如下:

  • classpath是JVM在运行时搜索类和资源文件的路径,而endorsed目录是一个特殊的目录,用于存放可以覆盖JDK内置实现的第三方实现。
  • endorsed目录已经在Java 9中被弃用,取而代之的是模块化系统。
  • endorsed目录位于JDK的lib目录下,而classpath可以包括其他目录,如应用程序的lib目录和扩展目录。

在实际开发中,建议使用模块化系统来管理依赖关系,而不是使用endorsed目录。这样可以更好地控制应用程序的依赖关系,避免潜在的冲突和问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

classpathclasspath*区别classpath到底是什么

概念解释及使用场景: classpath是指WEB-INF文件夹下classes目录。 通常我们一般使用这种写法实在web.xml中,比如spring加载bean上下文时,如下: <!...可以通过spring方法使用这种方式进行路径读取。 classpathclasspath*区别:  classpath:只会到你class路径中查找找文件。...3、程序部署到tomcat后,src目录配置文件会class文件一样,自动copy到应用WEB-INF/classes目录下;classpath:与classpath*:区别在于,前者只会从第一个...-- 引用其子目录文件,如 -->classpath:context/conf/controller.xml123 4、libclasses同属...5、classpath classpath* 区别classpath:只会到你class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找

66840

classpathclasspath*区别classpath到底是什么

概念解释及使用场景: classpath是指WEB-INF文件夹下classes目录。 通常我们一般使用这种写法实在web.xml中,比如spring加载bean上下文时,如下: ? <!...classpathclasspath*区别:  classpath:只会到你class路径中查找找文件。...3、程序部署到tomcat后,src目录配置文件会class文件一样,自动copy到应用WEB-INF/classes目录下;classpath:与classpath*:区别在于,前者只会从第一个...-- 引用其子目录文件,如 -->classpath:context/conf/controller.xml123 4、libclasses同属...5、classpath classpath* 区别classpath:只会到你class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找

7.7K20
  • web.xml 配置中 classpath: 与 classpath*: 区别

    概念解释及使用场景:   classpath是指WEB-INF文件夹下classes目录。   通常我们一般使用这种写法实在web.xml中,比如spring加载bean上下文时,如下代码: <?...classpath classpath*: 区别:  classpath: 只会到你class路径中查找文件。...【classpath:】此配置表示告诉web容器去classpath(WEB-INF/classesWEB-INF/lib)中去加载指定名称配置文件,若是有同名文件,则只会加载一个。   ...【classpath*:】此配置表示告诉web容器去classpath(WEB-INF/classesWEB-INF/lib)中去加载指定名称配置文件,若是有同名文件则会全部加载。...2、程序部署到tomcat后,src目录配置文件会class文件一样,自动copy到应用WEB-INF/classes目录下;classpath:与classpath*:区别在于,前者只会从第一个

    1.4K20

    HTTPHTTPS 之间区别

    PS: https就是httpTCP之间有一层SSL层,这一层实际作用是防止钓鱼和加密。防止钓鱼通过网站证书,网站必须有CA证书,证书类似于一个解密签名。...另外是加密,加密需要一个密钥交换算法,双方通过交换后密钥加解密。 http与https有什么区别呢?本文详解httphttps区别。...所以httphttps之间区别就在于其传输内容是否加密是否是开发性内容。这也是你为什么常常看见https开头网址都是一些类似银行网站这类网址原因。...HTTPSHTTP区别: https协议需要到ca申请证书,一般免费证书很少,需要交费。...b) 服务端客户端之间所有通讯,都是加密. i. 具体讲,是客户端产生一个对称密钥,通过server 证书来交换密钥,一般意义上握手过程。 ii.

    1.4K40

    Assetsres目录区别

    立一个Android项目后会产生assets与res两个文件夹,理论上他们都是存放资源文件夹,那么他们到底有什么区别呢?...在res文件夹下其实还可以定义一下目录: res/anim:这里存放是动画资源。...*res/rawassets相同点: 1.两者目录文件在打包后会原封不动保存在apk包中,不会被编译成二进制。...*res/rawassets不同点: 1.res/raw中文件会被映射到R.java文件中,访问时候直接使用资源ID即R.id.filename;assets文件夹下文件不会被映射到R.java...2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹 *读取文件资源: 1.读取res/raw下文件资源,通过以下方式获取输入流来进行写操作

    2.3K10

    linux 程序安装目录opt目录usrlocal目录区别

    Linux 软件安装目录是也是有讲究,正确选择安装目录对系统管理是有益,这里讲解一下程序安装目录/opt目录/usr/local目录区别。...这里主要存放那些手动安装软件,即不是通过“新立得”或apt-get安装软件。它/usr目录具有相类似的目录结构。...三、总结 其实安装软件程序并不是非要在指定目录下完成,安装java、tomcat等也可以安装在opt目录下,但是安装程序扩展性管理性来说,方便使用才是最好。...总结opt目录usr/local目录就是/usr/local下一般是你安装软件目录,这个目录就相当于在windows下programefiles这个目录。...以上所述是小编给大家介绍linux 程序安装目录/opt目录/usr/local目录区别,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家

    7.4K10

    Statement PreparedStatement之间关系区别

    大家好,又见面了,我是你们朋友全栈君。 Statement PreparedStatement之间关系区别....关系:PreparedStatement继承自Statement,都是接口 区别:PreparedStatement可以使用占位符,是预编译,批处理比Statement效率高 详解:...接口:public interface PreparedStatement extends Statement之间继承关系 SQL 语句被预编译并存储在 PreparedStatement 对象中...注:用于设置 IN 参数值设置方法(setShort、setString 等等)必须指定与输入参数已定义 SQL 类型兼容类型。...例如,如果 IN 参数具有 SQL 类型 INTEGER,那么应该使用 setInt 方法,问号位置也是应该注意,因为第一个问好位置为1,第二个问号位置为2.以此类推。

    1.7K20

    PAAS、IAASSAAS之间区别

    你一定听说过云计算中三个“高大上”你一定听说过云计算中三个“高大上”概念:IaaS、PaaSSaaS,这几个术语并不好理解。不过,如果你是个吃货,还喜欢披萨,这个问题就好解决了!...其所能提供云服务也就是云计算三个分层:PAAS、IAASSAAS,就像披萨店提供三种服务:买成品回家做、外卖到披萨店吃。...一些大IAAS公司包括Amazon, Microsoft, VMWare, RackspaceRed Hat.不过这些公司又都有自己专长,比如Amazon微软给你提供不只是IAAS,他们还会将其计算能力出租给你来...PAAS公司在网上提供各种开发分发应用解决方案,比如虚拟服务器操作系统。这节省了你在硬件上费用,也让分散工作室之间合作变得更加容易。...尽管这些网页服务是用作商务娱乐或者两者都有,但这也算是云技术一部分。

    2.1K20

    IMAPSMTP服务之间区别联系

    aoksend将介绍IMAPSMTP服务之间区别联系。1. IMAPSMTP是什么?IMAPSMTP是两种用于处理电子邮件协议。...用户可以通过IMAP在不同设备上同步收件箱、已发送邮件其他文件夹中邮件。3. SMTP服务作用特点SMTP服务是用于发送电子邮件协议,它将电子邮件从发件人客户端发送到收件人邮件服务器。...SMTP是一个简单、文本协议,用于在邮件服务器之间传输电子邮件。4. IMAPSMTP联系IMAPSMTP之间有一些联系。首先,它们都是用于处理电子邮件协议。...其次,它们都涉及到邮件服务器之间通信。最后,它们都是为了提高电子邮件传输效率安全性而设计。5....IMAPSMTP区别尽管IMAPSMTP都是用于处理电子邮件协议,但它们之间有一些明显区别。最主要区别在于,IMAP是用于接收管理邮件协议,而SMTP是用于发送邮件协议。

    43900

    理解 CI CD 之间区别

    大家好,我是 ConardLi,今天我们来看一个研发中非常常见概念,CI/CD,你有了解过它们区别吗?(本文由 wangjie 翻译) 有很多关于持续集成(CI)持续交付(CD)资料。...持续集成持续交付都是开发方法。它们没有链接到特定工具或者供应商。...所以,我们不会陷入使用工具技术术语来解释 CI / CD 陷阱,我们将用最重要东西来解释:人!...开发应用传统方法如下: Alice, Bob, Charlie 在它们各自工作区,工作在3个不同 feature。每个开发人员都以各自方法编写测试代码。...在发布时还没有准备就绪功能,或者根本就不会交付给客户,或者他们进一步推迟发布日期。 发布导致开发人员(想要发布新功能)运营(想要稳定,不想一次部署太多新功能)之间关系变得紧张。

    1.5K10

    RecyclerViewnotifyDataSetChangednotifyItemRemoved之间区别

    ) 是两种不同方法,它们各自有不同用途效果: notifyDataSetChanged() 用途:这个方法用于通知 RecyclerView 整个数据集已经发生变化,需要刷新所有的数据项。...这通常会导致整个 RecyclerView 重新布局重新绘制,性能开销较大。 使用场景:当你不知道具体哪些数据项发生了变化,或者数据项变化非常频繁且不可预测时,可以使用这个方法。...区别总结 影响范围:notifyDataSetChanged() 影响整个数据集,而 notifyItemRemoved(int position) 只影响指定位置数据项。...(int position) 等),因为它们可以提供更好性能动画效果。...在实际开发中,应该根据数据变化具体情况选择合适方法来通知 RecyclerView 更新,以确保应用性能用户体验。 END 点赞转发,让精彩不停歇!关注我们,评论区见,一起期待下期深度好文!

    6010
    领券