小编sid*_*ani的帖子

Thread.currentThread()classLoader与普通classLoader之间的区别

你能告诉我它之间的区别是什么Thread.currentThread().getContextClassLoader(),TestServlet.class.getClassLoader()不要把它标记为重复,请解释并告诉我何时使用这些

Java文件:

package com.jar.test;

public class TestServlet {
    public static void main(String args[]) {    
        ClassLoader cls = TestServlet.class.getClassLoader().loadClass(
                "com.jar.test.TestServlet");
        ClassLoader cls = Thread.currentThread().getContextClassLoader()
                .loadClass("com.jar.test.TestServlet");
    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading classloader

11
推荐指数
2
解决办法
6898
查看次数

如何优先处理具有相同id的spring bean?

在我们的项目中,我们使用 spring 进行JunitJunit 测试。我们使用@ContextConfiguration注释来加载多个文件。我们有两个类AbstractContextJUnitTestContextJUnitTestContextJUnitTest扩展AbstractContextJUnitTest

在代码流程中,我注意到多个文件中具有不同 bean 类型的相同 bean Id。当我测试这些 Junits 并收到以下错误时。

错误:

org.springframework.beans.factory.BeanNotOfRequiredTypeException:名为“voterId”的 Bean 预计为 [com.spring.test2.Student] 类型,但实际上为 [com.spring.test2.Parent] 类型

我的要求是学生 bean 应该加载 VoterId 而不是 Parent Bean。

下面是java文件和spring bean xml文件:

测试.xml:

<beans> 
    <context:annotation-config/>
    <bean id="voterId" class="com.spring.test2.Parent">
    <property name="Name" value="hai"/>
    </bean>
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
        <property name="username" value="system" />
        <property name="password" value="system" />
    </bean> 
    <bean id="transactionManager"

        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

        <property name="dataSource" ref="dataSource" />
    </bean> …
Run Code Online (Sandbox Code Playgroud)

java spring unit-testing spring-mvc junit4

4
推荐指数
1
解决办法
1万
查看次数

Consumer和Begin方法如何在java功能接口内部工作

谁可以让我知道以下程序如何在内部工作:

public class Main {
  public static void main(String[] args) {
    Consumer<String> c = (x) -> System.out.println(x.toLowerCase());
    c.andThen(c).andThen(c).accept("Java2s.com");
  }
}
Run Code Online (Sandbox Code Playgroud)

java java-8

4
推荐指数
2
解决办法
1916
查看次数

数据传输对象类可以包含其他对象吗?

我只是想知道 DTO 类是否包含另一个对象。请告诉我下面的代码是否是有效的 DTO 类?

class Address implements Serializable{

private String city;
private String location

}

class EmployeeDTO implements Serializable{
private String name;
private int age;
private Address address;
//setters and getters
}
Run Code Online (Sandbox Code Playgroud)

java design-patterns jakarta-ee

3
推荐指数
1
解决办法
1033
查看次数

文件复制到DataNodes时,Hadoop HDFS中的数据流管道

我只是想更多关于以下声明.当我试图理解HDFS如何写入数据节点时.我得到了关于HDFS写入的以下解释.

为什么hdfs客户端将4kb发送到数据节点而不是将整个块64MB发送到数据节点?有人可以详细解释一下吗?

为了获得更好的性能,数据节点维护用于数据传输的管道.数据节点1在其开始传输到流中的数据节点2之前不需要等待完整的块到达.实际上,对于给定块,从客户端到数据节点1的数据传输发生在4KB的较小块中.当数据节点1从客户端接收到第一个4KB块时,它将该块存储在其本地存储库中,并立即开始将其传输到流中的数据节点2.同样,当数据节点2从数据节点1接收到第一个4KB块时,它将该块存储在其本地存储库中并立即开始将其传输到数据节点3.这样,流中除最后一个之外的所有数据节点都从前一个并将其传输到流中的下一个数据节点,以通过避免每个阶段的等待时间来提高写入性能.

hadoop dataflow hdfs

1
推荐指数
1
解决办法
480
查看次数

如果我们在迭代时最后在 ArrayList 中添加元素,则抛出 ConcurrentModificationException

我正在使用 Iteratot 迭代 ArrayList 的元素。在迭代时,我在最后将一个元素添加到 ArrayList 中。但是得到一个错误:ConcurrentModificationException。

如果我将 ArrayList 更改为 Set 并尝试在迭代过程中最后在 set 中添加元素,则不会抛出错误

测试.java

class Test {
  public static void main() {
    ArrayList<Integer> al = new ArrayList<Integer>();
    al.add(20);
    al.add(30);
    al.add(40);

    Iterator<Integer> it = marks.iterator();
    while (it.hasNext()) {
      int value = it.next();
      if (value == 40) al.add(50);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

测试2.java

class Test2 {
  public static void main() {
    Set<Integer> marks = new HashSet<>();
    marks.add(20);
    marks.add(30);
    marks.add(40);

    Iterator<Integer> it = marks.iterator();
    while (it.hasNext()) {
      int value = it.next();
      if (value …
Run Code Online (Sandbox Code Playgroud)

java collections

0
推荐指数
1
解决办法
4350
查看次数