Como as matrizes estáticas são armazenadas na memória Jav
Então, em um idioma como C, a memória é separada em 5 partes diferentes: Kernel do SO, segmento de texto, memória estática, memória dinâmica e a pilha. Algo assim
Se declaramos uma matriz estática em C, você tinha que especificar seu tamanho antecipadamente, depois isso seria corrigido para sempre. O programa alocaria memória suficiente para a matriz e a colocaria no segmento de dados estáticos conforme o esperad
No entanto, notei que, em Java, você poderia fazer algo assim:
public class Test {
static int[] a = new int[1];
public static void main( String[] args ) {
a = new int[2];
}
}
e tudo funcionaria como você esperaria. Minha pergunta é: por que isso funciona em Java?
EDIT: Então, o consenso é que umint[]
em Java atua de maneira mais semelhante a umint*
in C. Então, como uma pergunta de acompanhamento, existe alguma maneira de alocar matrizes na memória estática em Java (se não, por que não)? Isso não forneceria acesso mais rápido a essas matrizes? EDIT2: ^ isso está em uma nova pergunta agora:nde estão as variáveis de classe estática armazenadas na memóri