Mám dotaz, určitě se zde najde někdo kdo bere sportovně naše spory a odpoví. Mějme klasickou implementaci vzoru observer, kde událost vyvolávám takto:
private void fireSpadlaHruska() {
for(StromObserver observer : observers) {
handler.spadlaHruska();
}
}
private void fireSpadloJabko() {
for(StromObserver observer : observers) {
handler.spadloJabko();
}
}
}
Tak by mě zajímalo, jestli je kompilátor pro Javu taková šikulka, že se za běhu aplikace nemusí jakoby spouštět zcela prázdná metoda SpadloJabko() u nějakého observera, který na ní nijak nereaguje. Nebo se snad stane za běhu to, že skutečně dojde k sérii příkazů ve snaze spustit metodu, ve které nic není? (např observer Pepa chce vědět jen o pádu jabka a nezajímají ho hrušky. Třeba debugger by si do té metody vlezl.
Mozna uz by bylo nacase, abyste zacal javu studovat a ne jen nadavat a ptat se na kazdou kravinu ve forech.
Java i JVM je open source tady jsou zdrojaky
http://openjdk.java.net/ Porad tvrdite jak je .net a jazyk c lepsi, tak predpokladam, ze v C umite aspon cist zdrojove kody.
Tvrdite jak je Java spatna (mel byste rozlysovat Java a JVM), tak predpokladam, ze znate do detailu runtime .NET, popripade jine platformy, nebo jste si dokonce vlastni prekladac napsal.
Na zaklade tohoto bystem mel byt schopen si odpovedi najit sam ve zdrojovych kodech JVM a pochopit co je to JIT a jak funguje, pokud jste se s tim na jinych platformach nesetkal, misto lacineho placani, ze je Java pomala.