***基础语法部分记录
方法使用注意事项
方法重载
java内存分类
内存使用举例
数组概念
数组未初始化的空指针异常
数组反转
***面向对象部分记录
一个对象的内存图
多对象执行
入栈/压栈:后进先出,后调用的方法先执行并完成后出栈,再继续进行下一个方法调用,都完成后main方法出栈。
构造方法
关键字-private
关键字-this
匿名对象
集合存储基本数据
从jdk1.5+开始,支持自动装箱,自动拆箱
自动装箱:基本类型-->包装类型
自动拆箱:包装类型-->基本类型
***字符串的创建
==的值比较
字符串定义的存储区别
jdk1.7开始,字符串常量池在堆中。双引号直接建的字符串对象,存储在堆里的字符串常量池里,本质是字节数组,通过字符数组创建的字符串对象,在堆中存储,看似一样的内容,但是地址不同。
static关键字
静态内存图
Arrays数组工具类
继承过程中super和this
构造方法中super/this不能同时存在,指当前构造方法,不影响其它重载方法里的存在。
抽象类和抽象方法
接口定义
接口小结
继承:类与类继承,接口与接口继承和实现
多态:父类引用指向子类或者接口指向实现类
多态成员变量/方法
多态使用场景
向上/下转型
关键字-final
成员内部类
匿名内部类
==基本类型比较的是数值,基本类型不支持equals的使用
==基本类型比较的是数值,基本类型不支持equals的使用
null不能调用方法
Date类
基本类型包装类
泛型通配符
泛型的上限限定:?extends E 代表使用的泛型只能是E类型的子类/本身
泛型的下限限定:?super E 代表使用的泛型只能是E类型的父类/本身
数据结构
1.栈--先进后出
2.队列--先进先出
栈和队列
3.数组--查询快,增删慢
查询快(数组地址连续,通过首地址可以找到数组,通过数组的索引可以快速查找某个元素)
增删慢:数组长度固定,想增删一个新数组,必须创建一个新数组,把源数组的数据复制过来
数组结构
4.链表--查询慢,增删快
链表
5.二叉树--红黑树趋近于平衡二叉树查询非常快
二叉树
哈希值
HashSet集合存储数据结构
collection--单列集合,collection<E>,一个泛型
map--双列集合,map<K,V>,两个泛型
异常产生的原因
自定义异常时,继承的是RuntimeException,则调用方法无需抛出异常,运行时虚拟机会自行处理;若是继承Exception,编译期异常,则调用方需要抛出异常或者try...catch处理











网友评论