小编Iva*_*van的帖子

Java:同步标准输出和标准错误

我有一个奇怪的问题,如果我能解决它会很好.出于调试目的(以及其他一些事情),我正在标准输出上编写控制台Java应用程序的日志.有些东西是标准出来的,有些东西就像错误一样打印在标准错误上.问题是这两者并不完全同步,因此打印线的顺序并不总是正确的.我想这是因为打印了许多东西,并且发生一个输出的缓冲区已满,所以另一个输出在第一个输出刷新缓冲区之前打印.

我想写这个:

syso: aaa
syso: bbb
syso: ccc
syso: ddd
syso: eee
syserr: ---
Run Code Online (Sandbox Code Playgroud)

有时打印的是

aaa
bbb
ccc
---
ddd
eee
Run Code Online (Sandbox Code Playgroud)

有时两者之间没有新线,所以它看起来像

aaa
bbb
ccc---

ddd
eee
Run Code Online (Sandbox Code Playgroud)

每次我在输出上打印一些东西时,我用相同的输出刷新

System.out.flush();
Run Code Online (Sandbox Code Playgroud)

要么

System.err.flush();
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题呢?顺便说一句,一切都在Eclipse控制台中打印出来.

java eclipse

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

如何使用不同的X值为每个系列创建包含多个系列的图表?

我想绘制几个图并将它们组合成一个图.我将在一个例子中解释这个问题.假设我想用这些点绘制两个图:

图#1(X和Y定义坐标).

X - Y
_____

1 - 5
2 - 5
5 - 7
9 - 10
Run Code Online (Sandbox Code Playgroud)

图#2

X - Y
_____

6 - 8
8 - 12
9 - 7
12 - 8
15 - 11
21 - 11
Run Code Online (Sandbox Code Playgroud)

我所做的是创建一个图表,然后单击"选择数据".在那里,我创建了两个系列,并选择X和Y值.但是,这不起作用,因为它不允许我为不同的图形选择不同的X值.虽然我为这两个系列选择了不同的X值,但是为这两个系列选择了第二个.这就是它最终的样子:

截图

你知道怎么解决这个问题吗?我正在使用Excel 2008 for Mac.

excel graph excel-2008

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

在Eclipse中增加Java堆大小的问题

我有一个错误说的问题ERROR: 'Java heap space'.我按照这些说明来增加Eclipse的堆大小,但它不起作用.Eclipse似乎忽略了给定的值.我的eclipse.ini文件看起来像这样:

-startup
../../../plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=512m
-Xms512m
-Xmx1024m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.ecli
pse.swt.internal.carbon.smallFonts
Run Code Online (Sandbox Code Playgroud)

Eclipse版本是在Mac上运行的3.6.1.

什么想法可能是错的?

java eclipse heap

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

Java:重写equals方法在查找哈希表的键时不起作用?

我的哈希表看起来像这样:

Hashtable<Mapping, Integer> mappingCount = new Hashtable<Mapping, Integer>();
Run Code Online (Sandbox Code Playgroud)

我想使用这段代码:

if (mappingCount.get(currentMapping) != null)
    mappingCount.put(currentMapping, mappingCount.get(currentMapping) + 1);
else
    mappingCount.put(currentMapping, 1);
Run Code Online (Sandbox Code Playgroud)

为了能够从散列表中获取值,对于类,Mapping我执行了以下操作:

@Override
public boolean equals(Object obj) {
    return ((Mapping)obj).mappingXML.equals(this.mappingXML);
}
Run Code Online (Sandbox Code Playgroud)

但是,由于mappingCount.get(currentMapping)总是导致这种情况不起作用null.为了确保没有错,我做了以下事情:

if (aaa.contains(currentMapping.getMappingXML()))
    System.out.println("found it!");
else
    aaa.add(currentMapping.getMappingXML());
Run Code Online (Sandbox Code Playgroud)

哪里aaaList<String> aaa = new ArrayList<String>().当然,found it是多次打印.我究竟做错了什么?

java

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

标签 统计

java ×3

eclipse ×2

excel ×1

excel-2008 ×1

graph ×1

heap ×1