小编Iva*_*van的帖子

如何将具有属性的列表转换为另一个列表的java 8方式?

列表A包含属性Developer.开发人员架构喜欢:

@Getter
@Setter
public class Developer {
    private String name;
    private int age;

    public Developer(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Developer name(String name) {
        this.name = name;
        return this;
    }

    public Developer name(int age) {
        this.age = age;
        return this;
    }
}
Run Code Online (Sandbox Code Playgroud)

列出A的属性:

List<Developer> A = ImmutableList.of(new Developer("Ivan", 25), new Developer("Curry", 28));
Run Code Online (Sandbox Code Playgroud)

要求将列表A转换为列表B,列表B具有属性ProductManager,属性与列表A的属性相同.

@Getter
@Setter
public class ProductManager {
    private String name;
    private int age;

    public ProductManager(String name, int age) {
        this.name = …
Run Code Online (Sandbox Code Playgroud)

java collections refactoring list java-8

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

对战略设计模式感到困惑

我无法理解为什么在策略设计模式中使用Context模块(我们将在下面的代码中看到),它的功能是什么?让我们看一下战略设计模式的一部分.

public interface Strategy {
    public int doOperation(int num1, int num2);
}

public class OperationAdd implements Strategy {
    @Override 
    public int doOperation(int num1, int num2) {
        return num1 + num2;
    }
}

public class OperationSubstract implements Strategy {
    @Override
    public int doOperation(int num1, int num2) {
        return num1 - num2;
    }
}

public class Context {
    private Strategy strategy;

    public Context(Strategy strategy) {
        this.strategy = strategy;
    }

    public int executeStrategy(int num1, int num2) {
        return strategy.doOperation(num1, num2);
    }
}
Run Code Online (Sandbox Code Playgroud)

从上面的代码中,我们可以通过这种方式调用不同的算法: …

java design-patterns strategy-pattern

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

spring boot框架下如何过滤tomcat生成的访问日志

我们使用的是spring boot框架,通过内嵌的tomcat生成访问日志,访问日志的格式如下属性:

server.tomcat.access-log-enabled=true
server.tomcat.access-log-pattern="%h %l %u %t '%r' %s %b %D"
server.tomcat.basedir=/data/logs/Waijule/SchoolService/access
Run Code Online (Sandbox Code Playgroud)

幸运的是,访问日志生成成功,我们得到了肯定的结果:

"127.0.0.1 - - [01/Mar/2016:11:25:47 +0800] 'POST /school-svc/index-summary HTTP/1.1' 200 127 21"
"127.0.0.1 - - [01/Mar/2016:11:25:47 +0800] 'POST /school-svc/wechat/signature/get HTTP/1.1' 200 238 9"
"127.0.0.1 - - [01/Mar/2016:11:25:47 +0800] 'POST /school-svc/wechat/ticket/get HTTP/1.1' 200 225 148"
Run Code Online (Sandbox Code Playgroud)

为了确保服务健康,我们每 5 秒运行一次健康检查,我们想要过滤的请求以便我们可以获得清晰的访问日志,健康检查 url 如下示例:

"127.0.0.1 - - [01/Mar/2016:12:04:10 +0800] 'GET /school-svc/isHealth HTTP/1.1' 200 6 104"
Run Code Online (Sandbox Code Playgroud)

如何过滤健康检查请求?

感谢帮助。


根据访问日志的文档,我尝试使用conditionIf来解决问题,在我们的spring框架中,我尝试覆盖EmbeddedServletContainerCustomizer类中的customize函数,以便可以设置conditionIf,我们的实现如下示例:

 @Configuration
 public class Application implements EmbeddedServletContainerCustomizer {
     @Override
     public void customize(ConfigurableEmbeddedServletContainer …
Run Code Online (Sandbox Code Playgroud)

java spring tomcat access-log spring-boot

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

为什么LinkedList中的Node类定义为静态而不是普通类

在包java.util.LinkedList中,将类节点定义为一个静态类,是否有必要?目标是什么?

我们可以从此页面找到源代码。

java linked-list data-structures

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