亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

Java知識(shí)點(diǎn)總結(jié)(內(nèi)存分析)

lvzishen / 1796人閱讀

摘要:知識(shí)點(diǎn)總結(jié)內(nèi)存分析知識(shí)點(diǎn)總結(jié)面向?qū)ο髮?duì)象內(nèi)存類(lèi)是創(chuàng)建對(duì)象的模板對(duì)象的使用時(shí)通過(guò)引用進(jìn)行的基本數(shù)據(jù)類(lèi)型直接賦值,引用類(lèi)型傳遞的是一個(gè)地址棧存放局部變量堆存放出來(lái)的對(duì)象方法區(qū)存放類(lèi)的信息代碼變量常量池字符串常量等張三王武李四垃圾回收機(jī)制對(duì)象空間

Java知識(shí)點(diǎn)總結(jié)(內(nèi)存分析)

@(Java知識(shí)點(diǎn)總結(jié))[Java, Java面向?qū)ο骫

[toc]

對(duì)象內(nèi)存 類(lèi)是創(chuàng)建對(duì)象的模板

Java對(duì)象的使用時(shí)通過(guò)引用進(jìn)行的
基本數(shù)據(jù)類(lèi)型直接賦值,引用類(lèi)型傳遞的是一個(gè)地址
棧:存放局部變量
堆:存放new出來(lái)的對(duì)象
方法區(qū):存放類(lèi)的信息(代碼) 、static變量、常量池(字符串常量)等...

Student s1 = new Student();
s1.name="張三";
s1.study();
s1.sayHello("王武");
 
Student s2 = new Student();
s2.age = 18;
s2.name="李四";

垃圾回收機(jī)制(Garbage Collection)

對(duì)象空間的分配:使用new關(guān)鍵字即可

對(duì)象空間的釋放:將對(duì)象賦值null即可。垃圾回收器將負(fù)責(zé)回收所有"不可達(dá)"對(duì)象的內(nèi)存空間

要點(diǎn):程序員無(wú)權(quán)調(diào)用垃圾回收器
程序員可以通過(guò)System.gc() 通知GC運(yùn)行,但是Java規(guī)范并不能保證立即運(yùn)行
finalize方法,是java提供程序員用來(lái)釋放對(duì)象,或資源的方法,但是盡量少用

一個(gè)對(duì)象沒(méi)有被引用,就會(huì)被Java垃圾回收機(jī)制回收

static內(nèi)存

在類(lèi)中,用static聲明的成員變量為靜態(tài)變量,或者叫做:類(lèi)屬性,類(lèi)變量,從屬于類(lèi),給對(duì)象分配的內(nèi)存里沒(méi)有

它為類(lèi)的公用變量,屬于類(lèi),被該類(lèi)的所有實(shí)例共享,在類(lèi)被載入時(shí)被顯示初始化

對(duì)于該類(lèi)的所有對(duì)象來(lái)說(shuō),static成員變量只有一份,被該類(lèi)的所有對(duì)象共享

可以使用"對(duì)象.類(lèi)屬性"來(lái)調(diào)用。不過(guò)一般都是用"類(lèi)名.類(lèi)屬性"

static變量置于方法區(qū)中

用static聲明的方法為靜態(tài)方法

類(lèi)名.方法名調(diào)用
在調(diào)用該方法時(shí),不會(huì)將對(duì)象的引用傳遞給它,所以在static方法中,不可訪問(wèn)非static的成員

靜態(tài)初始化代碼塊

static{

...

}

如果希望加載后,對(duì)整個(gè)類(lèi)進(jìn)行某些初始化操作,可以使用static初始化塊

是在類(lèi)初始化時(shí)執(zhí)行,不是在創(chuàng)建對(duì)象時(shí)執(zhí)行

靜態(tài)初始化塊中不能訪問(wèn)非static成員

執(zhí)行順序:上溯到Object類(lèi),先執(zhí)行Object的靜態(tài)初始化塊,再向下執(zhí)行子類(lèi)的靜態(tài)初始化塊,直到我們的類(lèi)的靜態(tài)初始化塊為止

多態(tài)內(nèi)存

多態(tài)性是OOP的一個(gè)重要特性,主要是用來(lái)實(shí)現(xiàn)動(dòng)態(tài)聯(lián)編的,換句話說(shuō),就是程序的最終狀態(tài)只有在執(zhí)行過(guò)程中才被決定而非在編譯期間就決定了。

