Ich möchte, dass der Speicher stabil ist, ohne Störungen durch den "Garbage Collector" und auch die Speichernutzung wird nicht überschritten.Wie lösche ich Objekte von eden space JAVA8?
package com.company;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import java.net.URI;
public class Main {
public static void main(String[] args) {
new GetThread().start();
}
static class GetThread extends Thread {
private HttpGet httpGet = new HttpGet();
private final CloseableHttpClient httpClient;
public GetThread() {
this.httpClient = HttpClientBuilder.create()
.build();
try{
httpGet.setURI(new URI("https://play.google.com/store/apps/details?id=com.whatsapp"));
}
catch (Exception e){
e.printStackTrace();
}
}
@Override
public void run()
{
StringBuilder body;
for (int i = 0; i < 50000; i++)
{
try{
CloseableHttpResponse response = httpClient.execute(httpGet);
body = new StringBuilder(EntityUtils.toString(response.getEntity()));
EntityUtils.consume(response.getEntity());
response.close();
body.setLength(0);
response = null;
body = null;
}
catch (Exception e){
e.printStackTrace();
}
}
}
}
}
Problematische Linie
body = EntityUtils.toString (response.getEntity());
Ich habe versucht, dieses Objekt als null zu setzen, aber es existiert immer noch im Eden-Raum.
obwohl das Objekt null ist, ist es in dem Speicher noch existiert, bis der „Garbage Collector“, um den Speicher reinigt.
Danke!
Sie sollten nicht tun . Lass den GC seine Arbeit machen. Ich würde empfehlen, nach einer JVM für Echtzeit-Apps zu suchen, die sich entsprechend mit GC befasst haben. – duffymo
Objekte können nicht null sein. Variablen können den Wert "null" speichern. Der Heap wird bei Speicherbereinigungszyklen gelöscht. Warum erwartest oder willst du etwas anderes? –
Klingt wie eine [XY-Problem] (http://xyproduct.info/) Frage. Sie sollten eine Frage (infundiert mit umsetzbaren Daten!) Über das eigentliche GC-Problem stellen, das Sie lösen möchten. – the8472