当前位置: 首页 > news >正文

做校招的网站有哪些/友情手机站

做校招的网站有哪些,友情手机站,外贸商城网站系统,计算机专业网页设计Java中的变量根据不同的标准可以分为两类,以其引用的数据类型的不同来划分可分为“原始数据类型变量和引用数据类型变量”,以其作用范围的不同来区分可分为“局部变量,实例变量和静态变量”。 根据“Java中的变量与数据类型”中的介绍&#x…

Java中的变量根据不同的标准可以分为两类,以其引用的数据类型的不同来划分可分为“原始数据类型变量和引用数据类型变量”,以其作用范围的不同来区分可分为“局部变量,实例变量和静态变量”。

根据“Java中的变量与数据类型”中的介绍,“变量是在内存中分配的保留区域的名称。换句话说,它是一个内存位置的名称”,也就是说我们通过这个变量名字就可以找到一个指向这个变量所引用的数据的内存指针,根据变量的类型我们可以知道这个指针之后的几个字节里存储了这个变量所引用的数据。

所以,了解变量在方法区、栈内存、堆内存中的分配要了解两部分内容,一个是“变量在内存中的分配”,另一个是“变量所引用的数据在内存中的分配”。以下简称为“变量分配”与“数据分配”。

原始数据类型变量:
原始数据类型变量的“变量分配”与“数据分配”是在一起的(都在方法区或栈内存或堆内存)

引用数据类型变量:
引用数据类型变量的“变量分配”与“数据分配”不一定是在一起的。

示例代码:

 1 class Fruit {
 2     static int x = 10;
 3     static BigWaterMelon bigWaterMelon_1 = new BigWaterMelon(x);
 4  
 5     int y = 20;
 6     BigWaterMelon bigWaterMelon_2 = new BigWaterMelon(y);
 7  
 8     public static void main(String[] args) {
 9         final Fruit fruit = new Fruit();
10  
11         int z = 30;
12         BigWaterMelon bigWaterMelon_3 = new BigWaterMelon(z);
13  
14         new Thread() {
15             @Override
16             public void run() {
17                 int k = 100;
18                 setWeight(k);
19             }
20  
21             void setWeight(int waterMelonWeight) {
22                 fruit.bigWaterMelon_2.weight = waterMelonWeight;
23             }
24         }.start();
25     }
26 }
27  
28 class BigWaterMelon {
29     public BigWaterMelon(int weight) {
30         this.weight = weight;
31     }
32  
33     public int weight;
34 }

内存分配图:

 

同一种颜色代表变量和对象的引用关系:

由于方法区和堆内存的数据都是线程间共享的,所以线程Main Thread,New Thread和Another Thread都可以访问方法区中的静态变量以及访问这个变量所引用的对象的实例变量。ps:方法区存储的都是只加载一次的。

栈内存中每个线程都有自己的虚拟机栈,每一个栈帧之间的数据就是线程独有的了,也就是说线程New Thread中setWeight方法是不能访问线程Main Thread中的局部变量bigWaterMelon_3,但是我们发现setWeight却访问了同为Main Thread局部变量的“fruit”,这是为什么呢?因为“fruit”被声明为final了。

当“fruit”被声明为final后,“fruit”会作为New Thread的构造函数的一个参数传入New Thread,也就是堆内存中Fruit$1对象中的实例变量val$fruit会引用“fruit”引用的对象,从而New Thread可以访问到Main Thread的局部变量“fruit”。

 

转载于:https://www.cnblogs.com/bky-nll/p/11117603.html

http://www.lbrq.cn/news/1331767.html

相关文章:

  • 新零售网站建设/如何成为百度广告代理商
  • wordpress淘宝ued/惠州seo关键字优化
  • 怎样可以免费做网站/外包公司是什么意思
  • 后台更新的内容在网站上不显示/青岛seo排名公司
  • 花卉网站建设策划书/优化教程
  • 国务院网站建设标准/友情链接怎么购买
  • 网站后台编辑内容不显示/windows优化工具
  • 桂电做网站的毕设容易过嘛/推广引流方法有哪些推广方法
  • web后端是做什么的/北京网站优化方式
  • 做seo网站优化价格/360竞价推广登录入口
  • 安庆网站建设工作室/网络卖货平台有哪些
  • ui中国网站/优化深圳seo
  • java企业门户网站开发教程/山东16市最新疫情
  • 佛山专业网站设计/网络营销是什么专业类别
  • 北京常用网站/广州seo优化费用
  • 北京门户网站制作费用/百度seo公司哪家好一点
  • 有什么做衣服的网站吗/历下区百度seo
  • 360网站制作潍坊/厦门seo推广优化
  • 装潢公司网站源码php/网站优化排名首页
  • jsp做网站图片怎么存储/百度新闻头条
  • 网站开发项目可行性/nba交易最新消息
  • app开发学习网站/百度网盘app手机版
  • 微信商城与网站一体/google网址直接打开
  • 网站建设百灵鸟优化/百度快照是什么意思
  • 微信分享 淘宝网站 怎么做/万网域名官网
  • 初中信息科技怎么自己做网站/2023半夜免费b站推广
  • 新疆建设工程建设云官网/北京seo的排名优化
  • 定制型网站制作价格/html网页制作模板
  • 深圳网站搭建电话/东莞网络营销网站建设
  • 建设通网站账号/聊城今日头条最新
  • Dify-14: 工作流API端点
  • 从零开始的云计算生活——第三十七天,跬步千里,ansible之playbook
  • 数据库原理
  • 【Android】相对布局应用-登录界面
  • Fast_Lio 修改激光雷达话题
  • 零基础学后端-PHP语言(第二期-PHP基础语法)(通过php内置服务器运行php文件)