ClassNotFoundException发生在装入阶段。 
当应用程序试图通过类的字符串名称,使用常规的三种方法装入类,但却找不到指定名称的类定义时就抛出该异常。

NoClassDefFoundError: 当目前执行的类已经编译,但是找不到它的定义时

也就是说你如果编译了一个类B,在类A中调用,编译完成以后,你又删除掉B,运行A的时候那么就会出现这个错误

加载时从外存储器找不到需要的class就出现ClassNotFoundException 
连接时从内存找不到需要的class就出现NoClassDefFoundError

大概这样的吧,JDK API里面的解释 
1.NoClassDefFoundError 
当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用 new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。 
当前执行的类被编译时,所搜索的类定义存在,但无法再找到该定义。

2.ClassNotFoundException 
当应用程序试图使用以下方法通过字符串名加载类时,抛出该异常: 
* Class 类中的 forName 方法。 
* ClassLoader 类中的 findSystemClass 方法。 
* ClassLoader 类中的 loadClass 方法。 
但是没有找到具有指定名称的类的定义。从 1.4 版本开始,此异常已经更新,以符合通用的异常链机制。在构造时提供并通过 getException() 方法访问的“加载类时引发的可选异常”,现在被称为原因,它可以通过 Throwable.getCause() 方法以及与上面提到的“遗留方法”来访问。

原文:http://www.blogjava.net/leekiang/archive/2007/04/26/113810.html

转载于:https://www.cnblogs.com/hnucdj/p/4288369.html

ClassNotFoundException和NoClassDefError之间的区别相关推荐

  1. FPGA与ASIC:它们之间的区别以及使用哪一种?

    FPGA与ASIC:它们之间的区别以及使用哪一种? FPGA Vs ASIC: Differences Between Them And Which One To Use? VL82C486 Sing ...

  2. Python 应用领域以及版本之间的区别

    Python 应用领域以及版本之间的区别 一.Python应用领域 Python+人工智能,给你更多研究方向选择! 企业级综合实战项目,集六大前沿技术为一体 二. Python 2与Python 3的 ...

  3. java中separator_java - File.separator和路径中的斜杠之间的区别

    java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...

  4. 机器学习、数据科学、人工智能、深度学习和统计学之间的区别!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Vincent Granville,来源:机器之心 在这篇文章中, ...

  5. Python里面None True False之间的区别

    None虽然跟True False一样都是布尔值. 虽然None不表示任何数据,但却具有很重要的作用. 它和False之间的区别还是很大的! 例子: >>> t = None > ...

  6. 2.javascript之缓存 localStorage 和sessionStorage之间的区别

    2018-08-04 前言 今天做项目的时候遇到了这个问题,用户登录成功之后如何改变将登录的链接切换为用户名 解决方案:使用了sessionstorage缓存 和js的onload加载事件 用户登录成 ...

  7. java se 与j2se_关于java:J2EE和J2SE项目之间的区别

    本问题已经有最佳答案,请猛点这里访问. 我已经从github下载了一个开源项目. 这是一个基于Maven的项目. 我如何理解该项目是J2SE项目还是J2EE项目? 这两种项目在结构上有何不同? Jav ...

  8. oracle类型sql转为mysql_Oracle和MySql之间SQL区别(等效转换以及需要注意的问题)...

    >本篇博文是Oracle和MySQL之间的等效SQL转换和不同,目前市面上没有转换两种SQL的工具,小编觉得以后也不一定会有,于是在业余时间整理了一下,如果有什么错误之处请留言告知,小编也是刚 ...

  9. 腾讯面试题:char 和 varchar的最大长度是多少,以及他们之间的区别(看完你就能和面试官笑谈人生了)

    title: 腾讯面试题:char 和 varchar的最大长度是多少,以及他们之间的区别(看完你就能和面试官笑谈人生了) tags: 面试常见题 腾讯面试题:char 和 varchar的最大长度是 ...

最新文章

  1. 乐嘉性格色彩分析测试题
  2. 内网IP段分类 判断ip是否是内网ip
  3. 【赠书】pandas创始人手把手教你利用Python进行数据分析
  4. mysql-mha高可用
  5. delphi ui编辑工具源码_一种无侵入比swagger-ui兼容性更好更简单的API文档生成方案
  6. 文件服务器的配置与管理(3) 共享文件夹的创建与使用
  7. Opportunity的chance of success determination逻辑
  8. 转发-[原创]ASR1K 在Rommon导入IOS-XE启动
  9. MS DOS 命令大全
  10. 总结关于 Vue 框架面试题
  11. 糙哥出版本,脸都不去洗
  12. 织梦错误mynews.lib.php on line 40,织梦错误Fatal error: Using $this when not in object context...
  13. linux c语言 模拟键盘输入
  14. linux系统中怎么复制粘贴快捷键设置,复制粘贴的快捷键是什么 复制粘贴的快捷键介绍【步骤】...
  15. 360随身Wifi怎么使用
  16. 软工网络15团队作业4——Alpha阶段敏捷冲刺之Scrum 冲刺博客(Day7)
  17. 模拟双色球系统判断中奖情况
  18. JQuery 拖拽元素,并移动其他元素位置
  19. 北京四十岁男人的生活帐单
  20. jQuery+CSS3炫酷机械键盘js特效

热门文章

  1. Mysql8.0.12解压版安装亲测(步骤超级简单)
  2. sharepoint html 编辑器 ,使用 Web 部件自定义页面简介
  3. linux服务器安装nexus,Linux下搭建maven服务器nexus
  4. 前端知识天天学(1)
  5. DataNode 运行状况
  6. Docker之使用Dockerfile创建定制化镜像(四)--技术流ken
  7. 不好意思昨天断更了,今天聊聊创业
  8. Caused by: java.lang.ClassNotFoundException: javax.persistence.NamedStoredProcedureQuery
  9. POJ 1128 Frame Stacking 拓扑排序+暴搜
  10. USB2.0学习笔记连载(四):安装Cypress官网套件