摘要:代碼其中方法的棧幀如下,一共個(gè)類型的局部變量一共占用個(gè)字感謝您的耐心閱讀,如果您發(fā)現(xiàn)文章中有一些沒表述清楚的,或者是不對的地方,請給我留言,您的鼓勵(lì)是作者寫作最大的動(dòng)力。
代碼
package com.mousycoder.mycode.happy_jvm; /** * @version 1.0 * @author: mousycoder * @date: 2019-06-11 15:45 */ public class TestStackDeep1 { private static int count = 0; public static void recursion(long a,long b,long c) { long e = 1, f= 2,g =3 ,h=4,i=5,k=6,q=7,x=8,y=9,z=10; count++; recursion(a,b,c); } public static void recursion(){ count++; recursion(); } public static void main(String[] args) { try { recursion(1,2,3); } catch (Throwable e) { System.out.println("deep of calling = " + count); e.printStackTrace(); } } }
其中 recursion(long a,long b,long c) 方法的棧幀如下,一共13 個(gè)long類型的局部變量一共占用 26 個(gè)字
感謝您的耐心閱讀,如果您發(fā)現(xiàn)文章中有一些沒表述清楚的,或者是不對的地方,請給我留言,您的鼓勵(lì)是作者寫作最大的動(dòng)力。
作 者 : @mousycoder
原文出處 : http://mousycoder.com/thinking-in-jvm/6/
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75377.html
摘要:一內(nèi)存區(qū)域虛擬機(jī)在運(yùn)行時(shí),會把內(nèi)存空間分為若干個(gè)區(qū)域,根據(jù)虛擬機(jī)規(guī)范版的規(guī)定,虛擬機(jī)所管理的內(nèi)存區(qū)域分為如下部分方法區(qū)堆內(nèi)存虛擬機(jī)棧本地方法棧程序計(jì)數(shù)器。前言 在JVM的管控下,Java程序員不再需要管理內(nèi)存的分配與釋放,這和在C和C++的世界是完全不一樣的。所以,在JVM的幫助下,Java程序員很少會關(guān)注內(nèi)存泄露和內(nèi)存溢出的問題。但是,一旦JVM發(fā)生這些情況的時(shí)候,如果你不清楚JVM內(nèi)存的...
摘要:運(yùn)行時(shí)數(shù)據(jù)區(qū)域的學(xué)習(xí),是學(xué)習(xí)以及機(jī)制的基礎(chǔ),也是深入理解對象創(chuàng)建及運(yùn)行過程的前提。了解內(nèi)存區(qū)域劃分,是學(xué)習(xí)概念的前提。 Java 運(yùn)行時(shí)數(shù)據(jù)區(qū)域的學(xué)習(xí),是學(xué)習(xí) jvm 以及 GC 機(jī)制的基礎(chǔ),也是深入理解 java 對象創(chuàng)建及運(yùn)行過程的前提。廢話不多說,直接進(jìn)入正題: 一張圖總結(jié) showImg(https://segmentfault.com/img/bVOMAn?w=685&h=5...
摘要:而字節(jié)碼運(yùn)行在之上,所以不用關(guān)心字節(jié)碼是在哪個(gè)操作系統(tǒng)編譯的,只要符合規(guī)范,那么,這個(gè)字節(jié)碼文件就是可運(yùn)行的。好處防止內(nèi)存中出現(xiàn)多份同樣的字節(jié)碼安全性角度特別說明類加載器在成功加載某個(gè)類之后,會把得到的類的實(shí)例緩存起來。 前言 只有光頭才能變強(qiáng) JVM在準(zhǔn)備面試的時(shí)候就有看了,一直沒時(shí)間寫筆記。現(xiàn)在到了一家公司實(shí)習(xí),閑的時(shí)候就寫寫,刷刷JVM博客,刷刷電子書。 學(xué)習(xí)JVM的目的也很簡單...
摘要:堆內(nèi)存的劃分在里面的示意圖垃圾回收一判斷對象是否要回收的方法可達(dá)性分析法可達(dá)性分析法通過一系列對象作為起點(diǎn)進(jìn)行搜索,如果在和一個(gè)對象之間沒有可達(dá)路徑,則稱該對象是不可達(dá)的。 工作之余,想總結(jié)一下JVM相關(guān)知識。 Java運(yùn)行時(shí)數(shù)據(jù)區(qū): Java虛擬機(jī)在執(zhí)行Java程序的過程中會將其管理的內(nèi)存劃分為若干個(gè)不同的數(shù)據(jù)區(qū)域,這些區(qū)域有各自的用途、創(chuàng)建和銷毀的時(shí)間,有些區(qū)域隨虛擬機(jī)進(jìn)程的啟動(dòng)而...
摘要:虛擬機(jī)在執(zhí)行程序的過程中會把它所管理的內(nèi)存劃分為若干個(gè)不同的數(shù)據(jù)區(qū)域。棧幀棧幀是用于支持虛擬機(jī)進(jìn)行方法調(diào)用和方法執(zhí)行的數(shù)據(jù)結(jié)構(gòu),它是虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)中的虛擬機(jī)棧的棧元素。棧幀的概念結(jié)構(gòu)如下運(yùn)行時(shí)數(shù)據(jù)區(qū)腦圖高 這里我們先說句題外話,相信大家在面試中經(jīng)常被問到介紹Java內(nèi)存模型,我在面試別人時(shí)也會經(jīng)常問這個(gè)問題。但是,往往都會令我比較尷尬,我還話音未落,面試者就會背誦一段(Java虛擬...
閱讀 2825·2021-10-26 09:48
閱讀 1695·2021-09-22 15:22
閱讀 4080·2021-09-22 15:05
閱讀 642·2021-09-06 15:02
閱讀 2620·2019-08-30 15:52
閱讀 2123·2019-08-29 18:38
閱讀 2772·2019-08-28 18:05
閱讀 2341·2019-08-26 13:55