質問編集履歴

2

追記:気づいたこと

2016/07/10 12:24

投稿

dttornado
dttornado

スコア20

test CHANGED
File without changes
test CHANGED
@@ -32,6 +32,12 @@
32
32
 
33
33
  at GetMsgThread.run(NChat.java:176)
34
34
 
35
+
36
+
37
+ 追記:原因は不明のままですが、対処法については判明しました。SrcThreadのwhileループの1つ下のブロック、つまりforループの前にSystem.out.println()などのなんらかのメソッドを呼び出すと正常に作動することが分かりました。
38
+
39
+ しかし原因については一切の見当が付きません
40
+
35
41
  ###該当のソースコード
36
42
 
37
43
  Java

1

依頼を受け一部追記しました

2016/07/10 12:24

投稿

dttornado
dttornado

スコア20

test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,24 @@
14
14
 
15
15
  よろしくお願いします
16
16
 
17
+ 追記:スタックトレース
18
+
19
+ Exception in thread "Thread-4" java.lang.OutOfMemoryError: Java heap space
20
+
21
+ at java.util.Arrays.copyOf(Arrays.java:3210)
22
+
23
+ at java.util.Arrays.copyOf(Arrays.java:3181)
24
+
25
+ at java.util.ArrayList.grow(ArrayList.java:261)
26
+
27
+ at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:235)
28
+
29
+ at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:227)
30
+
31
+ at java.util.ArrayList.add(ArrayList.java:458)
32
+
33
+ at GetMsgThread.run(NChat.java:176)
34
+
17
35
  ###該当のソースコード
18
36
 
19
37
  Java
@@ -136,6 +154,62 @@
136
154
 
137
155
  }
138
156
 
157
+ //Inpクラスの内容追記
158
+
159
+ class Inp{
160
+
161
+ String str=null;
162
+
163
+ BufferedReader br;
164
+
165
+ Inp(InputStream ist){
166
+
167
+ try{
168
+
169
+ InputStreamReader isp = new InputStreamReader(ist);
170
+
171
+ br = new BufferedReader(isp);
172
+
173
+ }catch(Exception e){
174
+
175
+ System.err.print(e);
176
+
177
+ }
178
+
179
+ }
180
+
181
+ String inp(){
182
+
183
+ try{
184
+
185
+ str = br.readLine();
186
+
187
+ }catch(Exception e){
188
+
189
+ System.err.print(e);
190
+
191
+ }
192
+
193
+ return str;
194
+
195
+ }
196
+
197
+ void inpcls(){
198
+
199
+ try{
200
+
201
+ br.close();
202
+
203
+ }catch(Exception e){
204
+
205
+ System.err.println(e);
206
+
207
+ }
208
+
209
+ }
210
+
211
+ }
212
+
139
213
  ```
140
214
 
141
215