day08 java 静态方法调用 方法的内存实现机制

目录

静态方法调用

方法的内存实现


静态方法调用

静态方法: 静态方法要在方法上用修饰符static。

静态方法可以通过类名调用 :类名.方法名()或者 直接调用 :方法名()

在同一个类中时,直接使用  方法名() 调用

【修饰符】 class 类名{【public】 static 返回值类型 静态方法1(【形参列表】){....}【public】 static 返回值类型 静态方法2(【形参列表】){静态方法1(【实参列表】);}
}

在其他类中需要用  类名.方法名() 调用

【修饰符】 class A类名{【public】 static 返回值类型 静态方法1(【形参列表】){B类名.静态方法2(【实参列表】);}
}
【修饰符】 class B类名{【public】 static 返回值类型 静态方法2(【形参列表】){....}
}

方法的内存实现

方法不调用不执行,调用一次执行一次,每次调用会在栈中有一个入栈动作,即给当前方法开辟一块独立的内存区域,用于存储当前方法的局部变量的值,当方法执行结束后,会释放该内存,称为出栈,如果方法有返回值,就会把结果返回调用处,如果没有返回值,就直接结束,回到调用处继续执行下一条指令。

如图所示:源文件进行编译后形成.class文件,类信息(包括类中的方法信息)会加载到内存的方法区。在代码运行后,运行到方法后会吧相应的方法压入栈中,每一个方法形成一个栈帧,用于存储当前方法的局部变量的值。

方法自己调用自己但必须有一个限制条件否则会无限递归下去,会导致无限的方法循环入栈,栈会满,最终会导致StackOverflowError

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/296141.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网工内推 | 国企运维,IA认证,大专以上即可,最高22K

01 深圳建广数字科技有限公司青岛分公司 招聘岗位:桌面运维工程师 职责描述: 1.根据运维服务请求完成关于操作系统、应用软件、办公设备、网络等方面的安装、管理与维护; 2.各种PC软硬件故障诊断、排查及升级; 3.桌面设备&…

自动化测试如何管理测试数据

前段时间,知识星球里有同学问到:自动化case越多,测试数据越多,数据的管理成本也越来越高,是否需要一个数据池来专门管理测试数据?这是一个好问题,也是很多测试同学在自动化测试实践中必须面对的…

新手使用GIT上传本地项目到Github(个人笔记)

亲测下面的文章很有用处。 1. 初次使用git上传代码到github远程仓库 - 知乎 (zhihu.com) 2. 使用Git时出现refusing to merge unrelated histories的解决办法 - 知乎

Lua环境下载与配置

这里介绍如何下载已经编译好的Lua环境,如何配置Lua环境。 如希望自己从源码编译Lua环境,请自行搜索资料。 第一步:下载编译好的lua环境 打开下面链接,然后根据指引下载。 The Programming Language Luahttps://www.lua.org/hom…

【论文极速读】 指令微调BLIP:一种对指令微调敏感的Q-Former设计

【论文极速读】 指令微调BLIP:一种对指令微调敏感的Q-Former设计 FesianXu 20240330 at Tencent WeChat search team 前言 之前笔者在[1]中曾经介绍过BLIP2,其采用Q-Former的方式融合了多模态视觉信息和LLM,本文作者想要简单介绍一个在BLIP2…

docker 安装nginx

一、先查看有没有nginx镜像 docker images 二、发现没有nginx镜像,下载最新镜像 docker pull nginx 三、运行镜像 为了先复制出部分文件,先启动一个临时容器 docker run --name nginx -p 9001:80 -d nginx docker cp nginx:/etc/nginx/conf.d /home/…

HTTP/1.1、HTTP/2、HTTP/3 演变(计算机网络)

HTTP/1.1 相比 HTTP/1.0 提高了什么性能? HTTP/1.1 相比 HTTP/1.0 性能上的改进: 使用长连接改善了短连接造成的性能开销。支持管道网络传输,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去&#xff0c…

百卓Smart管理平台 importexport.php SQL注入漏洞复现(CVE-2024-27718)

