- 前言
- Java内存分配
- 一些基础知识
前言
最近博主从Java基础开始,从头开始学习Java相关内容,在此记录学习内容,希望可以给网友带来帮助,若文中有错误,欢迎大家评论区指正。
Java内存分配
- 栈(Stack): 主要用来存放局部变量。
- 堆(Heap): 凡是new 出来的东西,都在堆中。 默认值规则:
a)整数,默认为0
b)浮点数,默认为0.0
c)字符,默认为 /u0000 (Unicode写法)
d)布尔值,默认为false
e)引用类型(包含字符串), 默认为 null - 方法区(Method Area): 存放与.class相关的信息
- 本地方法区(Native Method Area): 与 *** 作系统相关
- 寄存器:与CPU相关,性能极高
-
Java语言为什么能跨平台?
:Java生成的目标文件.class字节码,不在 *** 作系统上直接运行,而是在java虚拟机(jvm)上运行。这就隔离了各个 *** 作系统指令集的不同。 -
JDK、JRE、JVM分别是什么,有关系?
①JVM: java虚拟机(java virtual machine),java代码的真正执行者,负责将.class翻译为该平台的指令,然后执行。
②JRE:java运行环境(java runtime environment),包含jvm、解释器等,总体负责java代码的运行。
③JDK:java开发工具包(java development kit),包含编译器、jre、核心类库等,总体负责编译+执行java代码。
-
修饰符:两个关键字—>public 、 static
-
方法名称命名: 第一个单词首字母小写,第二个单词开始首字母大写。
-
return两个作用: ①结束当前方法 ; ②带着后面的 返回值 交给调用处。
-
没有返回值 (void) 的方法,只能使用单独调用( 方法名(参数) ),不能使用打印调用【 sout.方法() 】或者赋值调用【数据类型 变量 = 方法名称()】。
-
方法重载Overload : 方法名相同,参数列表不同 —> 一般方法体相似
注意 :
①参数列表不同(参数个数不同;参数类型不同;多类型顺序不同)【eg.sum(int , double) ; sum(double , int)】)
②两个不同数据类型,谁的数据范围大,就返回谁。
③与返回值类型无关 ; 与参数名无关 -
成员变量(属性): 将变量位置直接定义 在类中,在方法外,即为 成员变量。
成员方法(行为): 将普通方法去掉static关键字,即为成员方法。 -
参数传递
(1)形式参数:在 定义方法 时,写在小括号内的参数(定义时写的)。被动接收
(2)实际参数:在 调用方法 时,真正传入方法里的数据 。主动传入
参数传递中的两项规则:
①对于基本数据类型(以及String)来说,形式参数的 *** 作 【不会】 影响实际参数。 —》数值、字符、布尔
② 对于引用数据类型(除了String)来说,形式参数的 *** 作 【会】 影响实际参数。 —》类、接口、数组、枚举、注解
引用类型 —> 地址的传递
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)