iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >java方法调用在内存中的执行过程是什么
  • 927
分享到

java方法调用在内存中的执行过程是什么

2023-07-02 17:07:23 927人浏览 八月长安
摘要

这篇“java方法调用在内存中的执行过程是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java方法调用在内存中的执行过

这篇“java方法调用在内存中的执行过程是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java方法调用在内存中的执行过程是什么”文章吧。

一.前提

1.栈的内存原理图

java方法调用在内存中的执行过程是什么

2.JVM是怎么运行方法的???

  • 在运行阶段的时候,classLoader类加载器会把class文件中方法对应的代码片段放入内存区中的方法区中,以便于下次调用方法时,还能使用该方法。

  • JVM在运行过程中,会把方法里面的代码块按照方法调用的先后顺序压栈入内存中的栈空间,按照方法里语句的执行顺序(从上到下,从里到外)去进行弹栈与运行操作

二.调用(执行)过程

1.方法调用时的规则

方法首次调用时,会通过类加载器将方法的对应的代码块加载到内存中方法区

每次调用方法时相当于一次压栈过程,当方法里面的语句全部执行完毕,就会把该方法进行弹栈操作(若不弹栈的话,到某个时候必会产生堆栈溢出异常)

2.示例代码

public class Practice {    public static void main(String[] args) {        System.out.println("main 开始");        show1();        System.out.println("main 结束");    }    public static void show1(){        System.out.println("show1 开始");        show2();        System.out.println("show1 结束");    }    public static void show2(){        System.out.println("show2 开始");        System.out.println("show2 结束");    }}

3.整个程序的方法调用的过程图

3.1 JVM会自动调用main方法,因此main方法首先压栈,然后依次执行main方法里面的语句

java方法调用在内存中的执行过程是什么

3.2 当遇到show1()方法时,会把show1()方法压栈,并去执行show1方法里面的语句

java方法调用在内存中的执行过程是什么

3.3 执行show1方法里面的语句时,当执行到show2()时,show1方法暂停,然后对show2方法压栈,然后执行show2方法的内容

java方法调用在内存中的执行过程是什么

3.4 当执行完show2方法里面的内容时,会对show2方法进行弹栈,返回至show1方法中调用show2方法的位置,若没有对返回值有赋值操作,就会去执行后面的语句

java方法调用在内存中的执行过程是什么

3.5 执行完show1方法后会对show1方法进行弹栈,返回show1方法调用处的位置,然后去执行show1方法调用处以及后面的语句

java方法调用在内存中的执行过程是什么

4.示例代码运行截图

java方法调用在内存中的执行过程是什么

以上就是关于“java方法调用在内存中的执行过程是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: java方法调用在内存中的执行过程是什么

本文链接: https://www.lsjlt.com/news/343065.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java方法调用在内存中的执行过程是什么
    这篇“java方法调用在内存中的执行过程是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java方法调用在内存中的执行过...
    99+
    2023-07-02
  • 简单解析java方法在调用在内存中的执行过程
    目录一.前提1.栈的内存原理图2.JVM是怎么运行方法的二.调用(执行)过程1.方法调用时的规则2.示例代码3.整个程序的方法调用的过程图4.示例代码运行截图一.前提 1.栈的内存原...
    99+
    2024-04-02
  • plsql执行存储过程的方法是什么
    在PL/SQL中执行存储过程有以下几种方法:1. 使用EXECUTE语句:可以使用EXECUTE或EXEC来执行存储过程。例如,EX...
    99+
    2023-09-28
    plsql
  • Java对象方法调用执行过程是怎样的
    这篇文章主要介绍“Java对象方法调用执行过程是怎样的”,在日常操作中,相信很多人在Java对象方法调用执行过程是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java对象方法调用执行过程是怎样的”的疑...
    99+
    2023-06-29
  • Java中jvm的执行过程是什么
    这期内容当中小编将会给大家带来有关Java中jvm的执行过程是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2....
    99+
    2023-06-14
  • Java对象方法的调用执行过程详解
    目录对象方法的调用执行过程调用方法的几种方式第一种第二种第三种对象方法的调用执行过程 编译器查看对象的声明类型和方法名。假设调用x.f(param),隐式参数为x声明为C类对象,需要...
    99+
    2024-04-02
  • oracle存储过程调用的方法是什么
    在Oracle数据库中,可以使用以下方法来调用存储过程: 使用 PL/SQL 匝中调用存储过程: DECLARE resul...
    99+
    2024-04-02
  • mysql调用存储过程的方法是什么
    mysql调用存储过程的方法是什么?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧! MySQL调用存储过程必须要使...
    99+
    2024-04-02
  • jdbc调用存储过程的方法是什么
    JDBC调用存储过程的方法如下:1. 获取数据库连接:首先创建一个合适的数据库连接,使用`java.sql.DriverManage...
    99+
    2023-09-28
    jdbc
  • jdbc执行存储过程是什么
    JDBC(Java Database Connectivity)执行存储过程是通过Java程序连接到数据库,并调用数据库中定义的存储...
    99+
    2023-10-24
    jdbc
  • java中switch语句的执行过程是什么
    今天就跟大家聊聊有关java中switch语句的执行过程是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编...
    99+
    2023-06-14
  • sql存储过程调试的方法是什么
    调试SQL存储过程的方法可以有以下几种:1. 使用PRINT语句:在存储过程中插入PRINT语句,将变量的值或执行的步骤输出到消息窗...
    99+
    2023-08-28
    sql
  • db2存储过程调试的方法是什么
    要调试db2存储过程,可以使用以下方法: 使用db2的调试工具:db2提供了一些调试工具,可以帮助开发人员调试存储过程。其中包括...
    99+
    2024-04-09
    db2
  • mysql存储过程调试的方法是什么
    MySQL存储过程调试的方法有以下几种: 使用PRINT或SELECT语句输出变量值:在存储过程中可以使用PRINT或SELEC...
    99+
    2024-04-09
    mysql
  • java执行maven的方法是什么
    要执行Maven命令,需要使用以下方法: 使用Maven的命令行工具执行命令。在命令行中输入mvn后,可以跟随各种Maven命令...
    99+
    2023-10-23
    java maven
  • java switch语句的执行过程是什么
    这篇文章主要介绍“java switch语句的执行过程是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java switch语句的执行过程是什么”文章能帮助大家解决问题。1、语法switch(常...
    99+
    2023-06-30
  • Spark内存调优的方法是什么
    这篇文章主要介绍“Spark内存调优的方法是什么”,在日常操作中,相信很多人在Spark内存调优的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spark内存调优的方法是什么”的疑惑有所帮助!接下来...
    99+
    2023-07-05
  • jvm内存调优的方法是什么
    JVM内存调优的方法有以下几种: 调整堆内存大小:可以通过设置-Xmx和-Xms参数来调整堆内存的大小。增大堆内存可以提高应用程...
    99+
    2023-10-27
    jvm
  • struts2的执行过程是什么
    Struts2的执行过程可以分为以下几个步骤:1. 客户端发送请求:客户端通过浏览器向服务器发送HTTP请求。2. 请求被Strut...
    99+
    2023-08-18
    struts2
  • Java中float在内存中的存储方式是什么
    本篇内容介绍了“Java中float在内存中的存储方式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!最近在讲Java基础,讲到数据类型...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作