为什么阿里会推荐所有的局部变量使用基本数据类型?

简介:

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

Java中共有三种变量,分别是类变量、成员变量和局部变量。他们分别存放在JVM的方法区、堆内存和栈内存中。

image

上面定义的三个变量中:

  • 变量a就是类变量,存放在方法区,线程共享。
  • 变量b就是成员变量,随着对象一起存放在堆内存,线程共享。
  • 变量c和d是局部变量,存放在栈内存,线程独享。
    也就是说,变量a和b是共享变量,变量c和d是非共享变量。

即局部变量是非共享变量,作用域只在方法内部,并不会逃逸到方法外。

那么,既然是一个作用域只在方法内的变量,不需要考虑那么多,怎么性能高怎么定义,怎么方便使用怎么定义。

我们都知道在Java语言中,new一个对象是存储在堆里的,我们通过栈中的引用来使用这些对象;所以,对象本身来说是比较消耗资源的。

对于经常用到的类型,如int等,如果我们每次使用这种变量的时候都需要new一个Java对象的话,就会比较笨重。

所以,和C++一样,Java提供了基本数据类型,这种数据的变量不需要使用new创建,他们不会在堆上创建,而是直接在栈内存中存储,因此会更加高效。
原文地址

相关文章
|
SQL 存储 监控
功能解读|快速上手 OceanBase 数据迁移服务
在上一期的 OceanBase 功能解读系列文章中,我们为大家带来了 ODC 功能解读(戳这里回顾:《OceanBase 开发者中心 ODC 功能解读》),本文将为大家分享数据迁移服务的相关内容。
915 0
功能解读|快速上手 OceanBase 数据迁移服务
|
编解码 定位技术
谷歌地图分辨率表
版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/73949818 ...
2425 0
|
9月前
|
设计模式 XML Java
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
|
消息中间件 监控 数据库
Camunda BPM Run下载(7.20)
Camunda BPM Run下载(7.20)
387 1
|
11月前
|
容器
Flutter&鸿蒙next 布局架构原理详解
Flutter&鸿蒙next 布局架构原理详解
|
11月前
|
人工智能
云端问道12期-构建基于Elasticsearch的企业级AI搜索应用陪跑班获奖名单公布啦!
云端问道12期-构建基于Elasticsearch的企业级AI搜索应用陪跑班获奖名单公布啦!
229 2
|
11月前
|
缓存 JavaScript 前端开发
Node.js模块化的基本概念和分类及使用方法
Node.js模块化的基本概念和分类及使用方法
186 0
|
Java Linux 开发工具
Windows中使用包管理器(类似于apt/yum的) - Chocolatey
Windows中使用包管理器(类似于apt/yum的) - Chocolatey
853 0
|
存储 机器学习/深度学习 人工智能
IT支持在业务连续性中的作用
IT支持在业务连续性中扮演着关键的角色,确保企业可以在各种不可预测的情况下持续运营。通过制定详细的业务连续性计划、采用现代技术和自动化运维,IT支持团队可以在紧急情况下迅速响应,保障企业的利益和声誉。随着技术的发展,IT支持的角色将不断扩展和创新,为业务连续性提供更加强大的支持。
426 1
IT支持在业务连续性中的作用
|
存储 监控 数据可视化
【BPM技术】Zeebe是一个用于微服务编排的工作流引擎。
【BPM技术】Zeebe是一个用于微服务编排的工作流引擎。