zoukankan      html  css  js  c++  java
  • jvm加载包名和类名相同的类的规则,以及如何加载包名和类名相同的类(转)

    jvm包括三种类加载器:

    第一种:bootstrap classloader:加载java的核心类。

    第二种:extension classloader:负责加载jre的扩展目录中的jar包。

    第三种:它负责在JVM被启动时,加载来自在命令java中的-classpath或者java.class.path系统属性或者 CLASSPATH操作系统属性所指定的JAR类包和类路径。

    以上参考博客原文路径为:http://blog.csdn.net/xrt95050/article/details/4413998

    jvm 加载包名和类名相同的类时,先加载classpath中jar路径放在前面的,包名类名都相同,那jvm没法区分了,如果使用ide一般情况下是会提示发生冲突而报错,若不报错,只有第一个包被引入(在classpath路径下排在前面的包),第二个包会在classloader加载类时判断重复而忽略。

    如果加载包名和类型相同的类可以使用不同的类加载器,也就是说使用自定义类加载器加载同包同名的类。

    今天在使用slf4j和logback时,由于以前的log4j包也存在,导致配置有时候不成功,marker一下。

    注:slf4j:simple logging facade 4 java:简单日志外观4java:意即使用外观模式的日志实现类。实现可以使用log4j、logback等等实现了org.slf4j.impl包下的binder的日志类。使用slf4j,可以方便的在这些日志实现类中切换。

  • 相关阅读:
    201571030114/201571030143《小学四则运算练习软件》结对项目报告
    201571030114随机四则运算
    略读构建之法
    使用staruml学习画类图
    了解面向对象方法学的优点
    做项目的感受和心得
    项目:学生查看自己的作业情况和分数(php)
    php操作数据库的简单示例
    学习使用html与css,并尝试写php
    html和css的联系
  • 原文地址:https://www.cnblogs.com/weizhxa/p/9294583.html
Copyright © 2011-2022 走看看