美文网首页
4-Java方法重载 JVM内存 数组

4-Java方法重载 JVM内存 数组

作者: 前端雨 | 来源:发表于2019-01-17 16:14 被阅读0次

方法重载

  1. 定义: 在同一个类中,某方法允许存在一个以上的同名方法,只要它们的参数列表不同即可。


    方法重载栗子.png
  2. 作用: 屏蔽了同一功能的方法由于参数不同所造成方法名称不同。

  3. 判断原则: 两同一不同

    • 两同: 同类中, 方法名相同
    • 一不同: 方法参数列表不同(参数类型, 参数个数, 参数顺序)
      - 只要参数类型, 参数个数, 参数顺序有一个不同, 参数列表就不同
  4. 注意

    • 方法重载与方法的返回值类型无关,只是一般要求返回值类型一致
    • 参数列表与参数的名称没关系, 即为方法的重载与形参没关系

JVM内存模型

  1. JVM内存

    1. 本地方法栈:为虚拟机使用的native方法服务
    2. 程序计数器:当前线程所执行的字节码的行号指示器
    3. Java堆:被所有线程共享的一块内存区域,在虚拟机启动时创建。所有的对象实例以及数组都要在堆上分配(使用new关键字, 就表示在堆中开辟一块新的存储空间 )
    4. Java虚拟机栈:描述Java方法执行的内存模型,每个方法被执行的时候都会同时创建一个栈帧用于存储局部变量表、操作栈、动态链接、方法出口 等信息
      • 每一个方法,创建一个栈帧, 栈帧存放了当前方法的数据信息(局部变量),当方法调用完毕, 该方法的栈帧就被销毁了
    5. 方法区:线程共享的内存区域,存储已被虚拟机加载的类信息、常量、静态变量即时编译器编译后的代码数据等(这个区域的内存回收目标主要是针对常量池的回收和对类型的卸载)


      JVM内存图.png
  2. GC垃圾回收器

    • 不需要手动去控制内存的释放。当JVM内存资源紧张时,就会自动地去清理无用对象(没有被引用到的对象)所占用的内存空间
    • 自动回收的是堆空间的内存, 而栈空间内存会随着该方法的执行结束, 自动释放该方法的栈帧内存

数组

  1. 定义: 有序排列的同类型数据的集合
    • 数组元素: 数组中每一个数据
    • 数组索引: 数组元素存放的位置,索引从0开始,步长是1
  2. 数组定义格式
    • 变量的定义: 数据类型 变量名; 如: int age;
    • 方式一: 数组元素的类型[] 数组名; int[] ages; // (推荐)
      • int[]看成是一种数据类型, int类型的数组类型
    • 方式二: 数组元素的类型 数组名[]; int ages[];
  3. 注意
    • 变量, 数组必须先初始化(赋值), 才能使用, 因为初始化表示在内存中分配空间
    • int age; System.out.println(age); // 报尚未初始化

相关文章

  • 4-Java方法重载 JVM内存 数组

    方法重载 定义: 在同一个类中,某方法允许存在一个以上的同名方法,只要它们的参数列表不同即可。方法重载栗子.png...

  • JAVA 一维数组

    数组 JVM内存划分 A:内存划分 JVM对自己的内存划分为5个区域 * a: 寄存器:内存和CUP之间 * b:...

  • Java内存

    内存结构 JVM的内存结构大概分为: 堆(heap):线程共享,所有的对象实例以及数组都要在堆上 方法区: 线程共...

  • Java大佬之学习历程(一)

    基础篇 JVM: ①JVM内存结构: 堆、栈、方法区、直接内存、堆和栈区别, ②JVM参数及...

  • 【JVM 知识体系框架总结】

    JVM 内存分布 线程共享数据区:方法区->类信息,静态变量堆->数组对象 线程隔离区虚拟机栈-> 方法本地方法栈...

  • 面试官:JVM 这些我必问

    JVM 内存分布 线程共享数据区:方法区->类信息,静态变量堆->数组对象 线程隔离区虚拟机栈-> 方法本地方法栈...

  • JVM内存限制

    JVM内存限制方法测试JVM有相关内存限制,具体测试方法:java -Xmx1024m -version,中间的-...

  • Linux上Tomcat内存溢出配置

    Tomcat的JVM内存溢出解决方法 在生产环境中,tomcat内存设置不好很容易出现JVM内存溢,解决方法就是修...

  • JVM 面试题

    JVM内存 1、JVM方法区存储内容 是否会动态扩展,是否会出现内存溢出,出现的原因有哪些?2、JVM内存分为哪些...

  • JVM学习——运行时数据区

    一,JVM内存结构 JVM内存主要分为:堆内存、方法区和栈 堆内存存储对象实例,由新生代和老年代组成 方法区存储类...

网友评论

      本文标题:4-Java方法重载 JVM内存 数组

      本文链接:https://www.haomeiwen.com/subject/nrbidqtx.html