当前位置: 首页 > 知识库问答 >
问题:

来自类与线程的Java资源

井修雅
2023-03-14

两者之间有什么区别

getClass().getResource("some-resource-file.txt")

VS

Thread.currentThread().getContextClassLoader().getResource("some-resource-file.txt")

我在src/test/resources中有资源&我正试图从单元测试中访问它们。这是一种典型的maven风格目录结构。

共有1个答案

壤驷骁
2023-03-14

有一个特殊的情况是让第一个类运行(这就是为什么您必须将main()方法声明为静态的,并将字符串数组作为参数)。类加载并运行后,类加载器将在以后尝试加载类。在最简单的情况下,类加载器创建由字符串名引用的类体的平面名称空间。Java中的每个类都使用自己的classloader来加载其他类。因此,如果classa.class引用了classb.class,则classb需要位于classaclassloader的类路径或其父类路径上。

线程上下文classloader是一个特殊的上下文,因为它是当前运行线程的当前classloader。这在多类加载器环境中很有用。可以从类加载器C中的类创建对象,然后传递给类加载器D拥有的线程。在这种情况下,对象需要直接使用Thread.CurrentThread().GetContextClassLoader(),如果它希望加载自己的ClassLoader上不可用的资源。

 类似资料:
  • 两者之间有什么区别 VS 我在src/test/resources中有资源&我正试图从单元测试中访问它们。这是一种典型的maven风格目录结构。

  • 问题内容: 我对如何使用Toast打印消息感到困惑。我需要使用它来打印来自线程的while循环的消息。我的渲染图形线程与我的活动不在同一个类中。我的意思是,它们不在同一文件中实现。有没有办法做到这一点? 问题答案: 您可以使用runOnUiThread:

  • Java 8的promise实现,即CompletableFuture,提供了应用(…)和get()方法。 其中,在必要时等待promise完成,然后返回其结果。 现在假设我们使用(或)链接一些代码以在UI线程上运行(请参见stackoverflow.com/thenApply和thenApplyAsync之间的差异)。 如果我们在UI线程中调用,比如Java以某种方式处理这种情况,或者它会导致所

  • 问题内容: 看起来我已经搞砸了Java线程/ OS线程和解释性语言。 在开始之前,我确实了解绿色线程是Java线程,其中JVM处理线程,并且整个Java进程仅作为单个OS线程运行。因此,在多处理器系统上是没有用的。 现在我的问题是。我有两个线程A和B。每个线程都有10万行独立代码。我在多处理器系统上的Java程序中运行这些线程。每个线程都将被赋予一个本机OS线程来运行,该线程可以在不同的CPU上运

  • 问:什么是加载资源的正确解决方案(从类路径和/或一般情况下)?Spring文档中提倡使用:http://docs.Spring.io/Spring/docs/current/spring-framework-reference/html/beans.html#context-introduction 问:为什么autowired字段仍然为空?

  • 我的目的是为我的cucumberguice单元测试生成EntityManager和Logger SFL4J实现。 我创建了以下资源生成器 现在,我想我应该使用AbstractModule的实现来绑定这些类,所以:公共类ServiceModule将AbstractModule{@Override protected void configure(){bind(EntityManager.class)