【Java基础】NoClassDefFoundError 和 ClassNotFoundException 定义及其区别

  • 官方API的解释
  • 小结

官方API的解释

  • ClassNotFoundException

    说的很明白,通过Class.forName(String name)ClassLoader.findSystemClass(String name)ClassLoader.loadClass(String name)加载class但是没有找到。这里的关键是通过字符串形式加载。比如:
Class.forName("com.xxx.SomeClass")

也就是说编译时你是发现不了的,跑起来才知道。

  • NoClassDefFoundError

    这里说的就是普通的import方式引入的类,注意区别于上面通过字符串形式加载。并且这里说:虚拟机或者ClassLoader加载类定义的时候,也就是说程序已经开始运行了,但是找不到类,这种通常就是编译通过了,但是打包时候有些jar没有打进来。如果是Maven管理项目,查下对应的jar包的<scope>对不对。

小结

  • 相同点:都是运行时异常,都是缺少jar包
  • 不同点:加载方式不同

【Java基础】NoClassDefFoundError 和 ClassNotFoundException的定义及其区别相关推荐

  1. NoClassDefFoundError和ClassNotFoundException之间有什么区别?是由什么导致的?

    问题: NoClassDefFoundError和ClassNotFoundException之间有什么区别?是由什么导致的? NoClassDefFoundError和ClassNotFoundEx ...

  2. JAVA基础-jdk和jre的关系和区别

    JAVA基础-jdk和jre的关系和区别 1.名词介绍 JDK(Java Development Kit)是Java开发工具包,里面包含Java的开发环境(提供了编译器javac等工具,用于将java ...

  3. 【java基础知识】——jdk和jre的区别

    jdk和jre的区别 总结:jre是jdk的子集,只是环境,jdk还多了开发工具.jdk还多带了jre,是因为jre是面向只需要运行环境的用户,jre会自动在系统中配好路径.jdk也带有的jre是专门 ...

  4. Java基础_0206:方法的定义与使用

    方法的基本概念 方法的主要功能是封装可以执行的一段代码,这样不仅可以进行重复调用,更可以方便的实现代码的维护,而本次使用的方法定义语法如下所示. public static 返回值类型 方法名称(参数 ...

  5. [Java基础]自定义注解之属性定义

    代码如下: package AnnoDemo01;public enum Person {p1,p2; } package AnnoDemo01;public @interface MyAnno2 { ...

  6. Java基础语法,函数的定义与调用(比较两个数的大小)

    一.问题 希望比较出两个数的大小 希望输入账号,密码或图像,输出是否允许登录 二.语法 2.1定义 函数的返回值类型 函数名(参数1 类型 参数名,参数2 类型 参数名,参数3 类型 参数名..... ...

  7. java基础之 “==”和“ equals”以及instanceof的区别

    1)对于字符串变量来说,使用"=="和"equals()"方法比较字符串时,其比较方法不同. "=="比较两个变量本身的值,即两个对象在内存 ...

  8. 没有体现JAVA接口功能_深入浅出分析Java抽象类和接口【功能,定义,用法,区别】...

    本文实例讲述了Java抽象类和接口.分享给大家供大家参考,具体如下: 对于OOP编程来说,抽象是它一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:抽象类和接口. 这两者有相似之处也有很 ...

  9. 【JAVA基础篇】抽象类和接口的区别

    抽象类和接口是定义抽象概念的两种方式,正是由于抽象类和接口,才赋予了Java强大的面向对象的能力.在讨论他们的不同点之前,我们先来了解抽象类和接口. 抽象类 在面向对象的领域一切事物都是对象.对象都是 ...

最新文章

  1. android检查usb广播,Android 检测USB 音频设备
  2. 单例模式中的属性实现
  3. MySQL(二): 表的增删查改
  4. 深度学习之pytorch(一) 环境安装
  5. 计算机网络之网络概述:5、OSI七层参考模型
  6. 阿里巴巴再陷“抄袭门”,究竟孰真孰假?
  7. 基于51单片机的温湿度监测+定时报警系统(c51源码)
  8. Manjaro Gnome Hidpi 缩放问题
  9. 2010计算机录制宏步骤,在word2010录制宏的操作
  10. python求个位十位百位_Js 分别取一个数的百位,十位,个位
  11. mysql一次查询无关联多个表_面试官:为什么mysql不建议执行超过3表以上的多表关联查询?...
  12. USB 虚拟串口简介
  13. 青少年的音乐合成器原理指南
  14. 为VMware vSphere创建CentOS 7 Terraform模板
  15. uniapp 埋点(友盟)
  16. vue 传参获取数据
  17. 【物联网那些事儿】18 大物联网操作系统,Raspbian Pi、Ubuntu Core、Windows 10 IoT、Micropython、OpenWrt ....你用过哪几个?
  18. 微信小程序+阿里云+stm32f407的一个项目
  19. 知识分享:游戏音乐分类
  20. ContextCaptureCenter4.4.12 安装教程

热门文章

  1. 解决GitHub报错: Support for password authentication was removed on August 13, 2021
  2. l5630鲁大师跑分_鲁大师安卓3D引擎更新,跑分测试精准度再升级
  3. 快应用采坑(1)-安装
  4. linux java -cp 环境变量
  5. php symfony 安装,symfony安装详细教程
  6. 点评《云计算:从基础架构到最佳实践》
  7. 时间转换 取模(秒转化成分钟) 65秒转为1分5秒
  8. 菜鸟网络业务支撑平台
  9. 网购平台比价系统源码
  10. Apache Hive入门1