java na builderach

Paweł Sikora pluto w ds14.agh.edu.pl
Wto, 17 Sie 2004, 12:32:29 CEST


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.

-- 
/* Copyright (C) 2003, SCO, Inc. This is valuable Intellectual Property. */

                           #define say(x) lie(x)




Więcej informacji o liście dyskusyjnej pld-discuss-pl