java2
7.15-7.16
1.完成了PTA上的函數(shù)題和兩道編程題,期間遇到了一些不懂得知識,學(xué)習(xí)了鏈表相關(guān)的知識,以及希爾排序算法,并復(fù)習(xí)了二分查找算法;同時(shí)也遇到了一些比較復(fù)雜的題目,通過在網(wǎng)上觀看題目解析后有了思路并成功寫出來,也出現(xiàn)過許多細(xì)節(jié)上的錯(cuò)誤,這也使我更加認(rèn)真思考每一處問題
2.觀看三章大道至簡
3.學(xué)習(xí)java基礎(chǔ)知識
7.17-7.18
1.學(xué)習(xí)了java的順序,選擇,循環(huán)語法結(jié)構(gòu)
2.完成5道pta練習(xí),其中遇到了進(jìn)制轉(zhuǎn)換上的問題,再從網(wǎng)上的學(xué)習(xí)上我對二進(jìn)制和八進(jìn)制、十六進(jìn)制以及十進(jìn)制之間的轉(zhuǎn)換以及表達(dá)形式
二進(jìn)制(Binary):基數(shù)為2,使用的符號是0和1。計(jì)算機(jī)內(nèi)部的數(shù)據(jù)存儲和處理通常使用二進(jìn)制。
八進(jìn)制(Octal):基數(shù)為8,使用的符號是0到7。八進(jìn)制常用于某些計(jì)算機(jī)編程環(huán)境中,因?yàn)樗c二進(jìn)制有較好的對應(yīng)關(guān)系。
十進(jìn)制(Decimal):基數(shù)為10,使用的符號是0到9。我們?nèi)粘I钪谐S玫臄?shù)字系統(tǒng)就是十進(jìn)制。
十六進(jìn)制(Hexadecimal):基數(shù)為16,使用的符號是0到9和A到F,其中A代表10,B代表11,以此類推,F(xiàn)代表15。十六進(jìn)制常用于計(jì)算機(jī)科學(xué),因?yàn)樗梢愿o湊地表示大數(shù)值。
3.觀看大道至簡
7.19-7.20
學(xué)習(xí)了java的輸入輸出語句以及數(shù)組及其內(nèi)存圖
在Java內(nèi)存模型中,堆(Heap)、棧(Stack)和方法區(qū)(Method Area)是三個(gè)非常重要的組成部分。
- 堆(Heap)
功能:
堆是Java內(nèi)存管理的核心區(qū)域,幾乎所有的對象實(shí)例都在這里分配內(nèi)存。堆內(nèi)存是線程共享的,目的是存放對象實(shí)例,包括對象的成員變量(但不包括成員方法,因?yàn)榉椒ㄊ穷惣墑e的,不屬于任何對象實(shí)例)。
特點(diǎn):
動(dòng)態(tài)分配和回收:堆內(nèi)存允許對象的動(dòng)態(tài)創(chuàng)建和銷毀。
線程共享:堆內(nèi)存是多個(gè)線程共享的,因此在多線程環(huán)境下需要同步機(jī)制來避免數(shù)據(jù)不一致。 - 棧(Stack)
在Java中,棧通常指的是Java虛擬機(jī)棧(Java Virtual Machine Stack),但也可能包括本地方法棧(Native Method Stack)。
功能:
Java虛擬機(jī)棧是線程私有的,它的生命周期與線程相同。每個(gè)方法在執(zhí)行的時(shí)候都會創(chuàng)建一個(gè)棧幀(Stack Frame)用于存儲局部變量表、操作數(shù)棧、動(dòng)態(tài)鏈接、方法出口等信息。
特點(diǎn):
線程私有:每個(gè)線程都有自己獨(dú)立的虛擬機(jī)棧,互不影響。
后進(jìn)先出(LIFO):棧是一種后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),方法的調(diào)用和返回都遵循這個(gè)原則。 - 方法區(qū)(Method Area)
功能:
方法區(qū)也是線程共享的內(nèi)存區(qū)域,它用于存儲已被虛擬機(jī)加載的類信息、常量、靜態(tài)變量、即時(shí)編譯器編譯后的代碼等數(shù)據(jù)。
特點(diǎn):
線程共享:與堆內(nèi)存一樣,方法區(qū)也是多個(gè)線程共享的。
非堆(Non-Heap):雖然Java虛擬機(jī)規(guī)范把方法區(qū)描述為堆的一個(gè)邏輯部分,但它有一個(gè)別名叫做Non-Heap,目的是與堆進(jìn)行區(qū)分。
存儲內(nèi)容:方法區(qū)存儲了類的元數(shù)據(jù)信息(如類名、字段、方法、接口等)、常量池、靜態(tài)變量等。

浙公網(wǎng)安備 33010602011771號