zoukankan      html  css  js  c++  java
  • java数组学习

    1. java数组的静态特性:

             java是静态语言,java中数组的长度是固定的。还有,数组元素的类型也是在定义时指定了的。

    2. java数组里的关键词:

             数组变量 : 引用变量 , 不过这个引用的类型是数组类型。数组类型很奇特,不需要程序员来设计类的属性和方法,只要在已知的引用类型(类,接口,还有数组)后加一个[], JVM就自动生成了这样的新类型。

            作为一个变量,它是存在于栈空间中的。不过由于其是一个引用变量,其所指向的内容(保存的值)是在堆空间中。

             数组对象 :保存子堆空间中的内容,是类型相同的对象,集中存储在一起。

             数组元素:  通过数组下标所引用的变量,记住在栈空间中保存的首地址(数组名),而数组元素师动态指向的。

     

    3. java数组的初始化机制:

            java数组初始化,分为两种:

            静态初始化,直接在定义时指定其值,那么JVM会自动计算它的长度等其他属性。

            动态初始化,定义和赋值分两步。不过这时在定义时,需要指定它的长度。

    java中引用变量的初始化是堆内存的概念,也就是对堆内存中的对象进行初始化。

    要不然这个初始化还是在栈内存中的概念,对象型赋值null,原生类型 赋值 0,0.0, false等等。

    4. java的多维数组概念:

            java中其实没有多维数组这样的实体。在c语言中,多维数组考虑的是,按行优先,然后将所有元素集中存储。但是在java中,在存储这一层次上,只有一维数组的概念。比如,int[][][], 这个顶层的一维数组的数组元素类型是int[][],也就是一个引用嘛。这像啥,像是数组和链表的联合使用。

     

    reference:

           1. 《疯狂java,突破程序员基本功的16课》 李刚。

  • 相关阅读:
    【JVM】模板解释器--如何根据字节码生成汇编码?
    你会swap吗,按值传递还是按引用?
    你了解实时计算吗?
    Hadoop的Server及其线程模型分析
    机会
    storm如何分配任务和负载均衡?
    storm基础框架分析
    storm如何保证at least once语义?
    学习笔记:The Log(我所读过的最好的一篇分布式技术文章)
    学习笔记:Twitter核心数据类库团队的Hadoop优化经验
  • 原文地址:https://www.cnblogs.com/haore147/p/4214134.html
Copyright © 2011-2022 走看看