1. Como a memória é organizada
Todo computador tem memória interna . O que é? Que propriedades tem? E, mais importante, como isso nos beneficia?
Todo programa (incluindo programas escritos em Java) é carregado na memória principal antes de ser executado. A memória principal contém o código do programa (que é executado pelo processador), bem como os dados do programa (ou seja, dados que o próprio programa coloca na memória).
O que é memória e como ela é?
Uma planilha Excel consiste em células . Cada célula tem seu próprio identificador exclusivo ( A1
, A2
, ... B1
, B2
). Se você conhece o identificador de uma célula , sempre pode escrever algum valor nela ou obter qualquer valor armazenado lá. A memória do computador é organizada de maneira muito semelhante.
O programa e os dados do programa são armazenados na memória quando o programa está em execução. Toda a memória do computador é composta por pequenas células chamadas bytes . Cada célula tem um identificador único, ou número, associado a ela: 0
, 1
, 2
, 3
, ...; (a numeração começa do zero). Se soubermos o número de uma célula , podemos salvar dados nela. Ou obtenha dados dele. Algumas células armazenam o código do programa, ou seja, o conjunto de comandos para o processador. Outros armazenam os dados usados pelo programa. O número da célula também é chamado de endereço da célula .
O processador sabe como executar comandos que foram carregados na memória. Quase todos os comandos do processador são algo como pegar dados de algumas células , fazer algo com eles e então enviar o resultado para outras células .
Combinamos centenas de comandos simples para obter comandos complexos e úteis.
Quando uma variável é declarada no código, um pedaço de memória que ainda não está sendo usado é alocado para ela. Isso geralmente é alguns bytes. A declaração de uma variável requer que você indique o tipo de informação que o programa armazenará nela: números, texto ou outros dados. Afinal, se você não conhece o tipo de informação a ser armazenada, não está claro o tamanho de um bloco de memória que precisa ser alocado para a variável.
No alvorecer da era do computador, os programas trabalhavam diretamente com endereços de memória, mas depois, para conveniência dos programadores, as células começaram a receber nomes. Um nome de variável exclusivo é, acima de tudo, para a conveniência dos programadores, uma vez que o programa lida com endereços de memória simples muito bem.
2. Variáveis na memória
Ao todo, Java tem 4 tipos de dados para armazenar números inteiros. Estes são byte
, short
e int
.long
Tipo | Tamanho em bytes | Origem do nome do tipo |
---|---|---|
byte |
1 |
byte é uma soletração deliberada de mordida para evitar confusão com bit |
short |
2 |
Abreviação de Inteiro Curto |
int |
4 |
Abreviação de Inteiro |
long |
8 |
Abreviação de inteiro longo |
Além disso, Java possui 2 tipos para números reais: float e double:
Tipo | Tamanho em bytes | Origem do nome do tipo |
---|---|---|
float |
4 |
Abreviação de número de ponto flutuante |
double |
8 |
Abreviação de Double Float |
Cada vez que a execução do programa atinge um comando para criar uma variável, um pequeno bloco de memória é alocado para ela (o tamanho depende do tipo da variável).
Os programas Java não têm permissão para acessar a memória diretamente. Todo e qualquer trabalho com memória acontece apenas através da máquina virtual Java.
3. O String
tipo na memória
O String
tipo pode armazenar grandes quantidades de dados, o que implica que não é apenas um tipo de dados, mas uma classe completa.
O String
objeto é colocado em um bloco de memória alocado que armazena o endereço de outro bloco de memória no qual o texto está armazenado.
A int
a
variável ocupa 4
bytes e armazena o valor 1
.
A int
b
variável ocupa 4
bytes e armazena o valor 10,555
. Usamos uma vírgula como separador de milhar. E usamos um ponto como separador decimal.
A double
d
variável ocupa 8
bytes e armazena o valor 13.001
.
A String
str
variável ocupa 4
bytes e armazena o valor G13
, que é o endereço da primeira célula do bloco de memória que contém o texto.
Um texto do String
object
é armazenado em um bloco separado de memória. O endereço de sua primeira célula é armazenado na str
variável.
4. Por que a numeração começa com zero na programação
Muitas vezes as pessoas se perguntam por que os programadores quase sempre começam a contar do zero. Bem, o fato é que existem muitas situações em que é mais conveniente contar a partir do zero (claro, também existem situações em que é mais conveniente contar a partir de 1
).
O exemplo mais simples é o endereçamento de memória. Se sua variável recebeu 4
bytes de memória e você sabe que esse X
é o endereço do primeiro byte, quais são os endereços de cada byte? , , , . Simples assim, temos um grupo de bytes que podem ser acessados com índices , , , .X+0
X+1
X+2
X+3
0
1
2
3
Quando pensamos em um endereço relativo dentro de um bloco de dados, a indexação a partir do zero é o que faz sentido. Esta é a principal razão para contar a partir do zero .
GO TO FULL VERSION