2011-11-24 10 views
5

So che l'implementazione di python di ordinamento (timsort) è implementata in C per ottenere prestazioni migliori. È anche il caso dell'implementazione java, o tutti gli algoritmi java sono implementati in java?Gli algoritmi java sono implementati in C o in java?

+0

Dai un'occhiata al codice sorgente per scoprirlo (è in un file ZIP nella tua directory JDK). (oppure attendere un minuto prima che qualcuno possa inviare la risposta) –

risposta

6

La maggior parte della libreria standard viene in genere implementata in Java. Detto questo, molte funzionalità specifiche del sistema operativo o della piattaforma devono essere implementate nel codice "nativo", quindi una buona percentuale viene anche tipicamente scritta in C e/o C++. Dipende un po 'dalla particolare implementazione della JVM, ovviamente.

Le funzionalità tipiche implementate in lingue diverse da Java includono threading, I/O di rete, I/O di file e API dell'interfaccia utente di basso livello. Si noti che queste sono tutte caratteristiche specifiche di basso livello, tuttavia - gli algoritmi più astratti/generali sono ideali per l'implementazione in Java, e quindi sono in genere.

4

La maggior parte della libreria Java è implementato in Java, tra cui il sort algorithm

+0

Ma OpenJDK non è l'implementazione JVM standard. – Viruzzo

+4

@Viruzzo ne sei sicuro? :) – unbeli

+0

Sono corretto, lo è ora (da Java 7, cioè). Questo è ciò che ottieni per dover lavorare con Java 1.4.2 il più delle volte ... – Viruzzo

1

La risposta è: dipende sull'attuazione JVM reale e il tipo di algoritmo. La maggior parte degli alogritmi pubblici di stadard API sono in java. Un'eccezione è sicuramente la programmazione dei thread.

1

Per quanto ne so, sono implementati in Java. Here puoi trovare alcune informazioni a riguardo.

1

Se dai un'occhiata alle origini java.util.Arrays.sort(), puoi vedere che l'algoritmo di ordinamento è implementato in Java. Tuttavia, ciò non implica necessariamente che tutti gli altri algoritmi siano uguali.

Problemi correlati