假设我有一个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 上您可以指出您实际打算调用哪个方法,但在这种情况下,我使用类加载器来加载一个类,该类具有包含示例代码的方法。
考虑以下场景:
我希望能够同步此任务。服务 B 是可定制的,因此它可以在其应该执行的任务结束时进行 API 调用。我的想法是:
这只是一个例子。事实上,服务 A 是一个 Spring boot 应用程序,而服务 B 是我们在其上构建的第三方软件。
是否可以使用 Java/Spring 同步异步 API 调用?我尝试在网上搜索此内容,但找不到任何合适的内容。
我一直在研究 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)