public Boolean UpdateKontrol2() {
page2 = fbclient.fetchObject(data[sayfasayisi][0], Page.class);
pageposts7 = fbclient.fetchConnection(page2.getId() + "/feed",
Post.class, Parameter.with("since", "05-12-2013"), Parameter.with("type", "post"));
pageposts5 = fbclient.fetchConnection(page2.getId() + "/feed",
Post.class, Parameter.with("since", "05-12-2013"), Parameter.with("type", "post"));
pageposts9 = fbclient.fetchConnection(page2.getId() + "/feed",
Post.class, Parameter.with("since", "05-12-2013"), Parameter.with("type", "post"));
// some fetch operations like this :
update[i - r][0][sayfasayisi] = pageposts5.getData().get(yukarıgecici2).getMessage();
// some control operations here
if (sayfasayisi == boyut) {
sayfasayisi = 0;
long finishdate = System.currentTimeMillis();
long result =finishdate - datestart ;
if (result<3600000) {
try {
Thread.sleep(3600000-result);
} catch (InterruptedException ex) {
Logger.getLogger(UpdateDeneme.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
return UpdateKontrol2();
Мой код работает нормально, но через 8 или 9 часов я получаю ошибку StackOverFlow
. Как я могу это исправить?StackOverflowError Как я могу это решить?
thanx bro, я понял свою ошибку, но все же хочу спросить, если я использую метод типа void, и я пишу только «UpdateKontrol2()» вместо возврата метода UpdateKontrol2(). Возникает любая ошибка stackoverflow? – user3077045
Вы получите тот же результат. Вы вызываете один и тот же метод в конце самого себя, никогда не возвращаетесь/выходите из него, потому что сама функция вызывает ВСЕГДА последнее, что она делает, что приводит к переполнению стека. Единственная причина, почему это так долго, - это то, что у вас есть вызов Thread.sleep. – BrDaHa