Sunteți pe pagina 1din 2

Estructura de Datos

ITChilpancingo ISC 3Sem S2

Asignacion de Memoria en Java


La asignacin de memoria consiste en el proceso de asignar memoria para propsitos especficos, ya sea en tiempo de compilacin o de ejecucin. Si es en tiempo de compilacin es esttica, si es en tiempo de ejecucin es dinmica y si son variables locales a un grupo de sentencias se denomina automtica. ASIGANACIN DE MEMORIA ESTATICA Asignacin esttica de memoria consiste en el proceso de asignar memoria en tiempo de compilacin antes de que el programa asociado sea ejecutado, a diferencia de la asignacin dinmica o la automtica donde la memoria se asigna a medida que se necesita en tiempo de ejecucin.2 Una aplicacin de esta tcnica conlleva que un mdulo de programa (por ejemplo funcin o subrutina) declara datos estticos de forma local, de forma que estos datos son inaccesibles desde otros mdulos a menos que se les pasen referenciados como parmetros o que les sean devueltos por la funcin. Se mantiene una copia simple de los datos estticos, accesible a travs de llamadas a la funcin en la cual han sido declarados. El uso de variables estticas dentro de una clase en la programacin orientada a objetos permite que una copia individual de tales datos se comparta entre todos los objetos de esa clase. Las constantes conocidas en tiempo de compilacin, como literales de tipo cadena, se asignan normalmente de forma esttica. En programacin orientada a objetos, el mtodo usual para las tablas de clases tambin es la asignacin esttica de memoria.

ASIGNACIN DE MEMORIA DINAMICA Asignacin dinmica de la memoria es la asignacin de almacenamiento de memoria para utilizacin por parte de un programa de computador durante el tiempo de ejecucin de ese programa. Es una manera de distribuir la propiedad de recursos de memoria limitada entre muchas piezas de cdigo y datos. Un objeto asignado dinmicamente permanece asignado hasta que es desasignado explcitamente, o por el programador o por un recolector de basura; esto es notablemente diferente de la asignacin automtica de memoria y de la asignacin esttica de memoria (la de las variables estticas). Se dice que tal objeto tiene tiempo de vida dinmico DATOS ESTATICOS Y DINAMICOS Datos estticos: su tamao y forma es constante durante la ejecucin de un programa y por tanto se determinan en tiempo de compilacin. El ejemplo tipico son los arrays. Tienen el problema de que hay que dimensionar la estructura de antemano, lo que puede conllevar desperdicio o falta de memoria.

Estructura de Datos

ITChilpancingo ISC 3Sem S2

Datos dinmicos: su tamao y forma es variable (o puede serlo) a lo largo de un programa, por lo que se crean y destruyen en tiempo de ejecucin. Esto permite dimensionar la estructura de datos de una forma precisa: se va asignando memoria en tiempo de ejecucin segn se va necesitando. Cuando el sistema operativo carga un programa para ejecutarlo y lo convierte en proceso, le asigna cuatro partes lgicas en memoria principal: texto, datos (estticos), pila y una zona libre. Esta zona libre (o heap) es la que va a contener los datos dinmicos, la cual, a su vez, en cada instante de la ejecucin tendr partes asignadas a los mismos y partes libres que fragmentaran esta zona, siendo posible que se agote si no se liberan las Partes utilizadas ya inservibles. (La pila tambin varia su tamao dinmicamente, pero la gestiona el sistema operativo, no el programador): Para trabajar con datos dinmicos necesitamos dos cosas: 1. Subprogramas predefinidos en el lenguaje que nos permitan gestionar la memoria de forma dinmica (asignacin y liberacin). 2. Algn tipo de dato con el que podamos acceder a esos datos dinamicos (ya que con los tipos vistos hasta ahora solo podemos acceder a datos con un tamao y forma ya determinados).

S-ar putea să vă placă și