我不确定我是否正确使用了关联和聚合或合成钻石.
我会使用Association for interfaces,因为我无法实例化它们.就像他们在这里做的那样.或者对于静态类,同样的原因.
我只使用可以实例化的物体的钻石.像普通班一样.
但我不确定这是否是区分它们的正确方法,因为如果你再次检查,你会发现它们并没有那么具体.在UML 2.3 规范中,我无法获得更多,所以你如何使用它?
还有第三种方式,虚线<>箭头,但我没有胶水何时使用这个.那么也许你也可以帮助我呢?
目前我确实遇到了这段代码将被调用 > 500k 次的问题。压缩后的大小byte[]小于 1KB。每次调用该方法时,都必须创建所有流。所以我正在寻找一种方法来改进这段代码。
private byte[] unzip(byte[] data) throws IOException, DataFormatException {
byte[] unzipData = new byte[4096];
try (ByteArrayInputStream in = new ByteArrayInputStream(data);
GZIPInputStream gzipIn = new GZIPInputStream(in);
ByteArrayOutputStream out = new ByteArrayOutputStream()) {
int read = 0;
while( (read = gzipIn.read(unzipData)) != -1) {
out.write(unzipData, 0, read);
}
return out.toByteArray();
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试ByteArrayOutputStream用 a替换ByteBuffer,但在创建时我不知道需要分配多少字节。
此外,我尝试使用Inflater但我偶然发现了此处描述的问题。
任何其他想法我可以做些什么来提高此代码的性能。
更新#1
同
Toolkit.getDefaultToolkit().getScreenSize()
我做了屏幕尺寸.
但通常这不是我自己的程序可用的大小,因为在Mac上有一个顶部的菜单栏和一个底部的图标栏.Windows确实有一个图标栏.那么我如何获得真正的可用空间呢?
我有一个运行的osgi(equinox容器)应用程序.它将通过bash脚本启动.见felix gogo shell
java -jar ... _osgi.jar -console 1234 &
Run Code Online (Sandbox Code Playgroud)
这一切都很好,我也可以阻止它
telnet localhost 1234
<osgi>stop 0
Run Code Online (Sandbox Code Playgroud)
但我正在寻找的是如何将其嵌入到bash脚本中以停止osgi应用程序.
我已经试过了
echo stop 0 | telnet localhost 1234
Run Code Online (Sandbox Code Playgroud)
但这不起作用.因此,如果有人知道如何将其放入bash脚本中,请告诉我.
我确实有像这里描述的类似问题.但首先我有两个不同之处,我确实使用了流api,第二个我已经有了一个equals()和hashCode()方法.但是在流中,博客的平等性在这种情况下与Blog课堂上定义的不同.
Collection<Blog> elements = x.stream()
... // a lot of filter and map stuff
.peek(p -> sysout(p)) // a stream of Blog
.? // how to remove duplicates - .distinct() doesn't work
Run Code Online (Sandbox Code Playgroud)
我有一个具有相等方法的类,可以ContextBlogEqual使用该方法调用它
public boolean equal(Blog a, Blog b);
Run Code Online (Sandbox Code Playgroud)
有没有办法根据ContextBlogEqual#equal方法使用我当前的流方法删除所有重复的条目?
我认为已经在分组,但这也不起作用,因为为什么blogA和blogB相等的原因不仅仅是一个参数.此外,我不知道如何使用.reduce(..),因为还有一个以上的元素.
上周我安装了 Eclipse Neon。我从一个新的工作空间开始,因为我不喜欢旧东西带来任何麻烦。在我们的项目中,我们有自己的目标定义,看起来像
您会注意到,我们依赖于 p2 目录而不是软件方面。我们确实有 15 个。我想没那么多。但每次我们更改现有目录时,都需要很长时间 > 3-4-5 分钟才能解析目标定义。
我所看到的是,当进度达到 45% 时,会出现第二个进度条,穿过许多不同的 http 站点。但为什么?我们使用 p2 目录而不是软件方面。有谁知道发生了什么以及我是否需要设置任何设置?因为我确信目标定义中提供了所需的一切。
昨天我在本文中重新介绍了Java 7中新的异常处理.
在文章中,他们展示了一个不能在Java 6中运行的示例(No 4).我只是复制了它.
public class ExampleExceptionRethrowInvalid {
public static void demoRethrow()throws IOException {
try {
// forcing an IOException here as an example,
// normally some code could trigger this.
throw new IOException("Error");
}
catch(Exception exception) {
/*
* Do some handling and then rethrow.
*/
throw exception;
}
}
public static void main( String[] args )
{
try {
demoRethrow();
}
catch(IOException exception) {
System.err.println(exception.getMessage());
}
}
}
Run Code Online (Sandbox Code Playgroud)
就像在描述的文章中一样,它不会编译,因为类型不匹配 - 抛出IOException-和-throw exception-.在Java 7中它会.所以我的问题是.
如何在Java 6中正确实现这种异常的重新抛出?我不喜欢建议的实现例子没有五.我知道如果未经检查的异常,你尝试处理的是品味和问题.那么我该怎么做才能得到-throws …
反正有没有提高这个哈希的初始化速度?目前,我的机器大约需要20分钟.
#prepare hash()
hash <- list();
mappedV <- # matrix with more than 200,000 elements
for( i in 1:nrow(mappedV) ) {
hash[[paste(mappedV[i,], collapse = '.')]] <- 0;
}
Run Code Online (Sandbox Code Playgroud)
在这段代码之前,我使用了一个矩阵,但这花了我超过3个小时.所以我不会抱怨20分钟.如果有更好的选择,我只是好奇.我使用哈希函数来计算200,000种可能组合中的每一种.
PS:并发可能是一种选择.但这并没有改善散列.
有没有办法为equinox日志文件定义输出文件夹?
如果选中此链接,则可以定义配置文件夹.但我没有找到更改日志输出文件夹的方法.(注意:配置和日志文件夹是不同的文件夹.)
一个解决方法是
java -jar org.eclipse.osgi.jar -consoleLog > ../var/log/osgi.log
Run Code Online (Sandbox Code Playgroud)
但我真的不喜欢这个,因为我不能使用这些参数(eclipse.log.backup.max eclipse.log.size.max).
不知道怎么解决这个问题?