小编der*_*dji的帖子

在定义API时我应该返回CompletableFuture还是Future?

在Java 8中,接口或抽象类更好地定义API返回CompletableFuture而不是返回Future?考虑到它是丑陋转化FutureCompletableFuture和事实CompletableFuture将会给调用者直接使用功能的风格更加灵活,这可能是一个API只返回一个很好的理由Future

java future interface java-8 completable-future

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

如何使用shell脚本检查文件的上次更改时间

我想找出是否在最后三分钟内更改了某些文件以确定是否cp成功,以及是否应该exit或继续该脚本.我怎样才能做到这一点?

谢谢

shell datetime copy file

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

如何在Java中将对象数组作为参数传递

方法是public static void method(Object[] params),我应该如何在以下场景中调用它?

  1. 将一个对象作为参数 ClassA a
  2. 有超过一个对象作为参数ClassA a,ClassB b,ClassC c?谢谢

java arrays object parameter-passing

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

MVC中视图与模型的通信

从许多不同来源阅读后,我对View和Model应如何在MVC模式中进行通信感到非常困惑.根据我的理解,这篇文章接受答案Apple的这篇文章都说两者的沟通应该通过控制器来完成.虽然维基百科中的MVC页面,ASP.NET MVC页面以及MSDN中的这篇文章都显示了View和Model之间存在直接关联.那么根据这里的答案, Apple的文章所指的实际上是MVP而不是MVC呢?感谢您的任何帮助!!

model-view-controller model communication view

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

使用Jackson获取多态性,在运行时添加SubType信息

我正在使用Jackson从JSON解组多态类型.我使用的@JsonTypeInfo,@JsonSubTypes以及@JsonTypeName在类似于实例4注释这个职位.我的问题是,现在说我需要其他人扩展我的代码并添加第三类:public class Duck extends Animal在原始代码库之外.如何(或其他人)添加SubType信息而不修改?的源代码(注释)public abstract Animal class

更新:

我被迫使用@JsonTypeName来解决POJO版本的变化.例如:

package my.zoo;
@JsonTypeInfo(  
    use = JsonTypeInfo.Id.NAME,  
    include = JsonTypeInfo.As.PROPERTY,  
    property = "type")  
@JsonSubTypes({  
    @Type(value = Cat.class, name = "my.zoo.cat@1.0"),  
    @Type(value = Dog.class, name = "my.zoo.dog@1.0"),
    @Type(value = Catv2.class, name = "my.zoo.cat@2.0")})
public abstract class Animal {
    ...
}

@JsonTypeName("my.zoo.cat@1.0")
public class Cat extends Animal {
    ...
}

@JsonTypeName("my.zoo.cat@2.0")
public class Catv2 extends Animal {
    ...
}

@JsonTypeName("my.zoo.dog@1.0")
public …
Run Code Online (Sandbox Code Playgroud)

java polymorphism unmarshalling jackson deserialization

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

在shell脚本中使用SCP时如何响应密码提示?

首先,我很清楚关于这个主题有很多问题.我已经阅读了它们,但仍然可以找到适合我情况的答案.

我希望scp整个~/cs###/assign1目录从本地到学校的家庭目录用shell脚本.我的问题是,我的脚本中是否有一种方法可以等待密码提示,然后在我的密码中模拟键盘事件以"键入"?


这里有一个关于如何设置密钥的详细指南

passwords shell scp prompt keyboard-events

9
推荐指数
2
解决办法
3万
查看次数

有免费的Java GUI设计师吗?

是否有免费(或相对便宜)的Java GUI设计器/构建器?

java swing open-source gui-designer

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

NodeJS中BatchWrite到DynamoDB时的指数退避

我有从S3读取CSV文件的工作代码,在BatchWriteItemDynamoDB请求中每25行分组,然后发送它.该BatchWrite会经常回成功与UnprocessedItems其中含有部分项目(不是所有的25).随后的重新提交也可能失败(部分或完全).我想在发送后续请求时实现指数退避,但我发现假设任务相同的所有库.就我而言,这些项目可能与先前请求中的项目相同或不同.

我对Node.js不太熟悉.是否有任何库/方法来实现具有(不同)上下文的重新尝试的任务?

我正在使用AWS Lambda,因此无法使用全局变量.

辅助函数写入DDB,重试1次:

// batchwrite to DDB
function batchWriteDDB(params) {
  dynamodb.batchWriteItem(params, function(err, data) {
    if (err) {
      console.error("Batchwrite failed: " + err, err.stack);
    } else {
      var unprocessed = data.UnprocessedItems;
      if (Object.keys(unprocessed).length === 0) {
        console.log("Processed all items.");
      } else {
        // some unprocessed items, do it again
        console.warn("Batchwrite did not to complete: " + util.inspect(unprocessed, { showHidden: false, depth: null }));
        console.log("Retry btachwriting...");
        var params2 = {};
        params2["RequestItems"] = data.UnprocessedItems;
        dynamodb.batchWriteItem(params2, …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js amazon-dynamodb aws-lambda

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

c ++中基类中受保护字段的问题

我有一个基类,比如BassClass,有一些字段,我让它们受到保护,还有一些纯虚函数.然后派生类,比如说DerivedClassclass DerivedClass : public BassClass.DerivedClass不应该从BassClass继承受保护的字段吗?当我尝试编译DerivedClass时,编译器抱怨DerivedClass没有任何这些字段,这里有什么问题?谢谢

c++ inheritance field protected

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

Java 8 Stream"收集并分组"映射到多个键的对象

我有以下对象:

public class Item {
    String value;
    List<Person> owners;
    Person creator;
}

public class Person {
    String name;
    int id;
    Person manager;
}
Run Code Online (Sandbox Code Playgroud)

现在我有一个包含3个Item对象的列表:

i1 -> {value="1", owners=[p1, p2, p3], creator=p4}
i2 -> {value="2", owners=[p2, p3], creator=p5}
i3 -> {value="3", owners=[p5], creator=p1}
Run Code Online (Sandbox Code Playgroud)

Person对象如下:

p1 -> {manager=m1, ...}
p2 -> {manager=m2, ...}
p3 -> {manager=m3, ...}
p4 -> {manager=m2, ...}
p5 -> {manager=m1, ...}
Run Code Online (Sandbox Code Playgroud)

我想根据所有者和创建者的管理者对Item对象的流进行分组.结果Map<Person, List<Item>>应如下所示:

{
  m1: [i1, i2, i3],
  m2: [i1, i2],
  m3: [i1, i2]
}
Run Code Online (Sandbox Code Playgroud)

我认为使用Stream和Collector …

java-8 java-stream collectors

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