社区
C#
帖子详情
引用类型和值类型 问题
asia217
2017-07-17 09:22:18
引用类型运行与堆上,值类型运行与栈上。
我们熟知的程序都是以类开始(Wpf,Console),那么该类都是运行在堆上,
调用类的方法时,方法里面的局部变量(值类型)此时在堆里还是栈里呢
?
如果上面的问题答案是堆里,那么栈的使用场景会是什么样的呢?
...全文
257
7
打赏
收藏
引用类型和值类型 问题
引用类型运行与堆上,值类型运行与栈上。 我们熟知的程序都是以类开始(Wpf,Console),那么该类都是运行在堆上,调用类的方法时,方法里面的局部变量(值类型)此时在堆里还是栈里呢? 如果上面的问题答案是堆里,那么栈的使用场景会是什么样的呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
正怒月神
2017-07-17
打赏
举报
回复
调用类的方法时,方法里面的局部变量(值类型)此时在堆里还是栈里呢?
在栈里。
threenewbee
2017-07-17
打赏
举报
回复
作为局部变量的值类型在栈上,其余都在堆上
asia217
2017-07-17
打赏
举报
回复
我想 :类的实例在堆上, 类的字段值在堆里,类的方法的声明在堆里。 声明类的变量在栈里,当调用方法时,会将方法内的局部变量放在栈里。 高手们,可以这样吗?
exception92
2017-07-17
打赏
举报
回复
值类型由栈分配内存,编译的时候都已经分配。
闭包客
2017-07-17
打赏
举报
回复
就是在栈里面……
秋的红果实
2017-07-17
打赏
举报
回复
我的理解是:程序在CRL执行时,都有一个专属的堆栈空间,程序载入后,程序的所有东西(变量、方法、语句)都被装入堆上,执行某个具体动作时,由JIT从载入到内存的堆里,找到相应逻辑(程序语句),生成CPU可以执行的指令,并压入栈顶,供CPU的指令系统取走执行 方法里面值类型变量,当然是在栈上分配
以专业开发人员为伍
2017-07-17
打赏
举报
回复
乱! 方法定义在进程的代码部分,跟数据部分是分开的。当加载DLL、EXE时的时候,加载到内存。并不纠结什么对象的“里边”。对象实例被某些方法执行,或者执行某些对象的方法,这是编译器做的事情,它知道如何索引代码段里边的代码部分,跟什么“堆、栈”无关。当调用一个方法时,自然是要把参数压入栈,此时简单值自然就是计算机一个基本数据足以表示了(例如直接把一个浮点数装入寄存器),而复杂的对象自然就只能用基本数据来表示堆索引。这些都是编译技术基础知识,你应该学习一下课程。
满意度调查行·知dr.pptx
满意度调查行·知dr.pptx
基于B2C的网上拍卖系统_秒杀与竞价.zip
基于B2C的网上拍卖系统主要用于帮助人们应用互联网方便快捷买到自己所中意的商品,并参与到秒杀与竞拍当中。 主要功能包括: 1.前台模块 (1)普通用户登录/注册。 (2)分类查看商品(普通商品与促销商品) (3)查看商品详细信息 (4)查看秒杀商品 (5)查看竞拍商品 (6)将商品加入购物车 (7)购买,结算功能 (8)留言 2.后台模块 (1)修改密码 (2)商品管理: -- 编辑/删除 -- 设置/取消促销 (3)秒杀商品:设置/取消秒杀 (4)竞拍商品:设置/取消竞拍 (5)订单管理:查看订单 (5)留言管理:查看/删除留言 项目访问路径: 前台:http://localhost:8080/sale 后台:http://localhost:8080/sale/user/adminlogin
分布式系统中Java后端开发技术及其应用实践.pdf
分布式系统的核心思想是复杂计算任务的拆分与并行计算,可有效减少计算时间、节约算力成本。以分布式系统中Java后端开发技术的应用为主题,分析分布式系统开发的需求,探讨Java技术栈、分布式监控与日志管理、云服务模型在分布式系统Java后端开发中的应用路径,旨在为分布式系统的设计与实现提供全面的理论分析和实践指导,以支持构建高效、稳定、可扩展的企业级Java应用。 随着云计算、大数据和人工智能技术的飞速发展, 分布式系统已成为支撑现代企业信息系统的基础架构。 Java 后端开发技术在构建分布式系统中扮演着至关重要的 角色,其应用价
值
和研究重点主要集中在微服务架构、容 器化技术、自动化部署、服务网格、无服务器计算、应用 程序编程接口(Application Programming Interface, API)管理、数据一致性解决方案、分布式缓存、负载均衡、 复杂事件处理和分布式事务管理等方面[1]。Java平台以 其成熟的生态系统、跨平台的移植性、丰富的开源框架 和库以及稳定的性能,为分布式系统的开发提供了坚实 的基础[2]。深入探讨Java后端开发技术在分布式系统中 的应用实践,旨在为企
【微信小程序毕业设计】书店系统开发项目(源码+演示视频+说明).rar
【微信小程序毕业设计】书店系统开发项目(源码+演示视频+说明).rar 【项目技术】 微信小程序开发工具+java后端+mysql 【演示视频-编号:246】 https://pan.quark.cn/s/cb634e7c02b5 【实现功能】 用户信息管理,图书信息管理,图书
类型
管理,图书留言管理,论坛信息管理等
使用Spring in Guice和Guice in Spring的工具(高分项目).zip
Java SSM项目是一种使用Java语言和SSM框架(Spring + Spring MVC + MyBatis)开发的Web应用程序。SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、高效的企业级应用。 1. Spring框架:Spring是一个轻量级的Java开发框架,提供了丰富的功能和模块,用于开发企业级应用。它包括IoC(Inverse of Control,控制反转)容器、AOP(Aspect-Oriented Programming,面向切面编程)等特性,可以简化开发过程、提高代码的可维护性和可测试性。 2. Spring MVC框架:Spring MVC是基于Spring框架的Web框架,用于开发Web应用程序。它采用MVC(Model-View-Controller,模型-视图-控制器)的架构模式,将应用程序分为模型层、视图层和控制器层,提供了处理请求、渲染视图和管理流程的功能。 3. MyBatis框架:MyBatis是一个持久层框架,用于与数据库进行交互。它提供了一种将数据库操作与Java对象映射起来的方式,避免了手动编写繁琐的SQL语句,并提供了事务管理和缓存等功能,简化了数据库访问的过程
C#
110,539
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章