新手自学关于类加载器求解惑

问题描述

本人新手菜鸟一只,最近看到类加载器,一个类到底调用了哪个类加载器,参考了有关资料,其中有一段介绍是这样的:“首先当前线程的类加载器去加载线程中的第一个类...每个类加载器加载类时,又先委托给其上级类加载器。”这两句话不太懂,假如当前线程的类加载器是AppCloassLoader,那到底是用AppCloassLoader去加载,还是委托给上级类加载器加载?希望大神能在百忙之中帮忙解答一二,谢谢

时间: 2024-10-30 23:02:55

新手自学关于类加载器求解惑的相关文章

java 串口-代码,运行结果如下,为什么结果会重复5次,java新手求解惑

问题描述 代码,运行结果如下,为什么结果会重复5次,java新手求解惑 int x=0; Enumeration portList1 = CommPortIdentifier.getPortIdentifiers(); while (portList1.hasMoreElements()) { x++; test_buffer[x]=((CommPortIdentifier) portList1.nextElement()).getName(); System.out.println("第&qu

黑马程序员 十六、 类加载器、代理

Java帮帮-IT资源分享网 1.类加载器 一.概述: 1.定义:简单说,类加载器就是加载类的工具. 当出现一个类,用到此类的时候,Java 虚拟机首先将类字节码加载进内存,通常字节码的原 始信息放在硬盘上的 classpath 指定的目录下. 2.类加载器作用:将.class 文件中的内容加载进内存进行处理,处理完后的结果就是字节码. 3.默认类加载器: 1)Java 虚拟机中可安装多个类加载器,系统默认的有三个主要的,每个类负责加载特定位 置的类:BootStrap.ExtClassLoad

类加载器与单例

当使用不同的类加载器时,也会使单例失效,如下:  单例为:  ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public final class Singleton{           private static final Singleton instance=new Singleton();           private Singleton(){                 System.out.println("执行构造函数");      

JAVA加密解密:自定义类加载器应用

最近在研究JAVA CLASS LOADING技术,已实现了一个自定义的加载器.对目前自定义加载器的应用,还在探讨中.下面是自定义的CLASSLOADER在JAVA加密解密方面的一些研究. JAVA安全 JAVA是解释执行的语言,对于不同的操作平台都有相应的JVM对字节码文件进行解释执行.而这个字节码文件,也就是我们平时所看到的每一个.class文件. 这是我们大家都知道的常识,也就是由.java文件,经过编译器编译,变成JVM所能解释的.class文件. 而这个过程,在现在公开的网络技术中,利

深入探讨Java类加载器

类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一. 它使得 Java 类可以被动态加载到 Java 虚拟机中并执行.类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的.Java Applet 需要从远程下载 Java 类文件到浏览器中并执行.现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用.一般来说,Java 应用的开发人员不需要直接同类加 载器进行交互.Java 虚拟机默认的行为就已经足够满足大多数情况的需求

类加载器特技:OSGi代码生成

我们将按照复杂性增加的顺序考察一些类加载的典型问题,开发一小段代码 来解决这些问题中最有趣的一个.即使你不打算马上写一个代码生成框架,这篇 文章也会让你对静态定义依赖的模块运行时(如OSGi系统)的低级操作有比较深 入的了解. 这篇文章还包括一个可以工作的演示项目,该项目不仅包含这里演示的代码 ,还有两个基于ASM的代码生成器可供实践. 类加载地点转换 把一个框架移植到OSGi系统通常需要把框架按照extender模式重构.这个模 式允许框架把所有的类加载工作委托给OSGi框架,与此同时保留对应

Java 类加载器(转)

 java虚拟机中可以安装多个类加载,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap(内嵌在java虚拟机中由C++编写),ExtClassLoader,AppClassLoad    类加载器也是java类,因为其他是java类的类加载器本身也要被类加载器加载,显然必须有第一个类加载器不是java类,这正是BootStrap.    java虚拟机中的所有类装载器采用具有父子关系的树形结构进行组织,在实例化每个类装载器对象时,需要为其指定一个父级类装载器对象    或

java自定义类加载器

v前言 java反射,最常用的Class.forName()方法.做毕设的时候,接收到代码字符串,通过 JavaCompiler将代码字符串生成A.class文件(存放在classpath下,也就是eclipse项目中的bin目录里),然后通过java反射机制,获取main方法并执行..class文件名称固定.当 A.class文件更新的时候,问题出现了,main方法的执行结果总和第一次的执行结果相同. v程序流程 代码提交->接收代码->编译成A.class文件->java反射->

线程-volatile 关键字 作用结果求解惑

问题描述 volatile 关键字 作用结果求解惑 public class testVolatile { private int i = 0; // a线程调用 public void foo1() { try { while (true) { Thread.sleep(10); System.out.println(""第一个:"" + i); i++; } } catch (InterruptedException e) { // not to do; } }