Java siempre aparece como que utiliza 700 MB de memoria real. Es una buena cantidad en mi iMac de 4 GB. Ni siquiera sé que estoy ejecutando una aplicación Java, nunca.
¿Alguna idea?
Java siempre aparece como que utiliza 700 MB de memoria real. Es una buena cantidad en mi iMac de 4 GB. Ni siquiera sé que estoy ejecutando una aplicación Java, nunca.
¿Alguna idea?
Esto se debe a la naturaleza de la tecnología de recolección de basura utilizada en Java. La liberación de memoria en estos sistemas se retrasa hasta que se alcanza algún umbral, se agota la memoria o pasa algún tiempo. Es probable que no esté utilizando todos esos 700 MB todo el tiempo (bien podrían ser sólo 50 MB), pero el Monitor de Actividad no tiene forma de mirar dentro de la máquina virtual de Java y decir cuánto se utiliza realmente.
Normalmente, si no hay fallos ni fugas ( Sí, los sistemas GC también pueden tener fugas. ), Java debería renunciar a la memoria no utilizada siempre que su sistema se quede sin ella, por lo que no hay necesidad de preocuparse en este momento. Dicho esto, si no necesitas el programa, no estará de más que desinstales lo que sea que lo esté iniciando.
Abra el monitor de actividad, haga clic en el proceso Java y pulse Comando-I.
A partir de ahí, podrá averiguar de qué dos maneras se produce el proceso
1) Mira los archivos y puertos abiertos Los archivos abiertos deberían dar una pista de dónde viene el proceso o al menos de qué está leyendo + escribiendo.
2) Proceso parental Puede hacer clic en esta opción para abrir la información sobre el proceso padre y rastrear la cadena padre para ver qué inició el proceso. Si se trata de launchd, es posible que pueda mirar en la configuración de launchd para ver dónde hay una llamada a java.
La explicación arcaica :
Las aplicaciones Java requieren un máquina virtual correr porque no pueden ser no suelen compilarse directamente en lenguaje máquina (código nativo) para muchos procesadores, sino que Java suele compilarse en código de bytes . Java es también un lenguaje de programación orientado a objetos (POO) de muy alto nivel, lo que significa que, si bien el código de la aplicación en sí es mucho más fácil de mantener, el código de la aplicación es mucho más fácil de mantener. objetos que son instanciado utilizará mucha más memoria.
La explicación más moderna :
Sin embargo, muchos sostienen que el problema suele deberse más a las estructuras de datos y la arquitectura del programa Java que al código de bytes. Y yo tiendo a estar de acuerdo con eso.
Hay otras razones por las que las aplicaciones Java consumen tantos recursos del sistema (como RAM). Por ejemplo, la mayoría de las aplicaciones modernas utilizan el Conjunto de caracteres UTF-8 que requiere más memoria por carácter, para cadenas (normalmente texto), ya que admite muchos símbolos de otros idiomas. Y como muchas aplicaciones se dirigen a un enorme mercado internacional, están obligadas a utilizarlo.
Dicho esto, podría decirse que Java sigue siendo el lenguaje de programación más popular del momento. Muchas de las aplicaciones que ejecuta su ordenador están escritas en Java. Por eso.
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.