Java内存分配

Java内存分配,第1张

Java内存分配

文章目录
  • 前言
  • 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)来说,形式参数的 *** 作 【会】 影响实际参数。 —》类、接口、数组、枚举、注解

    引用类型 —> 地址的传递

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5582937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存