小编Gab*_*ina的帖子

重载解析,调用哪个方法

假设我有一个ComponentBase班级,谁是 的孩子ObjectContextDecorator和孙子ObjectContext

public class ComponentBase extends ObjectContextDecorator {
}

public class ObjectContextDecorator extends ObjectContext {

    public void set(String objectTypePath, String characteristicName, Object value) {
        //...
    }
}

public class ObjectContext {
    public void set(String characteristicName, Object value, boolean forced) {
       //...
    }
}
Run Code Online (Sandbox Code Playgroud)

和上的set方法非常相似。考虑这个示例代码:ObjectContextDecoratorObjectContext

ComponentBase base = new ComponentBase();
base.set(""OTM4E_EFFLEVEL"", ""IE1 / STD"", true);
Run Code Online (Sandbox Code Playgroud)

两种方法的签名都适合正确调用的方法。我无法更改方法的签名,因为它不是我的代码。

编译器如何知道我打算调用哪个方法?

我知道在 IDE 上您可以指出您实际打算调用哪个方法,但在这种情况下,我使用类加载器来加载一个类,该类具有包含示例代码的方法。

java overloading method-signature

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

与 Java 同步异步 API 调用

考虑以下场景:

  1. 服务 A 调用服务 B 来完成任务。
  2. 服务 B 返回“OK”,并继续异步执行任务。
  3. 由于 A 收到了来自 B 的 OK,因此它也会向调用它的人返回响应。

我希望能够同步此任务。服务 B 是可定制的,因此它可以在其应该执行的任务结束时进行 API 调用。我的想法是:

  1. 服务 A 调用服务 B 来完成任务。
  2. 服务 B 返回“OK”,并继续异步执行任务。
  3. 服务 A 收到 B 的响应,但没有返回。
  4. 服务 B 结束任务,并向 A 发送 API 调用(到某个端点等)。
  5. 服务A接收然后返回。

这只是一个例子。事实上,服务 A 是一个 Spring boot 应用程序,而服务 B 是我们在其上构建的第三方软件。

是否可以使用 Java/Spring 同步异步 API 调用?我尝试在网上搜索此内容,但找不到任何合适的内容。

java asynchronous synchronous spring-boot

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

为什么 5x5 矩阵上的内存地址被 4 分隔?

我一直在研究 C 中的指针,从我的读数来看,矩阵的内存地址分配遵循线性模式,即使矩阵是二维的。我用一个简单的算法做了一个实验来打印每个矩阵元素的地址,我试图理解它的结果。它遵循 4 x 4 模式,即使矩阵是 5x5。这是为什么?它不应该遵循像“1,2,3...”这样的 1 x 1 模式吗?

int main()
{
    int size = 5;
    int matriz[size][size];
    int i, j;
    for(i=0;i<size;i++) {
        for(j=0;j<size;j++) {
            matriz[i][j] = rand();
            printf("Address %d\n", &matriz[i][j]);
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

c

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