python入門(mén)python的基本語(yǔ)法
754
2025-03-31
31.1 JAVA程序運(yùn)行的內(nèi)存分析
棧:
1.? ??每個(gè)線程私有,不能實(shí)現(xiàn)線程間的共享!
2.? ??局部變量放置于棧中。
3.? ??棧是由系統(tǒng)自動(dòng)分配,速度快!棧是一個(gè)連續(xù)的內(nèi)存空間!
堆:
1.? ??放置new出來(lái)的對(duì)象!
2.? ??堆是一個(gè)不連續(xù)的內(nèi)存空間,分配靈活,速度慢!
方法區(qū)(也是堆):
1.? ??被所有線程共享!
2.? ??用來(lái)存放程序中永遠(yuǎn)是不變或唯一的內(nèi)容。(類代碼信息、靜態(tài)變量、字符串常量)
【注】本次內(nèi)存分析,我們的主要目的是讓大家了解基本的內(nèi)存概念。類加載器、Class對(duì)象這些更加詳細(xì)的內(nèi)容,我們將在后面專門(mén)講反射的課程里面講。
引用類型的概念
1.? ??java中,除了基本數(shù)據(jù)類型之外的其他類型稱之為引用類型。
2.? ??java中的對(duì)象是通過(guò)引用來(lái)操作的。(引用:reference)
.? ??說(shuō)白了,引用指的就是對(duì)象的地址!
屬性(field,或者叫成員變量)
1.? ??屬性用于定義該類或該類對(duì)象包含的數(shù)據(jù)或者說(shuō)靜態(tài)屬性。
2.? ??屬性作用范圍是整個(gè)類體。
3.? ??屬性的默認(rèn)初始化:
在定義成員變量時(shí)可以對(duì)其初始化,如果不對(duì)其初始化,Java使用默認(rèn)的值對(duì)其初始化。(數(shù)值:0,0.0???char:\u0000,??boolean:false,??所有引用類型:null)
4.? ??屬性定義格式:
[修飾符]??屬性類型??屬性名?=?[默認(rèn)值]
31.2 類的方法
方法是類和對(duì)象動(dòng)態(tài)行為特征的抽象。方法很類似于面向過(guò)程中的函數(shù)。面向過(guò)程中,函數(shù)是最基本單位,整個(gè)程序有一個(gè)個(gè)函數(shù)調(diào)用組成;面向?qū)ο?/a>中,整個(gè)程序的基本單位是類,方法是從屬于類或?qū)ο蟮摹?/p> 方法定義格式: [修飾符]??方法返回值類型??方法名(形參列表)?{ //?n條語(yǔ)句 } java對(duì)象的創(chuàng)建和使用 3? ??必須使用?new?關(guān)鍵字創(chuàng)建對(duì)象。 2? ??Person?person=?new?Person?(); 3? ???使用對(duì)象(引用)?.?成員變量來(lái)引用對(duì)象的成員變量。 2? ??person.age 3? ???使用對(duì)象(引用)?.?方法(參數(shù)列表)來(lái)調(diào)用對(duì)象的方法。 2? ??person.?setAge(23) 31.3 課堂代碼和內(nèi)存分析結(jié)果 package?cn.bjsxt.oop; public?class?Student?{ //靜態(tài)的數(shù)據(jù) String?name; int?id;????//學(xué)號(hào) int?age; String?gender; int?weight; //動(dòng)態(tài)的行為 public?void?study(){ System.out.println(name+"在學(xué)習(xí)"); } public?void?sayHello(String?sname){ System.out.println(name+"向"+sname+"說(shuō):你好!"); } } package?cn.bjsxt.oop; public?class?Test1?{ public?static?void?main(String[]?args)?{ //通過(guò)類加載器Class?Loader加載Student類。?加載后,在方法區(qū)中就有了Student類的信息! Student?s1?=?new?Student(); s1.name?=?"高琪"; s1.study(); s1.sayHello("馬士兵"); Student?s2?=?new?Student(); s2.age?=?18; s2.name="老高"; } } 上面Test1類執(zhí)行的內(nèi)存分析圖如下(更加詳細(xì)的分析流程,參見(jiàn)31集視頻): Java 任務(wù)調(diào)度
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。