-
Java基础篇
-
Java概念篇
-
面向对象的四大基本特性
抽象、继承、封装和多态是面向对象的基础。
抽象:提取现实世界中某事物的关键特性,为该事物构建模型的过程。对同一事物在不同的需求下,需要提取的特性可能不一样。得到的抽象模型中一般包含:属性(数据)和操作(行为)。这个抽象模型我们称之为类。对类进行实例化得到对象。
继承:对现有类的一种复用机制。一个类如果继承现有的类,则这个类将拥有被继承类的所有非私有特性(属性和操作)。这里指的继承包含:类的继承和接口的实现。
封装:封装可以使类具有独立性和隔离性;保证类的高内聚。只暴露给类外部或者子类必须的属性和操作。类封装的实现依赖类的修饰符(public、protected和private等)
多态:多态是在继承的基础上实现的。多态的三个要素:继承、重写和父类引用指向子类对象。父类引用指向不同的子类对象时,调用相同的方法,呈现出不同的行为;就是类多态特性。多态可以分成编译时多态和运行时多态。
-
什么是值传递和引用传递
值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量.
引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本, 并不是原对象本身 。
一般认为,java内的传递都是值传递. java中实例对象的传递是引用传递。
-
父类与子类之间的调用顺序(打印结果)
a) 父类静态代码块
b) 子类静态代码块
c) 父类构造方法
d) 子类构造方法
e) 子类普通方法
f) 重写父类的方法,则打印重写后的方法
-
死锁
互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。
请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。
非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。
循环等待条件(Circular wait):系统中若干进程组成环路,该环路中每个进程都在等待
-
-
Java操作符
-
算术操作符
-
加减乘除(+,-,*,/),求模 %
-
-
自动递增和递减
-
++/--
-
-
关系操作符
-
< , > , <= , = , != , ==
-
-
逻辑操作符
-
&& ,|| ,!
-
-
按位操作符
-
&,| ,~
-
-
移位操作符
-
<< , >> , >>>(不带符号,无论正负高位补0)
-
-
三元操作符
-
表达式 ? value1(真) :value2(假)
-
-
字符串操作符
-
+ / +=
-
-
java没有sizeof
-
-
控制执行流程
-
流程控制关键字
-
If/else while do/while for foreach return break/contonue switch/case
-
-
Switch作用类型
-
byte(Byte)、short(Short)、char(Character)、int(Integer)、Enum、String
-
-
-
初始化与清理
-
构造器初始化
-
方法重载
-
默认构造器
-
this关键字
-
终结清理和垃圾回收(finalize)
-
对象可能不被垃圾回收
垃圾回收不等于析构
垃圾回收只与内存有关
finalize()通常不能直接调用,需要在定义方法中调用,并且finalize的调用发生在内存不足的时候才会主动调用
-
-
成员初始化
-
数组初始化
-
枚举的初始化
-
-
访问权限控制
-
复用类
- 组合
- 继承
- 代理(Spring大量使用)
- 组合继承结合使用
- 组合和继承如何选择
-
(组合是has-a,继承是is-a),明确会有向上转型的情况才使用继承。
-
- protected关键字和继承的配合
- 向上转型
- final关键字
-
(修饰数据【变量和对象】、方法、类)
-
- 初始化的顺序。
-
(父类静态-子类静态-父类构造方法-子类构造方法-子类普通方法)
-
-
多态
- 多态的实现与继承有着密不可分的关系
-
运行时多态(重写),编译时多态(覆盖)
-
- 向上转型
-
(窄化-安全)
-
- 构造器多态
- (基类构造器-子类构造器)
- 协变返回类型
-
(导出类中被覆盖的方法可以返回基类的某种导出类型)
-
- 多态的实现与继承有着密不可分的关系
-
接口
-
内部类
-
集合(持有对象
-
异常
-
字符串
-
类型信息
-
泛型
-
数组
-
IO系统
-
并发
-
-
Java选择篇
-
Java编程篇
- 单例(饿汉/懒汉)
-
框架基础篇
-
数据库基础篇
-
数据库进阶篇
-
服务器基础篇
-
网络基础篇
-
大数据基础篇
-
人工智能基础篇
-
前端框架基础篇