Je sais que la mise en œuvre du tri de Python (Timsort) est mise en œuvre dans C pour obtenir une meilleure performance. Est-ce également le cas pour la mise en œuvre Java ou tous les algorithmes Java sont-ils mis en œuvre dans Java? P>
5 Réponses :
La plupart de la bibliothèque Java est implémentée en Java, y compris le Trier l'algorithme P>
Mais OpenJDK n'est pas la mise en œuvre JVM standard.
@Viruzzo êtes-vous sûr de cela? :)
Je suis corrigé, c'est maintenant (de Java 7, c'est-à-dire). C'est ce que vous obtenez pour avoir à travailler avec Java 1.4.2 la plupart du temps ...
La réponse est, cela dépend de la mise en œuvre réelle JVM et du type de l'algorithme. La plupart des alogithmes d'API Stadard Public Stadard sont en Java. Une exception à coup sûr est la planification du fil. P>
Autant que je sache, ils sont mis en œuvre à Java. ici Vous pouvez trouver des informations à ce sujet. P>
Si vous jetez un coup d'oeil au java.util.arrays.sort () code> sources, vous pouvez voir que l'algorithme de tri est implémenté dans Java. Cependant, cela n'implique pas nécessairement que tous les autres algorithmes sont également. P>
La majorité de la bibliothèque standard est généralement mise en œuvre en Java. Cela dit, beaucoup de fonctionnalités spécifiques au système d'exploitation ou à la plate-forme doivent être implémentées dans un code "natif", un bon pourcentage est donc généralement typiquement écrit en C et / ou C ++. Cela dépend un peu sur la mise en œuvre de la JVM particulière, bien sûr. P>
fonctionnalité typique implémentée dans des langues autres que Java inclut le filetage, les E / S du réseau, les E / S de fichier et l'API d'interface utilisateur de bas niveau. Notez que celles-ci sont toutes des fonctionnalités spécifiques assez de niveau bas, cependant - les algorithmes les plus abstraits / généraux conviennent parfaitement à la mise en œuvre en Java et sont donc généralement. P>
Regardez le code source pour le trouver (c'est dans un fichier zip dans votre Dir JDK). (ou attendez une minute pour que quelqu'un pose la réponse)