小编job*_*obo的帖子

替换为"$"时replaceFirst()失败

我不明白为什么"$"很特别.

String str = "bla aa";
String tag = "$";
str = str.replaceFirst("aa", tag);

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
Run Code Online (Sandbox Code Playgroud)

如果我更改tag ="\\ $",那么它可以正常工作.但为什么需要逃脱呢?提前致谢.

java regex string

3
推荐指数
1
解决办法
1275
查看次数

JTextArea 占用大量内存

我在使用 Java 和 Swing 时遇到了一些内存问题。我有一个JTextArea(与 相同的问题JTextPane),用于从 C++ 可执行文件重定向标准输出。而且因为我输出了很多标准输出,JTextPane所以消耗了大量空间。无论如何,我将其归结为以下代码,全部使用 Java。

private javax.swing.JTextArea jtextareastdout;
....

for (int i = 0; i < 200000; i++) {
    String randomstr = UUID.randomUUID().toString();

    jtextareastdout.setText(randomstr);  //<tag_memory>
    if (i % 100 == 0)
        System.gc(); //<tag_no_help>
}
Run Code Online (Sandbox Code Playgroud)

以上代码占用100MB。注释掉 tag_memory 行后,少了很多(我的所有其他代码和 UI 为 30MB)。如何减少 Java 的内存使用量?当前使用 Java 7 更新 4。

提前致谢。

java swing document jtextarea

3
推荐指数
1
解决办法
1206
查看次数

代理键与复合键

对数据库模式相当陌生(计划使用 SQLite)。话虽如此,我正在考虑使用代理键,因为数据库当前包含一个复合键(3 列),它出现在我的大多数表中。我有几个表,其中包含 3 列唯一键和一列包含一些信息;我还有一张表包含 3 列用于唯一键,以及相同的 3 列作为外键(许多父项)。将所有这些表组合成一个表似乎没有意义,因为会有很多空字段。

如果我选择其中之一,会不会掉坑?一般认为哪一种编程更方便?

先感谢您。

sql database sqlite database-schema

0
推荐指数
1
解决办法
957
查看次数

标签 统计

java ×2

database ×1

database-schema ×1

document ×1

jtextarea ×1

regex ×1

sql ×1

sqlite ×1

string ×1

swing ×1