Enviar pesquisa
Carregar
POO - 03 - Alocação de Memória em Java
•
6 gostaram
•
8,049 visualizações
Ludimila Monjardim Casagrande
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 12
Baixar agora
Baixar para ler offline
Recomendados
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Adriano Teixeira de Souza
Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)
Leinylson Fontinele
Linguagem C 09 Ponteiros
Linguagem C 09 Ponteiros
Regis Magalhães
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
Ludimila Monjardim Casagrande
POO - 13 - Arrays em Java
POO - 13 - Arrays em Java
Ludimila Monjardim Casagrande
Linguagem C - Ponteiros
Linguagem C - Ponteiros
Elaine Cecília Gatto
Java orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
Mario Jorge Pereira
Recomendados
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Adriano Teixeira de Souza
Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)
Leinylson Fontinele
Linguagem C 09 Ponteiros
Linguagem C 09 Ponteiros
Regis Magalhães
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
Ludimila Monjardim Casagrande
POO - 13 - Arrays em Java
POO - 13 - Arrays em Java
Ludimila Monjardim Casagrande
Linguagem C - Ponteiros
Linguagem C - Ponteiros
Elaine Cecília Gatto
Java orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
Mario Jorge Pereira
Curso de Macros en Excel (VBA)
Curso de Macros en Excel (VBA)
UNASP
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTO
André Victor
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
Leinylson Fontinele
Estrutura de dados - Filas
Estrutura de dados - Filas
Adriano Teixeira de Souza
Estrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas Encadeadas
Adriano Teixeira de Souza
Algoritmos - Matrizes
Algoritmos - Matrizes
Elaine Cecília Gatto
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
Adriano Teixeira de Souza
POO - 14 - Vetores
POO - 14 - Vetores
Ludimila Monjardim Casagrande
Introdução a estruturas de dados em python
Introdução a estruturas de dados em python
Alvaro Oliveira
Linguagem Java
Linguagem Java
Loiane Groner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
Loiane Groner
Estrutura de dados - Pilhas
Estrutura de dados - Pilhas
Adriano Teixeira de Souza
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
Adriano Teixeira de Souza
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
diogoa21
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Leinylson Fontinele
Plano de curso informatica
Plano de curso informatica
F Guanambi
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
Leonardo Melo Santos
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
Ludimila Monjardim Casagrande
Estrutura de repetição
Estrutura de repetição
Jailson Torquato
Algoritmos - Vetores
Algoritmos - Vetores
Elaine Cecília Gatto
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
Ludimila Monjardim Casagrande
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
Adriano Teixeira de Souza
Mais conteúdo relacionado
Mais procurados
Curso de Macros en Excel (VBA)
Curso de Macros en Excel (VBA)
UNASP
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTO
André Victor
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
Leinylson Fontinele
Estrutura de dados - Filas
Estrutura de dados - Filas
Adriano Teixeira de Souza
Estrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas Encadeadas
Adriano Teixeira de Souza
Algoritmos - Matrizes
Algoritmos - Matrizes
Elaine Cecília Gatto
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
Adriano Teixeira de Souza
POO - 14 - Vetores
POO - 14 - Vetores
Ludimila Monjardim Casagrande
Introdução a estruturas de dados em python
Introdução a estruturas de dados em python
Alvaro Oliveira
Linguagem Java
Linguagem Java
Loiane Groner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
Loiane Groner
Estrutura de dados - Pilhas
Estrutura de dados - Pilhas
Adriano Teixeira de Souza
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
Adriano Teixeira de Souza
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
diogoa21
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Leinylson Fontinele
Plano de curso informatica
Plano de curso informatica
F Guanambi
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
Leonardo Melo Santos
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
Ludimila Monjardim Casagrande
Estrutura de repetição
Estrutura de repetição
Jailson Torquato
Algoritmos - Vetores
Algoritmos - Vetores
Elaine Cecília Gatto
Mais procurados
(20)
Curso de Macros en Excel (VBA)
Curso de Macros en Excel (VBA)
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTO
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de dados - Filas
Estrutura de dados - Filas
Estrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas Encadeadas
Algoritmos - Matrizes
Algoritmos - Matrizes
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
POO - 14 - Vetores
POO - 14 - Vetores
Introdução a estruturas de dados em python
Introdução a estruturas de dados em python
Linguagem Java
Linguagem Java
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
Estrutura de dados - Pilhas
Estrutura de dados - Pilhas
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Plano de curso informatica
Plano de curso informatica
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
Estrutura de repetição
Estrutura de repetição
Algoritmos - Vetores
Algoritmos - Vetores
Destaque
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
Ludimila Monjardim Casagrande
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
Adriano Teixeira de Souza
Gerência de Memória em Java - Parte III (2005)
Gerência de Memória em Java - Parte III (2005)
Helder da Rocha
Testes de carga com j meter
Testes de carga com j meter
Francisco Humberto
Lod law of demeter
Lod law of demeter
Engenharia de Software Ágil
3 orientacao-objetos
3 orientacao-objetos
Thiago Oliveira
Exercicio classes
Exercicio classes
feiosanelma
ESTRUTURA DE DADOS (JAVA) AULA 01
ESTRUTURA DE DADOS (JAVA) AULA 01
ETEC Monsenhor Antonio Magliano
Exercícios de programação orientado a objeto
Exercícios de programação orientado a objeto
Gleyciana Garrido
Orientação a Objetos (2)
Orientação a Objetos (2)
Fábio Nogueira de Lucena
Padrões de design orientado a objetos
Padrões de design orientado a objetos
Glauco Vinicius Argentino de Oliveira
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
jose-junior89
Exercicios Analise e Desenvolvimento de projetos
Exercicios Analise e Desenvolvimento de projetos
Roberto Ferreira
Estrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e Funções
Adriano Teixeira de Souza
Aps lista de exercícios
Aps lista de exercícios
Guilherme
Plano de Ação para Atendimento aos Requisitos dos Clientes
Plano de Ação para Atendimento aos Requisitos dos Clientes
Ythia Karla
Baixo Acoplamento e Alta Coesão
Baixo Acoplamento e Alta Coesão
celodemelo
Paradigma Orientado a Objeto
Paradigma Orientado a Objeto
Tony Alexander Hild
Aula 9 gerenciamento_memoria (1)
Aula 9 gerenciamento_memoria (1)
escoteirodabahia
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
Ludimila Monjardim Casagrande
Destaque
(20)
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
Gerência de Memória em Java - Parte III (2005)
Gerência de Memória em Java - Parte III (2005)
Testes de carga com j meter
Testes de carga com j meter
Lod law of demeter
Lod law of demeter
3 orientacao-objetos
3 orientacao-objetos
Exercicio classes
Exercicio classes
ESTRUTURA DE DADOS (JAVA) AULA 01
ESTRUTURA DE DADOS (JAVA) AULA 01
Exercícios de programação orientado a objeto
Exercícios de programação orientado a objeto
Orientação a Objetos (2)
Orientação a Objetos (2)
Padrões de design orientado a objetos
Padrões de design orientado a objetos
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
Exercicios Analise e Desenvolvimento de projetos
Exercicios Analise e Desenvolvimento de projetos
Estrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e Funções
Aps lista de exercícios
Aps lista de exercícios
Plano de Ação para Atendimento aos Requisitos dos Clientes
Plano de Ação para Atendimento aos Requisitos dos Clientes
Baixo Acoplamento e Alta Coesão
Baixo Acoplamento e Alta Coesão
Paradigma Orientado a Objeto
Paradigma Orientado a Objeto
Aula 9 gerenciamento_memoria (1)
Aula 9 gerenciamento_memoria (1)
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
Mais de Ludimila Monjardim Casagrande
Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
Ludimila Monjardim Casagrande
POO - 23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
Ludimila Monjardim Casagrande
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
Ludimila Monjardim Casagrande
POO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
Ludimila Monjardim Casagrande
POO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
Ludimila Monjardim Casagrande
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
Ludimila Monjardim Casagrande
POO - 17 - Interfaces
POO - 17 - Interfaces
Ludimila Monjardim Casagrande
POO - 16 - Polimorfismo
POO - 16 - Polimorfismo
Ludimila Monjardim Casagrande
POO - 15 - Passagem de Argumentos
POO - 15 - Passagem de Argumentos
Ludimila Monjardim Casagrande
POO - 12 - A Classe Object
POO - 12 - A Classe Object
Ludimila Monjardim Casagrande
POO - 11 - Prática de Herança
POO - 11 - Prática de Herança
Ludimila Monjardim Casagrande
POO - 10 - Herança
POO - 10 - Herança
Ludimila Monjardim Casagrande
POO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em Java
Ludimila Monjardim Casagrande
POO - 08 - Prática de Encapsulamento
POO - 08 - Prática de Encapsulamento
Ludimila Monjardim Casagrande
POO - 07 - Operadores do Java
POO - 07 - Operadores do Java
Ludimila Monjardim Casagrande
POO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de Desenvolvimento
Ludimila Monjardim Casagrande
POO - 04 - Variávies em Java
POO - 04 - Variávies em Java
Ludimila Monjardim Casagrande
POO - 06 - Encapsulamento
POO - 06 - Encapsulamento
Ludimila Monjardim Casagrande
Mais de Ludimila Monjardim Casagrande
(18)
Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
POO - 23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
POO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
POO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 17 - Interfaces
POO - 17 - Interfaces
POO - 16 - Polimorfismo
POO - 16 - Polimorfismo
POO - 15 - Passagem de Argumentos
POO - 15 - Passagem de Argumentos
POO - 12 - A Classe Object
POO - 12 - A Classe Object
POO - 11 - Prática de Herança
POO - 11 - Prática de Herança
POO - 10 - Herança
POO - 10 - Herança
POO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em Java
POO - 08 - Prática de Encapsulamento
POO - 08 - Prática de Encapsulamento
POO - 07 - Operadores do Java
POO - 07 - Operadores do Java
POO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de Desenvolvimento
POO - 04 - Variávies em Java
POO - 04 - Variávies em Java
POO - 06 - Encapsulamento
POO - 06 - Encapsulamento
POO - 03 - Alocação de Memória em Java
1.
Programação Orientada a
Objetos Alocação de Memória em Java Criação de Objetos e Alocação de Memória Ludimila Monjardim Casagrande 2012
2.
Alocação de Memória
em Java Toda vez que uma variável é declarada um espaço de memória é alocado para a mesma e, quando ela é inicializada, nesse espaço é armazenado seu valor: int x; x ? x = 0; x 0 Se o tipo da variável não for de um dos tipos primitivos, então, ela é uma referência para um objeto. Alocação de Memória ©2012 Ludimila Monjardim Casagrande 2
3.
Alocação de Memória
em Java Quando uma referência para um objeto é declarada, um espaço de memória também é alocado para a mesma: Data d; d ? Para fins didáticos, podemos considerar que uma referência para um objeto é o endereço de memória no qual o objeto está alocado. A referência é o elemento que permite que um determinado objeto seja acessado. Alocação de Memória ©2012 Ludimila Monjardim Casagrande 3
4.
Alocação de Memória
em Java Após definirmos uma classe, podemos criar objetos a partir dela. Os objetos quando criados são alocados na memória RAM do computador. Felizmente, todo o processo de alocação do objeto na memória é gerenciado pela máquina virtual Java (JVM). Alocação de Memória ©2012 Ludimila Monjardim Casagrande 4
5.
Alocação de Memória
em Java Quando um objeto é criado, pela chamada de new <construtor>, os seguintes passos acontecem: um espaço de memória é alocado para o objeto criado e suas variáveis de instância são inicializadas com seus valores default; as inicializações explícitas programadas para as variáveis de instância são realizadas; o construtor chamado é executado; o endereço de memória no qual o objeto está alocado é retornado e atribuído para a variável que referencia o objeto. Alocação de Memória ©2012 Ludimila Monjardim Casagrande 5
6.
Exemplo
public class Principal{ public static void main (String[ ] args) { public class Data { Data hoje = new Data(12, 11, 2012); private int dia = 1; } private int mes = 1; private int ano = 1800; } public Data (int d, int m, int a){ if((d >= 1 && d <= 31) && (m >= 1 && m <= 12) && (a >= 1800 && a <= 2100)){ this.dia = d; this.mes = m; this.ano = a; } else { System.out.println("Erro: Data inválida."); } } } Alocação de Memória ©2012 Ludimila Monjardim Casagrande 6
7.
Alocação de Memória
em Java Passo 1: A declaração aloca espaço para a referência e a chamada do construtor aloca espaço para o objeto criado: Data hoje = new Data(12, 11, 2012); hoje ? dia 0 As variáveis de instância são inicializadas mes 0 com os valores default ano 0 Alocação de Memória ©2012 Ludimila Monjardim Casagrande 7
8.
Alocação de Memória
em Java Passo 2: As inicializações explícitas das variáveis de instância são executadas: Data hoje = new Data(12, 11, 2012); hoje ? public class Data { private int dia = 1; dia 1 private int mes = 1; mes 1 private int ano = 1800; ano 1800 ... } Alocação de Memória ©2012 Ludimila Monjardim Casagrande 8
9.
Alocação de Memória
em Java Passo 3: O construtor chamado é executado: Data hoje = new Data(12, 11, 2012); public Data (int d, int m, int a){ hoje ? if((d >= 1 && d <= 31) && (m >= 1 && m <= 12) && dia 12 (a >= 1800 && a <= 2100)){ mes 11 ano this.dia = d; 2012 this.mes = m; this.ano = a; } else { System.out.println("Erro: Data inválida."); } } Alocação de Memória ©2012 Ludimila Monjardim Casagrande 9
10.
Alocação de Memória
em Java Passo 4: O endereço de memória no qual o objeto está alocado é retornado e atribuído para a variável que referencia o objeto: Data hoje = new Data(12, 11, 2012); hoje 0x0123 dia 12 mes 11 ano 2012 Alocação de Memória ©2012 Ludimila Monjardim Casagrande 10
11.
Teste
Após Data b = a; public class Teste { x 8 public static void main(String[] args) { y 7 a 0x0123 int x = 7; 21 10 2006 b 0x0123 int y = x; x = 8; Data a = new Data(21, 10, 2006); Data b = a; Após a = new Data(28, 10,2006); x 8 a = new Data(28, 10, 2006); 7 y } a 0x0456 28 10 2006 } b 0x0123 21 10 2006 Quais são os resultados finais? Alocação de Memória ©2012 Ludimila Monjardim Casagrande 11
12.
Atividade Prática
Ler o Capítulo 3 da apostila Orientação a Objetos em Java da K19 Treinamentos e fazer os exercícios de fixação. Alocação de Memória ©2012 Ludimila Monjardim Casagrande 12
Baixar agora