這一節我們學習數組在內存中的分配和特點.
我們之前說過我們java程序運行,都必須在內存中創建空間.
我們都知道,任何一款軟件運行,都要在內存中開辟空間.
那么我們就來看看內存的劃分,可以劃分為以下五種:
1.寄存器
2.本地方法區//我們暫時設計不到,以后有機會了我們學習,主要運行的時本地系統平臺中的內容
3.方法區
4.棧內存
5.堆內存
我們在這里主要學習一下棧內存和堆內存,其他的幾種以后再學習吧.
棧內存:
存儲的都是局部變量.方法中定義的變量都是局部變量,
棧內存處理數據的特點:
變量所屬作用域一旦結束,該變量就自動釋放.
堆內存:
存儲的是數組和對象(其實數組就是對象).凡是new建立的,都在堆中,這也就是說我們數組就存放在堆內存中.
再說說堆內存處理數據的特點:
1.每一個實體都有一個首地址值
2.堆內存中的每一個變量都有默認初始化值,根據類型的不同而不同.整數是0,小數0.0或者0.0f,boolean是false,char是'\u0000'
3.垃圾回收機制//自動回收垃圾
- 前言
- 1.1 基本常識
- 1.2 Java語言概述
- 1.3 Java語言的環境搭建
- 1.4 Java程序開發之初體驗--Hello World
- 2.1 關鍵字
- 2.2 標識符
- 2.3 注釋
- 2.4 常量
- 2.5 進制掃盲
- 2.6 變量和數據類型(1)
- 2.7 變量和數據類型(2)
- 2.8 運算符
- 3.1 if語句
- 3.2 switch語句
- 3.3 while和do-while語句
- 3.4 for語句
- 3.5 for循環的嵌套
- 3.6 break語句與continue語句
- 4.1 函數的定義
- 4.2 定義函數的兩個明確
- 4.3 函數的內存加載過程
- 4.4 函數的重載
- 5.1 數組的定義
- 5.2 數組的內存分配及特點
- 5.3 數組操作中常見問題
- 5.4 數組常用操作(1)
- 5.5 數組常用操作(2)
- 5.6 二維數組
- 6.1 面向對象的概述
- 6.2 類與對象的關系
- 6.3 對象的內存體現
- 6.4 成員變量與局部變量
- 6.5 類類型參數與匿名對象
- 6.6 基本數據類型參數與引用數據類型參數的傳遞過程
- 6.7 封裝
- 7.1 構造函數概述與默認構造函數
- 7.2 構造函數與一般函數的區別
- 7.3 構造函數的重載
- 7.4 構造函數的內存加載
- 7.5 構造函數需要注意的幾個細節
- 7.6 this關鍵字的原理
- 7.7 this關鍵字的細節與應用
- 8.1 static關鍵字之特點
- 8.2 成員變量與靜態變量的區別
- 8.3 static關鍵字使用的注意細節
- 8.4 main函數的解析與細節
- 8.5 static關鍵字的使用場景
- 8.6 靜態的內存加載
- 8.7 靜態代碼塊
- 8.8 構造代碼塊
- 9.1 繼承
- 9.2 單繼承與多重繼承
- 9.3 子父類中成員變量特征體現