重难点知识

面向对象的三大特征
1。封装性,把相关的数据封装成一个"类"组件
2。继承性,是子类自动共享父类属性的方法,这是类之间的一种关系。子类只有一个父类,一个父类可以有多个儿子。
3。多态,增强软件的灵活性和重用性

对象
1。对象的状态用来描述对象的基本特征
2。对象的行为用来描述对象的功能
3。对象的标识是指在内存中都有一个唯一的地址值来和其他对象区分开来
4。类是一类事物的抽象,对象是具体的实现

创建对象时,内存发生了什么事情?
(new出来的对象存到 堆 内存中,对象的局部变量和方法存到 栈 内存中)
1。在栈内存中开辟一块空间存放引用类型变量,并将应用类型变量压入栈底
2。在对内存中开辟一块空间存放引用类型
3。完成对象的初始化并赋予默认值
4。给初始化完毕的对象赋予一个唯一地址值
5。把地址值交给应用类型来保存
6。创建父类对象,指向子类引用是,如果父类和子类同时拥有同名属性或者方法时,调用的是父类的方法或属性

重写的规则
1。方法名相同,参数类型相同
2。子类返回类型小于等于父类方法返回类型,
3。子类抛出异常小于等于父类方法抛出异常,
4。子类访问权限大于等于父类方法访问权限。

流处理
FileInputStream/FileOutputStream
BufferedInputStream/BufferedOutputStream
FileReader/FileWriter
BufferedReader/BufferedWriter

异常
1。finally语句块中的代码是最后执行的,但是在return语句之前

ArrayList 和LinkedList
前者底层是数组,查询快,增删慢,因为要新建一个对象进行扩容后在赋值,可以通过下表直接查询到
后者底层是双向链表,查询慢,增删快,因为查询需要从头或者尾一步步寻找,增删只要更换相邻的两个头尾指针就好

Set接口、List接口、Queue接口继承Collection接口
AarryList类和LinkedList类实现了List接口
HashSet类、LinkedHashSet类和TreeSet类实现了Set接口

HashMap
HashMap可以存储null值和null键
加载因子 == 阈值 == 默认为0.75
加载因子太高,空间占用小,但是查询效率慢。
太低,频繁的进行扩容,刷新过于频繁,资源占用高。
初始容量为16,每格存的都是(hash)%n后最新的数据,旧数据变成链条的后节点,但是链条大于8,会自动转换成红黑二叉树

HashTable
不能存储null值和null键

线程的状态
三态模型,就绪状态–>执行–>就绪 循环,但是 执行–>阻塞,是特殊的状态。
执行–>就绪(执行完毕) 执行–>终止(线程释放) 执行–>阻塞(执行中有i/o请求的的时候,进入阻塞)
阻塞–>就绪(i/o请求完成后会进入就绪状态) 就绪–>执行(cpu调度)
只有就绪才能转到执行,别的状态都不能切换到执行
五态模型,比三台模型多了 创建状态和终止状态

线程的创建
1。继承Thread类并重写run()方法
2。实现Runnable接口并重写run()方法
3。创建线程池


1。悲观锁,乐观锁
2。synchronized 互斥锁(悲观锁,有罪假设),一个对象有一个锁标记,拿到了锁才能进原子操作,没有锁进入排队序列,称为锁池。
3。ReentrantLock 排他锁(悲观锁,有罪假设),一个线程进入锁,读或写,同时只能发生一个,减少吞吐量。
4。ReentrantReadWriteLock 读写锁(乐观锁,无罪假设),读操作和写操作分开,写锁是独占,读锁不是,多用于读多写少的场景。

注解
@Override: 用来标识重写方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值