0x01 产品简介 百卓Smart管理平台是北京百卓网络技术有限公司(以下简称百卓网络)的一款安全网关产品,是一家致力于构建下一代安全互联网的高科技企业。 0x02 漏洞概述 百卓Smart管理平台 importexport.php 接口处存在SQL注入漏洞,攻击者除了可以利用 SQL 注入漏洞获取数据…

基于springboot实现校园周边美食探索及分享平台系统项目【项目源码+论文说明】

基于springboot实现园周边美食探索及分享平台系统演示 摘要 美食一直是与人们日常生活息息相关的产业。传统的电话订餐或者到店消费已经不能适应市场发展的需求。随着网络的迅速崛起,互联网日益成为提供信息的最佳俱渠道和逐步走向传统的流通领域,传统的…

每日一题————P5725 【深基4.习8】求三角形

题目: 题目乍一看非常的简单,属于初学者都会的问题——————————但是实际上呢,有一些小小的坑在里面。 就是三角形的打印。 平常我们在写代码的时候,遇到打印三角形的题,一般简简单单两个for循环搞定 #inclu…

MySQL 学习心得和知识总结(五)|MySQL的一般查询日志(general log)

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

权限提升技术:攻防实战与技巧

本次活动赠书1本,包邮到家。参与方式:点赞收藏文章即可。获奖者将以私信方式告知。 网络安全已经成为当今社会非常重要的话题,尤其是近几年来,我们目睹了越来越多的网络攻击事件,例如公民个人信息泄露,企业…

软件测试学习(一)

1.软件测试的定义 软件是控制计算机硬件工作的工具。 软件基本组成:客服端、服务器、数据库 软件产生过程:需求产生->需求文档->设计效果图->产品开发->产品测试->部署上线 软件测试的定义:使用技术手段来验证软件产品是否…

第四百三十九回

文章目录 1. 概念介绍2. 实现方法3. 示例代码 我们在上一章回中介绍了dart语言中的setter/getter相关的内容,本章回中将介绍局部动态列表.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 在正常情况下列表位于整个页面中,而且可以在整个页…

波士顿房价预测案例(python scikit-learn)---多元线性回归(多角度实验分析)

波士顿房价预测案例(python scikit-learn)—多元线性回归(多角度实验分析) 这次实验,我们主要从以下几个方面介绍: 一、相关框架介绍 二、数据集介绍 三、实验结果-优化算法对比实验,数据标准化对比实验&#xff0…

Rredis缓存常见面试题

文章目录 1.什么是缓存穿透,怎么解决2.什么是缓存击穿,怎么解决3.什么是缓存雪崩,怎么解决4.双写一致性问题5.redisson添加的排他锁是如何保证读写、读读互斥的6.为什么不使用延迟双删7.redis做为缓存,数据的持久化是怎么做的8.re…

MySQL的基本操作(超详细)

👨‍💻作者简介:👨🏻‍🎓告别,今天 📔高质量专栏 :☕java趣味之旅 📔(零基础)专栏:MSQL数据库 欢迎🙏点赞&…

ngAlain下使用nz-select与文件上传框出现灵异bug

bug描述 初始化页面,文件上传框无法出现: 但点击一次选择框以后,就会出现: 真的很神奇。。。 下面逐步排查看看是什么原因。 设想一: 选择框与文件框不可同时存在,删掉选择框看看: 还…

创业者的三大法宝:自我进化、自我激励与诚信坚守

一、摘要: 在创业的道路上,每一位创业者都如同航海家,驾驶着自己的船只,在波涛汹涌的大海中探寻成功的彼岸。而在这条充满未知与挑战的旅程中,创业者们需要具备哪些关键的品质和能力呢?京东集团创始人刘强…

搭建电商网站外贸网站用API接口可以实现哪些功能(天猫API接口|京东API接口)

在电商领域,API接口可以实现多种功能,起到连接内外部系统及优化电商业务流程等多种作用,从而来提高电商企业的运营效率。 具体来看,API接口接入可以用来: 商品管理: API接口能够用来获取商品详情等&#…