使用immutables-library可以正常使用java 9,直到我添加一个module-info.java项目,Immutables*.java将不再生成.
对于模块信息,我按照IntelliJ的建议添加"需要值".
我缺少什么,是一个immutables-library问题或我需要设置的其他东西,以便javac找到注释处理.
我正在使用maven-compiler-plugin:3.7.0配置为target/source = 9的 maven .
java maven java-platform-module-system java-9 immutables-library
我试图围绕akka.net并发如何处理缓存一致性.假设我有一个Actor将某个状态存储为实例字段,我知道一次只处理一条消息.但是每个消息可能由与线程池不同的线程处理,可能在不同的核心/套接字上.akka.net如何确保不同的线程看到对状态字段所做的所有更改?
关于akka https://www.lightbend.com/blog/akka-and-the-java-memory-model的讨论有点类似,但我不确定缓存一致性问题是否得到了正确回答(参见最后评论).
如何使用spock检查深层对象是否相等.
假设我们有一个超级简单的测试,可以与相同的人物对象进行比较
def "A persons test"() {
setup:
def person1 = new Person("Foo", new Address("Bar"))
def person2 = new Person("Foo", new Address("Bar"))
expect:
person1 == person2
}
Run Code Online (Sandbox Code Playgroud)
测试失败
Condition not satisfied:
person1 == person2
| | |
| | Person@6bedbc4d
| false
Person@57af006c
Run Code Online (Sandbox Code Playgroud)
这看起来像是一种断言平等的非常自然的方式.
开始使用spock的主要原因之一是避免编写大量的hamcrest样板匹配器代码.