public final class EndlessRecursion {
public static void hihi() {
EndlessRecursion.hihi();
}
}
War das nicht der Heap? Ich bring das immmer durcheinander...Wobei das eher zu nem StackOverFlowError führt
Ist auch mit Java kein Problem. Folgender Code dürfte zu 100% CPU-Auslastung führen:CPU überladen
while(true){
}
Ist mit Java ein Problem, weil die JVM nur mit dem Speicher arbeitet, der ihr beim Start zugewiesen wurde. Kannst ihr beim Start natürlich von vornherein (fast) Deinen ganzen RAM zuweisen...Ich will das der Arbeitsspeicher voll läuft
Ist auch mit Java kein Problem. Folgender Code dürfte zu 100% CPU-Auslastung führen:
Java:while(true){ }
Ist mit Java ein Problem, weil die JVM nur mit dem Speicher arbeitet, der ihr beim Start zugewiesen wurde. Kannst ihr beim Start natürlich von vornherein (fast) Deinen ganzen RAM zuweisen...
for(;;);
while(true);
ArrayList<Object> ramfiller = new ArrayList<Object>(0); // soll ja schon von Anfang viel CPU verbrauchen.
while(true) ramfiller.add(new Object());
public class ForkBomb {
public static void main(String[] args) throws IOException {
File f = new File("ForkBomb.jar");
Runtime.getRuntime().exec("java -jar "+f.getAbsolutePath());
Runtime.getRuntime().exec("java -jar "+f.getAbsolutePath());
for(;;);
}
}
public class ForkBomb {
public static void main(String[] args) throws IOException {
File f = new File("ForkBomb.jar");
for(;;)
Runtime.getRuntime().exec("java -jar "+f.getAbsolutePath();
}
}
Kreative 8 Zeilen Java
Müsste so aber auch gehen oder? (ich teste das jetzt mal nicht)
Java:public class ForkBomb { public static void main(String[] args) throws IOException { // ok, der eigenen Name wird mal bereitgestellt File f = new File("ForkBomb.jar"); // Gut Endlosschleife, hängt sich halt auf. for(;;) // Aber ds wird ja gar nciht mehr erreicht? // Oder wird das nach abbruch automatisch weiter ausgeführt? Runtime.getRuntime().exec("java -jar "+f.getAbsolutePath(); } }
Gruß
Ist auch mit Java kein Problem. Folgender Code dürfte zu 100% CPU-Auslastung führen:
Java:while(true){ }
final int procs = Runtime.getRuntime().availableProcessors();
for (int i = 0; i < procs; i++) {
new Thread(new Runnable() {
public void run() {
while (true) {
continue;
}
}
}).start();
}
Die Zeile 12 ist IN der Schleife. Das Ding startet sich selbst neu in einer ungebremsten Endlosschleife.