java na builderach
Michal Moskal
malekith w pld-linux.org
Wto, 17 Sie 2004, 13:47:54 CEST
On Tue, Aug 17, 2004 at 12:32:29PM +0200, Paweł Sikora wrote:
> On Tuesday 17 of August 2004 11:33, Jakub Bogusz wrote:
>
> > Do samej kompilacji *.java -> .class może wystarczyłby gcj?
> > (nie próbowałem)
>
> dla małych prostych aplikacji wywoływanych z powłoki owszem można,
> ale do większych projektów już nie radzę, bo kompilator (gcj)
> z analiza statyczną zostaje daleko w tyle za jvm-em.
>
> przykład: metody inline.
>
> ("The extensive inlining enabled by the Java HotSpot dynamic
> compiler gives it a huge advantage over static compilers.")
>
> kompilator jvm może rozwijać metody o ile stwierdzi, że się da,
> bo metoda nie jest (w danej chwili działania programu) polimorficzna.
> Po jakimś czasie działania programu, doładowaniu kolejnej klasy metoda
> może stać się już polimorficzną, wtedy normalny jvm wywala to,
> co wczesniej skompilował z rozwijaniem i używa nowego kodu.
> kompilator natywny (z analizą statyczną) jest w takim przypadku
> bezradny. w środowisku uruchomieniowym program musiałby dublować
> i tak te wszystkie informacje o załadowanych klasach i na dobrą
> sprawę zrobi się z tego drugie jvm.
>
> to, że gcc jest świetnym kompilatorem c/c++ nie oznacza,
> że musi być dobrym kompilatorem dla javy.
gcj umie kompilować do bytecodu, o czym jak sądzę pisał qboosh.
--
: Michal Moskal :: http://www.kernel.pl/~malekith :: GCS !tv h e>+++ b++
: ::: Logic is a nice contrast to the Real World. :: UL++++$ C++ E--- a?
Więcej informacji o liście dyskusyjnej pld-discuss-pl