7
votes

Les algorithmes Java sont-ils mis en œuvre dans C ou en Java?

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?


1 commentaires

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)


5 Réponses :


5
votes

La plupart de la bibliothèque Java est implémentée en Java, y compris le Trier l'algorithme


3 commentaires

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 ...



1
votes

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.


0 commentaires

1
votes

Autant que je sache, ils sont mis en œuvre à Java. ici Vous pouvez trouver des informations à ce sujet.


0 commentaires

1
votes

Si vous jetez un coup d'oeil au java.util.arrays.sort () 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.


0 commentaires

7
votes

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.

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.


0 commentaires