2010-10-13 7 views
1

En travaillant sur une application Java, j'ai rencontré le paramètre -XX:+UseGetTimeOfDay sur une commande java, je ne trouve pas beaucoup d'informations à ce sujet.Que fait -XX: + UseGetTimeOfDay comme paramètre?

Premièrement, qu'est-ce que le -XX signifie, et que fournirait UseGetTimeOfDay? Je ne les ai jamais vues auparavant et je me demande ce qu'elles font, cela pourrait-il être quelque chose de spécifique à mon application ou ces paramètres Java standard?

Répondre

2

Je ne sais pas s'il est encore pertinent aujourd'hui, mais je trouve some documentation là-dessus:

charge la machine virtuelle Java d'utiliser l'appel gettimeofday à la place du mécanisme utilisé dans les versions antérieures où le nombre de cpu tiques depuis le démarrage de l'application est utilisé pour calculer l'heure actuelle. Avec ce nouveau mécanisme, les modifications apportées à la date ou à l'heure système à l'aide de date (1), adjtime (2) ou des utilitaires de synchronisation horaire tels que ntp ne sont pas répercutées dans la date et l'heure de retour de Java. Si votre application nécessite que Java ™ reflète immédiatement ces changements d'heure système, vous pouvez utiliser l'option -XX: + UseGetTimeOfDay, mais vous remarquerez peut-être une baisse des performances.

En général, les indicateurs -X et -XX sont ceux qui contrôlent la machine virtuelle Java (et sont spécifiques à la machine virtuelle).

De l'HotSpot options page (qui ne liste pas celui-ci):

  • options qui commencent par -X sont non standard (non garantie à être pris en charge sur toutes les implémentations VM) et font l'objet changer sans préavis dans les versions ultérieures du JDK.
  • Les options spécifiées avec -XX ne sont pas stables et ne sont pas recommandées pour un usage occasionnel. Ces options sont sujettes à changement sans préavis.
0

Trouvé this thread qui dit:

La machine virtuelle Java HotSpot utilise l'appel système gettimeofday() pour obtenir la date et l'heure.

Pour des performances raisons pour lesquelles un nouveau mécanisme est utilisé qui utilise le nombre de CPU tiques depuis l'application a commencé, pour calculer le temps en cours. Par conséquent, les modifications apportées à la date ou l'heure système en utilisant la date (1), adjtime (2) ou la synchronisation horaire les utilitaires tels que ntp ne seront pas reflété dans la date et l'heure que le programme Java retourne, jusqu'à ce que le Le processus est redémarré.

Si votre application nécessite que changements de temps du système sont immédiatement réfléchi, vous pouvez utiliser la option -XX: + UseGetTimeOfDay dire la machine virtuelle Java d'utiliser l'appel gettimeofday au lieu du nouveau mécanisme léger. Cependant, vous remarquerez peut-être une baisse de performance de .