前言
这是我对一些java基础问题的整理,想到哪里写到哪里想到什么写什么,有什么不对的请指出谢谢。
1、什么是类加载器
负责把.class文件(存储的物理文件)加载在到内存中
2、什么是动态代理
动态代理就是,在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。在生成代理对象的过程中,目标对象不变,代理对象中的方法是目标对象方法的增强方法。可以理解为运行期间,对象中方法的动态拦截,在拦截方法的前后执行功能操作。
3、java的三大特性
(1)封装
封装就是将类的信息隐藏在类内部,不允许外部程序直接访问,而是通过该类的方法实现对隐藏信息的操作和访问。
(2)继承
继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力,允许连续继承。
继承的特性:
a.继承关系是传递的。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。
b.继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。
c.继承提供了软件复用功能,能减小代码和数据的冗余度,大大增加程序的重用性。
d.继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。
(3)多态
多态指的是对象的多种形态,即一个事物的多种表现形态,多态有两种:引用多态和方法多态。从一定角度来看,封装和继承几乎都是为多态而准备的。
多态存在的三个必要条件:1,要有继承;2,要有重写;3,父类引用指向子类对象。
4、spring框架的两大核心
(1)控制反转loc
Ioc:简单来说就是将对象object 的创建的权利及对象的生命周期的管理过程交由spring框架来处理。从此再开发过程中不需要关注对象的创建和生命周期的管理,而是在需要的时候由spring框架提供,这个由spring框架管理对象创建和生命周期的机制称之为控制反转
DI:依赖注入,在创建对象的过程中spring可以依据对象的关系,自动把其他对象注入(无需创建对象,直接拿着使用)
(2)面向切面编程AOP
通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
5、什么是反射机制
Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象