为什么我要在Java中无休止地添加字符串
我正在写一个游戏,当我试图向服务器发送聊天信息时,我得到了一个奇怪的内存泄漏。 发送字符串: !聊天测试 变成:为什么我要在Java中无休止地添加字符串,java,Java,我正在写一个游戏,当我试图向服务器发送聊天信息时,我得到了一个奇怪的内存泄漏。 发送字符串: !聊天测试 变成: !chat¥test !chat¥!chat¥test !chat¥!chat¥!chat¥test !chat¥!chat¥!chat¥!chat¥test !chat¥!chat¥!chat¥!chat¥!chat¥test !chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test !chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!
!chat¥test
!chat¥!chat¥test
!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥!chat¥test
Ect, ect.
Sending message:
Utils.sendChat(message.getText());
public static void sendChat(String s) {
System.out.println(s);
sendChat("!chat"+Wrapper.commandSplit+s);
}
public static void sendTextLine(String s){
s = s.replace(" ", "[SPACE]");
System.out.println(s);
Wrapper.pw.write(s);
Wrapper.pw.flush();
}
我不知道为什么会这样,有人能帮我吗?
我使用¥分割字符串中的变量,以前没有给过我任何问题,所以我怀疑这与此有关
谢谢
public static void sendChat(String s) {
System.out.println(s);
sendChat("!chat"+Wrapper.commandSplit+s);
}
这是一个无休止的循环,每次您再次调用sendChat时,都会生成越来越长的字符串
您可能想在第二行调用sendTextLine?getText是如何工作的?这可能是因为您在添加同一个文本,而不是内存泄漏,而是告诉服务器要发送的文本的作用域问题。有两件事……大多数人使用逗号进行分隔,我很确定您只是在递归调用sendChat。无止境循环不属于内存泄漏问题。@chaitanya10:请改进您的设置英语ur是为在手机上发短信的青少年设计的。所以不会因为有人胆敢浪费你的磁盘空间而耗尽磁盘空间并爆炸。@MarcB它实际上不是英语english@user1681891所以说谢谢有自己的机制->接受答案。请看,我希望用户1681891回来并将其标记为正确的…在此之前,请使用+1不要抱太大希望,0%接受率