Java内存分配


前言

最近博主从Java基础开始,从头开始学习Java相关内容,在此记录学习内容,希望可以给网友带来帮助,若文中有错误,欢迎大家评论区指正。


Java内存分配

  1. 栈(Stack): 主要用来存放局部变量
  2. 堆(Heap): 凡是new 出来的东西,都在堆中。 默认值规则:
    a)整数,默认为0
    b)浮点数,默认为0.0
    c)字符,默认为 /u0000 (Unicode写法)
    d)布尔值,默认为false
    e)引用类型(包含字符串), 默认为 null
  3. 方法区(Method Area): 存放与.class相关的信息
  4. 本地方法区(Native Method Area): 与操作系统相关
  5. 寄存器:与CPU相关,性能极高

一些基础知识

  1. Java语言为什么能跨平台?
    :Java生成的目标文件.class字节码,不在操作系统上直接运行,而是在java虚拟机(jvm)上运行。这就隔离了各个操作系统指令集的不同。

  2. JDK、JRE、JVM分别是什么,有关系?
    ①JVM: java虚拟机(java virtual machine),java代码的真正执行者,负责将.class翻译为该平台的指令,然后执行。
    ②JRE:java运行环境(java runtime environment),包含jvm、解释器等,总体负责java代码的运行。
    ③JDK:java开发工具包(java development kit),包含编译器、jre、核心类库等,总体负责编译+执行java代码。
    在这里插入图片描述

  3. 修饰符:两个关键字—>public 、 static

  4. 方法名称命名: 第一个单词首字母小写,第二个单词开始首字母大写。

  5. return两个作用: ①结束当前方法 ; ②带着后面的 返回值 交给调用处。

  6. 没有返回值 (void) 的方法,只能使用单独调用( 方法名(参数) ),不能使用打印调用【 sout.方法() 】或者赋值调用【数据类型 变量 = 方法名称()】。

  7. 方法重载Overload : 方法名相同,参数列表不同 —> 一般方法体相似
    注意 :
    ①参数列表不同(参数个数不同;参数类型不同;多类型顺序不同)【eg.sum(int , double) ; sum(double , int)】)
    ②两个不同数据类型,谁的数据范围大,就返回谁。
    ③与返回值类型无关 ; 与参数名无关

  8. 成员变量(属性): 将变量位置直接定义 在类中,在方法外,即为 成员变量。
    成员方法(行为): 将普通方法去掉static关键字,即为成员方法。

  9. 参数传递
    (1)形式参数:在 定义方法 时,写在小括号内的参数(定义时写的)。被动接收
    (2)实际参数:在 调用方法 时,真正传入方法里的数据 。主动传入

     参数传递中的两项规则:
      ①对于基本数据类型(以及String)来说,形式参数的操作 【不会】 影响实际参数。 —》数值、字符、布尔
      ② 对于引用数据类型(除了String)来说,形式参数的操作 【会】 影响实际参数。 —》类、接口、数组、枚举、注解
    在这里插入图片描述
    引用类型 —> 地址的传递
    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值