您现在的位置是:主页 > news > 广州做网站怎么样/优化排名推广关键词
广州做网站怎么样/优化排名推广关键词
admin2025/5/12 3:16:34【news】
简介广州做网站怎么样,优化排名推广关键词,wordpress漂浮,群晖可以做网站吗1、java内存简化结构介绍 2、通过一段代码举例内存解析过程 main方法中的代码如下: (1) 第一行的执行情况:int[] arr new int[]{1,2,3}; 左边运算:放在方法中的变量都叫做局部变量,故 “”左侧的arr放在栈(stack)中右边运算&…
广州做网站怎么样,优化排名推广关键词,wordpress漂浮,群晖可以做网站吗1、java内存简化结构介绍 2、通过一段代码举例内存解析过程
main方法中的代码如下: (1) 第一行的执行情况:int[] arr new int[]{1,2,3}; 左边运算:放在方法中的变量都叫做局部变量,故 “”左侧的arr放在栈(stack)中右边运算&…
1、java内存简化结构介绍
2、通过一段代码举例内存解析过程
main方法中的代码如下:
(1) 第一行的执行情况:int[] arr = new int[]{1,2,3};
- 左边运算:放在方法中的变量都叫做局部变量,故 “=”左侧的arr放在栈(stack)中
- 右边运算:“=”右侧的new结构,按照1中简化结构规则放在堆(heap)中; 故 int[]{1,2,3},会在堆里申请3个连续的结构存值(此时赋默认值0,由于int型默认值为0);然后连续空间会有一个首地址值,假如为 0x34ab
- 赋值运算:将0x34ab赋值左侧栈空间变量arr,所以arr能够找到堆空间数组;然后进行1,2,3赋值给堆空间(将原来默认值0覆盖);
图示例:
(2) 第二行的执行情况:String[] arr1 = new String[4];
- 左边运算:放在方法中的变量都叫做局部变量,故 “=”左侧的arr1放在栈(stack)中
- 右边运算:“=”右侧的new结构,按照1中简化结构规则放在堆(heap)中; 故new String[4],会在堆里申请4个连续的结构存值(此时赋默认值null,由于String型默认值为null);然后连续空间会有一个首地址值,假如为 0x12ab
- 赋值运算:将0x12ab赋值左侧栈空间变量arr1,所以arr1能够找到堆空间数组;然后进行null,null,null,null赋值给堆空间(没有赋值,故为默认值null);
(3) 第三行的执行情况:arr1[1] = "刘德华";
- 左边运算:arr1通过0x12ab的指引,找到arr1第二个位置(arr[1]的1是第二个位置,因为从0开始)
- 赋值运算:将第二个位置原来的null,赋值成“刘德华”;
(4) 第四行的执行情况:arr1[2] = "张学友";
- 左边运算:arr1通过0x12ab的指引,找到arr1第三个位置(arr[2]的3是第二个位置,因为从0开始)
- 赋值运算:将第三个位置原来的null,赋值成“张学友”;
(5) 第五行的执行情况:arr1 = new String[3];
- 右边运算:“=”右侧的new结构,按照1中简化结构规则放在堆(heap)中; 故new String[3],会在堆里申请3个连续的结构存值(此时赋默认值null,由于String型默认值为null);然后连续空间会有一个首地址值,假如为 0x5566
- 赋值运算:将0x5566又赋值给了左侧原来已有的变量arr1,就会把原来arr1指的值0x12ab变成arr1指向堆空间的0x5566;然后进行null,null,null赋值给堆空间(没有赋值,故为默认值null);
(6) 第六行的执行情况:System.out.println(arr[1]); //截图简写了代码
- 此时结果为:null
(7)空间回收
- 该代码栈空间没有变量指向堆空间了,就会在某个时间堆空间被回收
- 等main函数执行完后,栈空间的变量会按照从栈顶到栈底判断回收;如题栈顶的变量arr1变量出栈回收后;0x5566指向堆的指针没有,被回收;指向的堆空间被回收;
- 再继续判断栈顶回收(第二个变量成为了此时的栈顶,原来第一个变量已出栈)
备注:上面提到的默认值
数组元素类型 | 默认值 |
---|---|
整型 | 0 |
浮点型 | 0.0 |
char型 |
|
boolean | false |
引用数据类型,如string | null |