1. Hvordan hukommelsen er organiseret

Hver computer har intern hukommelse . Hvad er det? Hvilke egenskaber har den? Og vigtigst af alt, hvordan gavner det os?

Hvert program (inklusive programmer skrevet i Java) indlæses i hovedhukommelsen, før det udføres. Hovedhukommelsen indeholder programkoden (som udføres af processoren) samt programdataene (dvs. data som programmet selv lægger i hukommelsen).

Hvad er hukommelse, og hvordan er det?

Et Excel-regneark består af celler . Hver celle har sin egen unikke identifikator ( A1, A2, ... B1, B2). Hvis du kender en celles identifikator , kan du altid skrive en eller anden værdi ind i den eller få den værdi, der er gemt der. Computerhukommelse er organiseret på en meget lignende måde .

Program- og programdata gemmes i hukommelsen , når programmet kører. Al computerhukommelse består af små celler kaldet bytes . Hver celle har en unik identifikator eller nummer tilknyttet: 0, 1, 2, 3, ...; (nummereringen starter fra nul). Hvis vi kender en celles nummer , kan vi gemme data i den. Eller få data fra det. Nogle celler gemmer programmets kode, dvs. sættet af kommandoer til processoren. Andre gemmer de data, der bruges af programmet. Cellens nummer kaldes også celleadressen .

Processoren ved, hvordan man udfører kommandoer, der er blevet indlæst i hukommelsen. Næsten alle processorkommandoer er noget som at tage data fra nogle celler , gøre noget med dem og derefter sende resultatet til andre celler .

Vi kombinerer hundredvis af simple kommandoer for at få komplekse og nyttige kommandoer.

Når en variabel er erklæret i kode, allokeres en del af hukommelsen , der ikke allerede er i brug, til den. Dette er normalt et par bytes. Erklæring af en variabel kræver, at du angiver, hvilken type information programmet vil gemme i den: tal, tekst eller andre data. Når alt kommer til alt, hvis du ikke kender typen af ​​information, der skal lagres, så er det ikke klart, hvor stor en hukommelsesblok, der skal allokeres til variablen.

I begyndelsen af ​​computeralderen arbejdede programmer direkte med hukommelsesadresser, men så begyndte man for programmørernes bekvemmelighed at få navne til cellerne. Et unikt variabelnavn er frem for alt af hensyn til programmørernes bekvemmelighed, da programmet håndterer almindelige hukommelsesadresser fint.


2. Variabler i hukommelsen

I alt har Java 4 datatyper til lagring af heltal. Disse er byte, short, intog long.

Type Størrelse i bytes Oprindelsen af ​​typens navn
byte 1 byte er en bevidst omstavning af bid for at undgå forveksling med bit
short 2 Forkortelse for Short Integer
int 4 Forkortelse for heltal
long 8 Forkortelse for Long Integer

Derudover har Java 2 typer for reelle tal: float og double:

Type Størrelse i bytes Oprindelsen af ​​typens navn
float 4 Forkortelse for Floating Point Number
double 8 En forkortelse for Double Float

Hver gang programudførelse når en kommando til at skabe en variabel, tildeles en lille blok hukommelse til den (størrelsen afhænger af variabelens type).

Adressen på en variabel er adressen på den første celle i den tildelte hukommelsesblok.

Java-programmer har ikke tilladelse til at få direkte adgang til hukommelsen. Alt arbejde med hukommelse sker kun gennem den virtuelle Java-maskine.


3. StringTypen i hukommelsen

Typen Stringkan lagre store mængder data, hvilket betyder, at det ikke kun er en datatype, men en fuldgyldig klasse.

Objektet Stringplaceres i en allokeret hukommelsesblok, der gemmer adressen på en anden hukommelsesblok, hvor teksten er gemt.

Variablen int aoptager 4bytes og gemmer værdien 1.

Variablen int boptager 4bytes og gemmer værdien 10,555. Vi bruger et komma som tusinde-separator. Og vi bruger et punktum som decimalseparator.

Variablen double doptager 8bytes og gemmer værdien 13.001.

Variablen String stroptager 4bytes og gemmer værdien G13, som er adressen på den første celle i hukommelsesblokken, der indeholder teksten.

En tekst af den String objectgemmes i en separat hukommelsesblok. Adressen på dens første celle gemmes i strvariablen.


4. Hvorfor nummerering starter med nul i programmering

Folk undrer sig ofte over, hvorfor programmører næsten altid begynder at tælle fra nul. Tja, faktum er, at der er mange situationer, hvor det er mere bekvemt at tælle fra nul (selvfølgelig er der også situationer, hvor det er mere bekvemt at tælle fra 1).

Det enkleste eksempel på er hukommelsesadressering. Hvis din variabel er blevet tildelt 4hukommelsesbytes, og du ved, at det Xer adressen på den første byte, hvad er så adresserne på hver byte? , , , . Så simpelt som det, har vi en gruppe af bytes, der kan tilgås med indekser , , , .X+0X+1X+2X+30123

Når vi tænker på en relativ adresse i en datablok, er indeksering fra nul det, der giver mening. Dette er hovedårsagen til at tælle fra nul .