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