這對(duì)于大型信息來(lái)說(shuō)能提高系統(tǒng)的靈活性和擴(kuò)展性

引用變量的兩種類(lèi)型:

編譯時(shí)類(lèi)型 (模糊一點(diǎn),一般是一個(gè)父類(lèi))
由聲明時(shí)的類(lèi)型決定

運(yùn)行時(shí)類(lèi)型(運(yùn)行時(shí),具體哪個(gè)子類(lèi)就是哪個(gè)子類(lèi))
由實(shí)際對(duì)應(yīng)的對(duì)象類(lèi)型決定

多態(tài)的存在要有3個(gè)必要條件:

要有繼承

要有方法重寫(xiě)

父類(lèi)引用指向子類(lèi)對(duì)象

子類(lèi)如果重寫(xiě)了父類(lèi)中的方法,方法調(diào)用的時(shí)候與實(shí)際類(lèi)類(lèi)型相綁定(傳遞的隱式參數(shù)this指向的開(kāi)辟內(nèi)存空間的類(lèi)的對(duì)象,而不是父類(lèi)的對(duì)象)

public class Test {
  public static void testAnimalVoice(Animal c) {
    c.voice();
    if (c instanceof Cat) {
     ((Cat) c).catchMouse();
    }
  }
 
  public static void main(String[] args) {
    Animal a = new Cat();
    Cat a2 = (Cat) a;
    testAnimalVoice(a);
  }
}
 
class Animal {
  void voice() {
    System.out.println("發(fā)出動(dòng)物的叫聲");
  }
}
 
class Cat extends Animal {
  private String name = "Tom";
  void catchMouse() { //方法存在隱式參數(shù)this和super
    super.voice();
    System.out.println(this.name+"抓老鼠");
  }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/69144.html

相關(guān)文章

  • 內(nèi)存 問(wèn)題- 收藏集 - 掘金

    摘要:然而,中依然有可能發(fā)生內(nèi)存泄漏。所以你的安卓快速定位解決內(nèi)存泄漏掘金昨天是個(gè)好日子,程序員的節(jié)日,在這里給所有的程序員送上一份遲到的祝福。應(yīng)用內(nèi)存泄漏的定位分析與解決策略掘金,大家好,我是。 Android 性能優(yōu)化之巧用軟引用與弱引用優(yōu)化內(nèi)存使用 - Android - 掘金前言: 從事Android開(kāi)發(fā)的同學(xué)都知道移動(dòng)設(shè)備的內(nèi)存使用是非常敏感的話題,今天我們來(lái)看下如何使用軟引用與弱...

    TIGERB 評(píng)論0 收藏0
  • 你和阿里資深架構(gòu)師之間,差的不僅僅是年齡(進(jìn)階必看)

    摘要:導(dǎo)讀閱讀本文需要有足夠的時(shí)間,筆者會(huì)由淺到深帶你一步一步了解一個(gè)資深架構(gòu)師所要掌握的各類(lèi)知識(shí)點(diǎn),你也可以按照文章中所列的知識(shí)體系對(duì)比自身,對(duì)自己進(jìn)行查漏補(bǔ)缺,覺(jué)得本文對(duì)你有幫助的話,可以點(diǎn)贊關(guān)注一下。目錄一基礎(chǔ)篇二進(jìn)階篇三高級(jí)篇四架構(gòu)篇五擴(kuò) 導(dǎo)讀:閱讀本文需要有足夠的時(shí)間,筆者會(huì)由淺到深帶你一步一步了解一個(gè)資深架構(gòu)師所要掌握的各類(lèi)知識(shí)點(diǎn),你也可以按照文章中所列的知識(shí)體系對(duì)比自身,對(duì)自己...

    huaixiaoz 評(píng)論0 收藏0
  • Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師(全網(wǎng)最強(qiáng))

    摘要:哪吒社區(qū)技能樹(shù)打卡打卡貼函數(shù)式接口簡(jiǎn)介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號(hào)作者架構(gòu)師奮斗者掃描主頁(yè)左側(cè)二維碼,加入群聊,一起學(xué)習(xí)一起進(jìn)步歡迎點(diǎn)贊收藏留言前情提要無(wú)意間聽(tīng)到領(lǐng)導(dǎo)們的談話,現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨(dú)立帶隊(duì)的人太少,簡(jiǎn)而言之,不缺干 ? 哪吒社區(qū)Java技能樹(shù)打卡?【打卡貼 day2...

    Scorpion 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<