开始学java1 小小内存



成员变量会默认初始化

局部变量不会初始默认值


public int getAge(){} 返回类型为int类型
(int long L )     (double float F)


int 为4个字节 long 为8个字节 byte 1个字节 short 2个字节 int 和long 第一位为符号位。

float 为4个字节 double 为8个字节

一般整数型默认为int类型,如果要区分为long 则为 8L后面加L表示。

一般小数默认为double类型,如果要定义为float则为0.8F后面加F表示。




引用类型占用两块内存  
new 出来的东西放在堆内存里(堆内存是动态分配内存的) heap
局部变量放在栈内存里面 stack
静态变量和字符串常量
代码存储区间


引用 占据两块内存 一小块内存指向一大块内存
方法只在运行的时候才在内存里面调用空间


方法执行结束之后,该方法内的局部变量消失。局部变量涉及到的New
东西没有外部的其他引用垃圾回收机制会在适当时间运行回收。




形参会首先在栈内存中占据位置 待方法执行完毕移除


重载 相同的方法名,相同的返回值,不同的参数


返回值也会在栈空间占据一个位置 方法运行结束后清空;


static 静态变量 属于整个类的,不属于new出来的对象,放置于data 内存中
数据区


成员变量在堆内存内分配


package ...路径 ; java 的包用法 约定公司域名倒装
重写不需要 override的标签符号,直接写原样的方法,一切相同。








String 类的相关方法 与as类似 charAt substring indexOf 


强转 (要转成的类的类型)实例化名 instanceof() 判断类型


多态存在的三个必要条件  继承 重写 父类引用指向子类对象


动态绑定 代码区运行时候指向
abstract 抽象 修饰符 可以修饰类和方法
public abstract void function(); 抽象方法,子类必须重写,或者照样
标志为抽象方法。含有抽象方法的类必须标明为抽象类
final 的类不能被继承 方法不能被重写


接口中的成员变量 默认是 public static final 属性
方法默认是抽象方法


int[] array ; 定义数组
Throwable Error【系统虚拟机中的错误,处理不了】 Exception → 
RuntimeException【小错误,可不用解决】
finally 不管如何后面的必定执行


catch 异常的时候 先小后大
重写有抛出异常 的 不抛 或者 抛一样的




数组 不能指定长度 类型[] 名称 这样定义 名称 = new 类型[个数]

int a[] = {1,2,3};



java是个编译型的语言,首先依托虚拟机编译成电脑熟悉的语言,再通过电脑解释执行。

在内存中的分类有一块代码区,储存我们的代码,一块data的数据区,存放字符常量和Static的静态变量。

一块栈空间用来存放局部变量和常量类型,一块堆空间用来存放new出来的类型。

应为堆空间是可以批量向电脑申请空间,当我们new出来需要多少空间,在堆空间可以相应的进行延伸扩展。


了解Java的内存分配,局部变量会首先在栈内存中,参数也会,返回值也会,这些在栈内存中存在,直到方法执行完毕之后会删除。

堆空间中,new出来就占据堆空间,直到没有任何的指向引用才会由垃圾回收机制来回收内存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值