关于JAVA的一些基础知识

本文深入讲解了Java中的关键概念,包括数组(动态与静态)、变量(成员与局部)、父类构造器、final修饰符的使用、set与map的关系、内存回收机制及优化技巧等。此外还介绍了基本数据类型、运算符、循环结构以及递归方法等内容。
  1. 关于Java数组
    数组可以分为动态数组,和静态数组。
    数组的变量只是一个引用变量,数组的对象保存在堆内存中的连续内存空间,数组引用保存在栈内存中,对数组的初始化只是在内存中创建一个数组对象。对于数组变量来说,不需要进行所谓的初始化
    引用变量实际上是一个指针,只要程序通过引用变量来访问属性或者调用方法,引用变量就会由他所引用的对象代替
    数组中的多维数组,实际上是一维数组

  2. Java变量
    Java中的变量大体分为成员变量和局部变量
    局部变量包括:1,形参:方法签名中定义的局部变量,2,方法中的局部变量 ,他随方法的消失而消失。 3,代码块中的局部变量。
    局部变量的作用时间很短,存储在栈内存中。
    在类体中定义的变量叫做成员变量 而成员变量有分为类成员和示例成员。static关键字把实例成员变为类成员,类成员在内存中只需要一块内存空间,实例变量则是创建一次分配一次。还有一个问题是在于static修饰的对象,在内存回收的时候叫做强引用,不管什么时候被强引用的对象都不会被内存回收

  3. 父类构造器
    只要在程序中创建Java对象,最先调用最顶层的父类的初始化操作。super显式调用父类构造器,根据传参来确定调用那个父类构造器
    this 显式的调用本类重载的构造器
    子类访问父类的类变量可以直接用父类名或者super来调用

  4. final修饰符
    final能够修饰变量:被修饰的变量被赋予初值后,不能进行更改
    final可以修饰方法,修饰的方法不能重写
    final 能够修饰类,被修饰的类不能派生子类
    而在final修饰的变量只能在三个位置指定初始值
    1,定义final实例变量时指定初始值
    2,在非静态初始化块中为final实例变量指定初始值
    3,在构造器中为final实例变量指定初始值

  5. set和map的关系
    set是一种集合元素无序,不可重复的集合,map是有多个key,value对组成的集合,但是map集合本质上是一个关联数组,map中的key具有set的特征,向map中添加数据时,使用put 方法

  6. Java的内存回收
    Java对于对象的引用分为:强引用,软引用,弱引用,虚引用。
    对象的状态转换 :创建后—可达状态——-可恢复状态——不可达状态
    强引用:创建对象,并把对象赋予给引用变量,被强引用的对于绝不会被回收
    软引用:当内存空间不够时,系统回收 softreference
    弱引用:不管内存是否足够总会被系统回收 weakreference
    虚引用:跟踪对象被垃圾回收的状态

  7. 内存管理的技巧
    1 尽量使用直接量
    2,尽量少使用static变量
    3,避免在循环中创建对象
    4,考虑使用软引用

  8. 基本数据类型
    整数类型(byte (一个字符)short(两个字符)int(四个字节)long(八个字节)
    字符类型(char (两个字节)
    浮点类型(float(四个字节) double(八个字节)
    布尔类型(Boolean(一位)
    其中一个字节占八位 byte 的表数范围:(-2)七次方–(2)七次方-1 其他同理

  9. Java的运算符
    1,赋值运算符
    += +=y 相当于 x=x+y
    -= x=x-y
    *= x=x*y
    。。。。
    2,逻辑运算符
    && 短路与 前面为false 后面就不在继续进行,必须两个都为true 才返回true
    & 不短路与 不会短路
    || 短路或 和短路与相似
    ! 非 如果操作数为true就返回false

  10. 循环结构
    while 先判断循环条件在直接循环体中的内容
    do while 先执行do 中的内容,在判断循环条件
    for 循环 对于多次循环,先执行外层循环,然后把内层循环执行,直到内层循环不在执行,放回外层循环。

  11. 递归方法
    一个方法体内调用他自身,被称为方法递归,方法递归包含了一种隐式循环他会重复执行某段代码
    递归一定要向已知方向递归

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值