笔记:java基础复习

1.java内存

  • 寄存器内存:是一块较小的内存空间;线程私有;
  • 本地方法区:也叫Native Method,是java调用非java代码的接口,例如去调用底层c语言的库;
  • 栈:每个线程包含一个栈区,例如main最先执行最后结束那样,先进后出原则,存储局部变量;
  • 方法区:线程共享,用于存储已经被虚拟机加载的类信息,常量,静态常量等,
  • 堆:heap,一个JVM只有一个;堆内存大小:是可以调节的;被所有线程共享的一块内存区域,在虚拟机启动时创建,唯一目的就是存放对象实例, java堆是垃圾收集器管理的主要区域,因此很多时候也被称为GC堆。

2.对象和过程的区别

  • 对象是属性和方法的封装;将功能封装到对象里,强调的是具备某功能的对象。面向对象思想的基础是将相关的数据和方法放在一起,组合成一种新的复合数据类型
  • 过程就是函数;就是写方法;**强调的是功能行为,一种过程,**先干啥,再干啥

3.创建对象的过程

  • 1.将对象加载进方法区;
  • 2.在栈中开辟main方法的存储空间;分配一个变量;
  • 3.在堆中开辟一个实例对象;
  • 4.属性分配空间,初始化,构造初始化等,

4.静态代码块、构造代码块、构造函数、普通代码块执行顺序

构造代码块:直接在类中定义且没有加static关键字的代码块称为{}构造代码块。

首先静态代码块–>main方法–>构造代码块–>无参构造–>普通代码块

5.javac.exe和java.exe区别:

  • javac.exe是编译程序,将源代码编译生成二进制文件.class文件。
  • java.exe是执行程序,将.class文件执行,得到结果。

6.&和&&,|和||区别

  • &无论左边结果是什么,右边都参与运算。&&,只要一边不通过,整体就不通过
  • |两边都运算。||,假如左边为true,则右边就不参与运算了。

7.数组表现形式

  • 元素类型[] 变量名 = new 元素类型[元素的个数];
  • 元素类型[] 变量名 = {元素1,元素2…};
  • 元素类型[] 变量名 = new 元素类型[]{元素1,元素2…};

8.父类子类顺序

父类静态代码块–>子类静态代码块–>父类构造代码块–>父类构造函数–>子类构造代码块–>子类构造函数

9.顶级父类Object

  • Object类是所有类的直接或间接父类
  • boolean equals(Object obj):比较两个对象是否相等,其实内部比较的是两个对象的地址
  • toString():将对象变为字符串
  • getClass():获取任意对象运行时的所属字节码文件对象。
  • hashCode():返回该对象的哈希码值,支持此方法是为了提高哈希表的性能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值