Java中的内存分配、栈、堆及数组

Java中的内存是怎样进行分配的?

内存的申请和释放都是jvm进行管理的,Java程序要运行,jvm会自动的向电脑申请一块内存。

这块内存分为5个部分:

栈(Stack)

主要存放局部变量(重点)

堆(Heap)

凡是new出来的东西都在堆里面,堆当中的数据都有默认原则;(重点)

堆当中数据的默认值

0
整数
小数
0.0
布尔类型
false
char类型
空格
引用数据类型
null

方法区(Method Area)

存放的是与.class相关的信息

本地方法区(Native Meat后的 Area)

与操作系统有关

寄存器(Register)

与cpu有关

数组

产生的原因

多个相同数据类型变量存储

  • 数组用来将相同的数据类型存储在存储单元里,数组的所有元素必须属于相同的数据类型

定义数组

数组类型【】数组名;
数组是一个引用数据类型
定义好数组以后,要对数组进行初始化

初始化

动态初始化

指定数组的长度,一旦长度指定就是数组中只能存储多少数据
1.两种格式:

  • 数组类型【】数组名=new 数组类型【数组长度】;
  • 数组类型【】数组名; 数组名=new 数组类型【数组长度】;

静态初始化

不直接指定数组长度,而是直接在初始化数组的同时给数组赋值

  • 数组类型【】数组名=new数组类型{数据1,数据2,…}

  • 数组类型【】数组名;数组名

    创建好的数组通过数组的下标,数组的下标从0开始。

数组类型【】数组名={数据1,数据2,…};最简洁

  • 获取数组长度:数组名.length
  • 数组长度一旦定义,不可改变。

数组中的默认值

0
byte
short
int
long
char
double
0.0
float
boolean
false
引用数据类型
null

数组中既可以存放基本数据类型变量,也可以存放引用数据类型变量(数组中也可以存放对象)

下标

  • 0~数组的长度-1
  • 数组的长度
    数组名.length
  • 访问数组中特定的元素
    数组名【下标】

常见操作

  • 遍历
  • 普通for循环
  • while循环
  • 增强for循环
  • stream api
  • 排序(冒泡、选择)
  • 求最值
  • 逆序

多维数组—二维数组

方法函数

  • 定义
    返回值类型 法名(参数列表…) {
    // 法体
    // return 返回值;
    }
  • 方法重载
    同一个类中,方法名相同,参数列表不同

学习笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值