这个是个人的错题复习总结,不对的地方也请大家多多评论,谢谢。
java中构造器、初始化块、静态初始化块的执行顺序。
1.静态初始化块>初始化块>构造器
2.父类>子类
综合顺序:父类静态初始化块
子类静态初始化块
父类初始化块
父类构造器
子类初始化块
子类构造器
ps:静态初始化块是在类第一次加载的时候就会进行初始化,然后在实例化类时,会先执行初始化块,再执行构造函数。
修饰符的作用范围:public>protected>default>private
public: 当前类,子类,当前包,其他包
protected:当前类,子类,当前包
default: 当前类,子类
private: 当前类
线程中,调用start()方法,是执行线程开启,这样才会并发执行,
调用run()方法,只是简单的顺序调用
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。
ps:String类型是java7开始支持的
DBMS中事务有四个特性:持久性,一致性,原子性,隔离性。
持久性------恢复管理子系统
一致性------并发控制子系统
原子性------完整性管理子系统
持久性------安全控制管理子系统
java包装类:Byte,Short,Integer,Long,Character,Double,Float,Boolean
Json对象:1.对象属性bixu必须加shua双引号
JSP 四大作用域: page
(作用范围最小)、request
、session
、application
(作用范围最大)。
- 存储在
application
对象中的属性可以被同一个WEB应用程序中的所有Servlet和JSP页面访问。(属性作用范围最大) - 存储在
session
对象中的属性可以被属于同一个会话(浏览器打开直到关闭称为一次会话,且在此期间会话不失效)的所有Servlet和JSP页面访问。 - 存储在
request
对象中的属性可以被属于同一个请求的所有Servlet和JSP页面访问(在有转发的情况下可以跨页面获取属性值),例如使用PageContext.forward和PageContext.include方法连接起来的多个Servlet和JSP页面。
存储在pageContext
对象中的属性仅可以被当前JSP页面的当前响应过程中调用的各个组件访问,例如,正在响应当前请求的JSP页面和它调用的各个自定义标签类
考察点:抽象类和接口
相同点:都不能被实例化,位于继承树的顶端,都包含抽象方法
不同点:1、设计目的:接口体现的一种规范,类似与整个系统的总纲,制订了系统各模块应该遵循的标准,因此接口不应该经常改变,一旦改变对整个系统是辐射性的。
抽象类作为多个子类的共同父类,体现的是一种模板式设计,可以当作系统实现过程中的中间产品,已经实现了系统部分功能。
2、使用不同:(1)接口只能包含抽象方法,抽象类可以包含普通方法。
(2)接口里不能定义静态方法,抽象类可以。
(3)接口只能定义静态常量属性不能定义普通属性,抽象类可以。
(4)接口不包含构造器,抽象类可以(不是用于创建对象而是让子类完成初始化)。
(5)接口里不能包含初始化块,抽象类完全可以。
(6)接口多继承,抽象类但继承(只能有一个直接父类)。
总结:接口所有方法全是抽象方法只能 public abstract修饰 (默认public abstract修饰 ),属性默认public static final修饰。
抽象类除了包含抽象方法外与普通类无区别。
先编译:javac xxxx.java.产生字节码文件(xxxx.class). 再运行字节码文件: java xxxx 此时不需要加后缀
集合中线程安全的类有:vector,stack,hashtable,enumeration,除此之外均是非线程安全的类与接口
方法的重写(override)两同两小一大原则:
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型,
子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限