`
Mr.Chris
  • 浏览: 84220 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

通过调试确定JVM是否从错误的位置装入了类

    博客分类:
  • Java
阅读更多

 

在实际开发中,我们经常会遇到由于ClassNotFoundException、NoClassDefFoundError、NoSuchMethodException等异常而导致应用等无法正常启动。一般都是由于包冲突等导致的。

 

这种情况下,我们可以用 -verbose 命令行选项打开JVM 的详细输出。当某些事件发生的时候(例如,类装入时),详细输出会在控制台上显示信息。要想得到额外的类装入信息,可以用详细类输出。可以用 -verbose:class 选项启动这个模式。

 

在Eclipse中,我们可以在Run Configuration对话框中做如下配置即可:

 

详细输出有助于解决类路径问题,例如没有打开 JAR 文件(因此不在类路径中)或从错误的位置装入了类。

 

知道类装入器在哪里寻找类、特定的类是由哪个类装入器装入的,通常很有用。

 

分享到:
评论

相关推荐

    jvm调试示例代码

    在Java开发过程中,JVM(Java虚拟机)的调试是一项重要的技能,它能帮助开发者深入理解程序运行时的内部机制,解决性能问题和错误。本示例代码集合旨在提供一个实践平台,帮助开发者掌握JVM调试技巧。我们将探讨以下...

    jvm工具、参数调优&调试技巧(补充+修正版)

    《JVM工具、参数调优&调试技巧》 在Java开发中,理解并掌握JVM(Java虚拟机)的工作原理及优化技术是至关重要的。本文将深入探讨JVM的工具、参数调优以及调试技巧,旨在帮助开发者提升应用性能,减少系统故障。 一...

    JVM实战-JVM类加载机制案例分析

    在实验过程中遇到了一些小问题,如类加载路径配置错误导致的类加载失败等问题,这些问题最终通过仔细检查配置文件和查阅相关文档得到了解决。未来将继续深入学习JVM的工作原理,探索更多高级特性,并努力提高自己的...

    jvm工具、参数调优&调试技巧

    ### JVM工具、参数调优与调试技巧 #### 一、JVM工具 ##### 1. jps:虚拟机进程状况工具 - **简介**:`jps` 是一个用于显示当前运行的所有Java虚拟机进程(JVMs)的简单工具。它会列出每个JVM的PID(进程ID)以及...

    WebSphere Application Server V7 理解类装入器 中文翻译版

    - **类加载/委托模式**:定义类装入器如何与其他类装入器协作,以确定哪个类装入器应该加载特定的类。 - **共享库**:支持多个应用程序共享相同的库,从而减少资源消耗并提高性能。 - **类装入器查看器**:一种工具...

    jvm类装载器原理

    在这个方法中,我们需要执行一系列操作,例如检查类是否已加载,是否是系统类,从特定位置加载类,定义类,解析类等。 特别地,JVM有一个内置的根装载器(bootstrap ClassLoader),它加载的是Java核心库中的类,被...

    JVM类加载过程.pptx

    JVM的类加载机制是JVM的核心机制之一,它把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初识化,形成可以被虚拟机直接使用的Java类型。 Java代码执行流程是JVM的核心流程之一,它首先通过...

    jvm 启动过程 JVM 原理

    1. **加载**:当Java应用程序启动时,JVM首先通过类加载器加载主类(即包含main方法的类)。类加载器根据类的全限定名查找对应的.class文件,然后将其加载到内存中。类加载器有三种:bootstrap class loader(引导类...

    JVM类加载机制详细讲解

    例如,当我们尝试加载 `java.lang.Object` 类时,首先会由启动类加载器加载,如果它找不到,会继续交给扩展类加载器,接着是系统类加载器,最后才会由用户自定义的类加载器尝试加载。 1.3 类加载双亲委派示例 为了...

    java 类加载调试

    学习类装入的工作方式以及 JVM 如何帮助找出类装入问题 Lakshmi Shankar, Java 技术中心开収团队, IBM Hursley 实验室 Simon Burns (simon_burns@uk.ibm.com), Java 技术中心开収团队, IBM Hursley 实验室 简介: 类...

    JVM crash 错误日志分析

    在分析日志时,我们需要关注是否有特定的错误提示,比如“OOME”(Out of Memory Error),然后根据提示检查JVM的启动参数,如堆大小设置`-Xms`和`-Xmx`是否合理,或者是否过度使用了持久代空间。同时,检查代码中...

    jdk,jvm源码

    当我们谈论"jdk,jvm源码"时,我们主要关注的是JVM的内部工作机制以及如何通过源码来理解这个过程。 JVM的运行机制主要包括以下几个关键部分: 1. 类加载子系统:负责加载、验证、解析和初始化.class文件。加载阶段...

    JVM从入门到入魔.zip

    《JVM从入门到入魔》是一份深度探讨Java虚拟机(JVM)的详细学习资料,涵盖了JVM的基础知识到高级特性的深入解析。这份笔记由咕泡学院的第4期训练营编撰,共计55页,采用图文并茂的方式,便于读者理解和掌握。 在...

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    标题中提到了JVM原理、JVM调优、JVM内存模型和JAVA并发,这些都是Java虚拟机(JVM)相关的核心概念。JVM是运行Java字节码的虚拟计算机,为Java提供了一个跨平台的环境,确保Java程序可以在不同的操作系统上运行而...

    jvm crash的崩溃日志详细分析及注意点

    分析JVM崩溃日志时,重点是定位问题所在的代码行,了解触发错误的操作,以及查看是否有内存管理问题,如堆溢出或栈溢出。同时,还要检查堆栈跟踪,确定哪些线程或方法在崩溃时刻正在执行,并结合Java堆、方法区、元...

    jvmjava,java实现的JVM。.zip

    通过阅读和分析源代码,我们可以了解JVM的各个组件,如类加载器、运行时数据区、字节码解释器、垃圾收集器等。这不仅有助于提升Java编程技能,还能加深对程序运行时环境的理解,对于软件工程师来说是一项宝贵的资源...

    Java JVM Instruction Set

    当从`main()`函数中调用`Min()`函数时,JVM会创建一个新的栈帧来保存局部变量和参数,并跳转到相应的字节码位置继续执行。 ##### 访问Min()函数中的参数 由于JVM采用栈式架构,访问参数通常涉及从栈顶弹出值并加载...

    慢慢琢磨jvm 经典

    初学者通常从简单的“HelloWorld”程序开始,逐渐接触更复杂的类结构,甚至运用Spring、Hibernate等开源框架构建企业级应用,如网站、内部应用或实时交易系统。然而,随着应用规模的扩大,性能瓶颈和内存问题开始...

    jvm视频及笔记

    JVM的学习可以从以下几个重要的知识点开始: 1. **JVM架构**:JVM主要由类装载器、运行时数据区、执行引擎、本地方法接口和本地库组成。了解每个部分的功能对于优化程序性能至关重要。 2. **类装载机制**:包括...

Global site tag (gtag.js) - Google Analytics