zoukankan      html  css  js  c++  java
  • Java的三种初始化和内存分析

    Java的三种初始化和内存分析

    声明数组放在栈里。

    创建数组放在堆里。

    java的内存分析

      • 存放new的对象和数组
      • 可以被所有的线程共享,不会存放别的对象引用
      • 存放基本变量类型(会包含这个基本类型的具体数值)
      • 引用对象的变量(会存放这个引用在堆里面的具体地址)
    1. 方法区
      • 可以被所有的线程共享
      • 包含了所有的class和static变量

    三种初始化

    • 静态初始化

      int[] a = {1,2,3};
      Man[] mans = {new Man(1,1),new Man(2,2)};
      
    • 动态初始化

      int[] a = new int[2];
      a[0] = 1;
      a[1] = 2;
      
    • 数组的默认初始化

      • 数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
    public class ArrayDemo02 {
        public static void main(String[] args) {
            //静态初始化
            int[] a ={1,2,3,4};
    
            Man[] mans = {new Man(),new Man()}; //引用类型
    
            System.out.println(a[0]);
    
            //动态初始化 :包含默认初始化
            int[] b = new int[10];
            b[0] = 10;
    
            System.out.println(b[0]);
            System.out.println(b[1]);
        }
    }
    
  • 相关阅读:
    Django学习手册
    Django学习手册
    django 学习手册
    Django学习手册
    python
    python
    osg学习笔记2, 命令行参数解析器ArgumentParser
    osg(OpenSceneGraph)学习笔记1:智能指针osg::ref_ptr<>
    Boost.Build 简明教程
    Boost1.6x+win7+VC2015编译
  • 原文地址:https://www.cnblogs.com/helloxiaolu/p/13267789.html
Copyright © 2011-2022 走看看