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