我喜欢使用UML图来描述我的软件.在大多数情况下,这些图表仅供我自己使用,我将它们用于更多涉及的代码,交互等部分,我将从中受益于将来能够回顾它们.
我发现自己做了一些不同的方法是绘制线程图.线程本质上倾向于弹出更复杂的代码片段并跟踪它们通常是我的设计文档的主要目的.
在过去,我在序列图中使用了一个符号来显示新线程的创建,但回顾一些图表,这有时在对象的生命周期(序列图所针对的)和线程的生命周期之间是模糊的.是否有更好的方法将线程合并到UML中?
我正在阅读"JPA 2.0中的动态,类型安全查询"一文,并偶然发现了这个例子:
EntityManager em = ...
CriteriaBuilder qb = em.getCriteriaBuilder();
CriteriaQuery<Person> c = qb.createQuery(Person.class);
Root<Person> p = c.from(Person.class);
Predicate condition = qb.gt(p.get(Person_.age), 20);
// ^^ --- this one
c.where(condition);
TypedQuery<Person> q = em.createQuery(c);
List<Person> result = q.getResultList();
Run Code Online (Sandbox Code Playgroud)
我想知道,这里的下划线究竟是什么意思?
由于下划线是类名的有效部分,我不明白为什么可以在JPA中使用它.我在我的代码中使用现有实体检查了这一点,当然我的类无法解析为ClassName_
我正在使用以下SureFire配置构建Maven项目:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.maven-surefire-plugin}</version>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
问题是,当我构建它时mvn clean install -DskipTests=true,测试仍在执行中.可能是什么问题呢?
我尝试了两个-DskipTests(来自Maven网站)-DskipTests=true,当我选中"跳过测试"复选框时,它由IntelliJ Idea添加.
我不使用任何Maven settings.xml.
编辑 如果我注释掉SureFire插件配置,该参数的行为与我期望的一样.上面的配置可能有什么问题?
我是PhantomJs的新手.刚查看了这个网站上的类似帖子.我的问题是为什么'foo'没有登录到控制台或打印?
var page = require('webpage').create()
var foo = 42;
function evaluate(page, func) {
var args = [].slice.call(arguments, 2);
var fn = "function() { return (" + func.toString() + ").apply(this, " + JSON.stringify(args) + ");}";
return page.evaluate(fn);
}
page.open('http://google.com', function() {
var foo = 42;
evaluate(page, function(foo) {
console.log(foo);
},foo);
});
Run Code Online (Sandbox Code Playgroud) 参考:
我搜索了很多链接,但似乎没有人能够具体解释它.任何人都可以给一些代码(使用javaScript)来解释它吗?
我保存了我的Java源文件,将其编码类型指定为UTF-8(使用记事本,默认情况下,记事本的编码类型为ANSI),然后我尝试使用以下命令编译它:
javac -encoding "UTF-8" One.java
Run Code Online (Sandbox Code Playgroud)
但它给出了一条错误消息"
One.java:1: illegal character: \65279
?public class One {
^
1 error
Run Code Online (Sandbox Code Playgroud)
还有其他方法,我可以编译吗?
这是来源:
public class One {
public static void main( String[] args ){
System.out.println("HI");
}
}
Run Code Online (Sandbox Code Playgroud) 在Lua中,似乎有两种方法可以将元素附加到数组:
table.insert(t, i)
Run Code Online (Sandbox Code Playgroud)
和
t[#t+1] = i
Run Code Online (Sandbox Code Playgroud)
我应该使用哪个,为什么?
鉴于一个Map<String, Person>地方的人有一个String getName()就可以了(等)的方法,我怎么能转Map<String, Person>成Map<String, String>,其中String从调用获得Person::getName()?
我会使用Pre-Java 8
Map<String, String> byNameMap = new HashMap<>();
for (Map.Entry<String, Person> person : people.entrySet()) {
byNameMap.put(person.getKey(), person.getValue().getName());
}
Run Code Online (Sandbox Code Playgroud)
但是我想用流和lambdas来做.
我无法看到如何以功能样式执行此操作:Map/HashMap不实现Stream.
people.entrySet()返回Set<Entry<String, Person>>我可以流过的内容,但是如何Entry<String, String>向目标地图添加新内容?
我正面临着我的日食靛蓝的情况"Unable to update index for central|http://repo1.maven.org/maven2".
我正在使用外部Maven 3.0.3安装和使用Eclipse Indigo配置的m2eclipse,我绝对不会支持任何代理.
此外,我在eclipse中的网络配置都设置为直接,我仍然无法更新索引.
我可能忽略了什么?我在谷歌和其他论坛上搜索过但无法解决.
在Groovy shell中,您可以输入命令,例如
def x = 1
Run Code Online (Sandbox Code Playgroud)
并运行它们.该行回来了:
groovy:000> > def x = 1
def x = 1
===> 1
groovy:000>
Run Code Online (Sandbox Code Playgroud)
现在,如果我输入:
println(x)
Run Code Online (Sandbox Code Playgroud)
我明白了:
groovy:000> > println(x)
println(x)
Unknown property: x
groovy:000>
Run Code Online (Sandbox Code Playgroud)
所以似乎控制台和shell都记得对象定义,这是正常的吗?