1. Bagaimana ingatan disusun
Setiap komputer mempunyai memori dalaman . Apa itu? Apakah sifat yang ada padanya? Dan, yang paling penting, bagaimana ia memberi manfaat kepada kita?
Setiap program (termasuk program yang ditulis dalam Java) dimuatkan ke dalam memori utama sebelum dilaksanakan. Memori utama mengandungi kod atur cara (yang dilaksanakan oleh pemproses) serta data atur cara (iaitu data yang dimasukkan oleh atur cara itu sendiri ke dalam ingatan).
Apakah ingatan dan bagaimana ia?
Hamparan Excel terdiri daripada sel . Setiap sel mempunyai pengecam uniknya sendiri ( A1
, A2
, ... B1
, B2
). Jika anda mengetahui pengecam sel , maka anda sentiasa boleh menulis beberapa nilai ke dalamnya atau mendapatkan apa sahaja nilai yang disimpan di sana. Memori komputer disusun dengan cara yang hampir sama.
Data atur cara dan atur cara disimpan dalam ingatan semasa atur cara berjalan. Semua memori komputer terdiri daripada sel kecil yang dipanggil bait . Setiap sel mempunyai pengecam unik, atau nombor, yang dikaitkan dengannya: 0
, 1
, 2
, 3
, ...; (penomboran bermula dari sifar). Jika kita tahu nombor sel , kita boleh menyimpan data di dalamnya. Atau dapatkan data daripadanya. Sesetengah sel menyimpan kod program, iaitu set arahan untuk pemproses. Yang lain menyimpan data yang digunakan oleh program. Nombor sel juga dipanggil alamat sel .
Pemproses tahu bagaimana untuk melaksanakan arahan yang telah dimuatkan ke dalam memori. Hampir semua perintah pemproses adalah seperti mengambil data daripada beberapa sel , melakukan sesuatu dengannya , kemudian menghantar hasilnya ke sel lain .
Kami menggabungkan beratus-ratus arahan mudah untuk mendapatkan arahan yang kompleks dan berguna.
Apabila pembolehubah diisytiharkan dalam kod, sebahagian memori yang belum digunakan akan diperuntukkan untuknya. Ini biasanya beberapa bait. Mengisytiharkan pembolehubah memerlukan anda menunjukkan jenis maklumat yang akan disimpan oleh program di dalamnya: nombor, teks atau data lain. Lagipun, jika anda tidak tahu jenis maklumat yang akan disimpan, maka tidak jelas berapa besar blok memori yang perlu diperuntukkan untuk pembolehubah.
Pada awal zaman komputer, program berfungsi secara langsung dengan alamat memori, tetapi kemudian, untuk kemudahan pengaturcara, sel mula diberi nama. Nama pembolehubah yang unik adalah di atas semua untuk kemudahan pengaturcara, kerana program ini mengendalikan alamat memori biasa dengan baik.
2. Pembolehubah dalam ingatan
Secara keseluruhannya, Java mempunyai 4 jenis data untuk menyimpan integer. Ini ialah byte
, short
, int
dan long
.
taip | Saiz dalam bait | Asal nama jenis |
---|---|---|
byte |
1 |
byte ialah ejaan semula gigitan yang disengajakan untuk mengelakkan kekeliruan dengan bit |
short |
2 |
Pendek untuk Integer Pendek |
int |
4 |
Pendek untuk Integer |
long |
8 |
Pendek untuk Integer Panjang |
Selain itu, Java mempunyai 2 jenis untuk nombor nyata: float dan double:
taip | Saiz dalam bait | Asal nama jenis |
---|---|---|
float |
4 |
Singkatan untuk Nombor Titik Terapung |
double |
8 |
Pendek untuk Double Float |
Setiap kali pelaksanaan program mencapai arahan untuk mencipta pembolehubah, blok memori kecil diperuntukkan untuknya (saiz bergantung pada jenis pembolehubah).
Program Java tidak dibenarkan mengakses memori secara langsung. Mana-mana dan semua kerja dengan memori hanya berlaku melalui mesin maya Java.
3. String
Jenis dalam ingatan
Jenis ini String
boleh menyimpan sejumlah besar data, yang membayangkan bahawa ia bukan hanya jenis data, tetapi kelas penuh.
Objek String
diletakkan dalam blok memori yang diperuntukkan yang menyimpan alamat blok memori lain di mana teks disimpan.
Pembolehubah int
a
menduduki 4
bait dan menyimpan nilai 1
.
Pembolehubah int
b
menduduki 4
bait dan menyimpan nilai 10,555
. Kami menggunakan koma sebagai pemisah beribu-ribu. Dan kami menggunakan noktah sebagai pemisah perpuluhan.
Pembolehubah double
d
menduduki 8
bait dan menyimpan nilai 13.001
.
Pembolehubah String
str
menduduki 4
bait dan menyimpan nilai G13
, yang merupakan alamat sel pertama blok memori yang mengandungi teks.
Satu teks String
object
disimpan dalam blok memori yang berasingan. Alamat sel pertamanya disimpan dalam pembolehubah str
.
4. Mengapa penomboran bermula dengan sifar dalam pengaturcaraan
Orang sering tertanya-tanya mengapa pengaturcara hampir selalu mula mengira dari sifar. Sebenarnya, terdapat banyak situasi apabila lebih mudah untuk mengira dari sifar (sudah tentu, terdapat juga situasi apabila lebih mudah untuk mengira dari 1
).
Contoh paling mudah ialah pengalamatan memori. Jika pembolehubah anda telah diperuntukkan 4
bait memori dan anda tahu itu X
adalah alamat bait pertama, maka apakah alamat bagi setiap bait? , , , . Semudah itu, kami mempunyai sekumpulan bait yang boleh diakses dengan indeks , , , .X+0
X+1
X+2
X+3
0
1
2
3
Apabila kita memikirkan alamat relatif dalam blok data, pengindeksan daripada sifar adalah perkara yang masuk akal. Ini adalah sebab utama untuk mengira dari sifar .
GO TO FULL VERSION