关于Java数组
数组可以分为动态数组,和静态数组。
数组的变量只是一个引用变量,数组的对象保存在堆内存中的连续内存空间,数组引用保存在栈内存中,对数组的初始化只是在内存中创建一个数组对象。对于数组变量来说,不需要进行所谓的初始化
引用变量实际上是一个指针,只要程序通过引用变量来访问属性或者调用方法,引用变量就会由他所引用的对象代替
数组中的多维数组,实际上是一维数组Java变量
Java中的变量大体分为成员变量和局部变量
局部变量包括:1,形参:方法签名中定义的局部变量,2,方法中的局部变量 ,他随方法的消失而消失。 3,代码块中的局部变量。
局部变量的作用时间很短,存储在栈内存中。
在类体中定义的变量叫做成员变量 而成员变量有分为类成员和示例成员。static关键字把实例成员变为类成员,类成员在内存中只需要一块内存空间,实例变量则是创建一次分配一次。还有一个问题是在于static修饰的对象,在内存回收的时候叫做强引用,不管什么时候被强引用的对象都不会被内存回收父类构造器
只要在程序中创建Java对象,最先调用最顶层的父类的初始化操作。super显式调用父类构造器,根据传参来确定调用那个父类构造器
this 显式的调用本类重载的构造器
子类访问父类的类变量可以直接用父类名或者super来调用final修饰符
final能够修饰变量:被修饰的变量被赋予初值后,不能进行更改
final可以修饰方法,修饰的方法不能重写
final 能够修饰类,被修饰的类不能派生子类
而在final修饰的变量只能在三个位置指定初始值
1,定义final实例变量时指定初始值
2,在非静态初始化块中为final实例变量指定初始值
3,在构造器中为final实例变量指定初始值set和map的关系
set是一种集合元素无序,不可重复的集合,map是有多个key,value对组成的集合,但是map集合本质上是一个关联数组,map中的key具有set的特征,向map中添加数据时,使用put 方法Java的内存回收
Java对于对象的引用分为:强引用,软引用,弱引用,虚引用。
对象的状态转换 :创建后—可达状态——-可恢复状态——不可达状态
强引用:创建对象,并把对象赋予给引用变量,被强引用的对于绝不会被回收
软引用:当内存空间不够时,系统回收 softreference
弱引用:不管内存是否足够总会被系统回收 weakreference
虚引用:跟踪对象被垃圾回收的状态内存管理的技巧
1 尽量使用直接量
2,尽量少使用static变量
3,避免在循环中创建对象
4,考虑使用软引用基本数据类型
整数类型(byte (一个字符)short(两个字符)int(四个字节)long(八个字节)
字符类型(char (两个字节)
浮点类型(float(四个字节) double(八个字节)
布尔类型(Boolean(一位)
其中一个字节占八位 byte 的表数范围:(-2)七次方–(2)七次方-1 其他同理Java的运算符
1,赋值运算符
+= +=y 相当于 x=x+y
-= x=x-y
*= x=x*y
。。。。
2,逻辑运算符
&& 短路与 前面为false 后面就不在继续进行,必须两个都为true 才返回true
& 不短路与 不会短路
|| 短路或 和短路与相似
! 非 如果操作数为true就返回false循环结构
while 先判断循环条件在直接循环体中的内容
do while 先执行do 中的内容,在判断循环条件
for 循环 对于多次循环,先执行外层循环,然后把内层循环执行,直到内层循环不在执行,放回外层循环。递归方法
一个方法体内调用他自身,被称为方法递归,方法递归包含了一种隐式循环他会重复执行某段代码
递归一定要向已知方向递归
关于JAVA的一些基础知识
最新推荐文章于 2022-10-11 00:23:07 发布