JAVA基础

java基础知识

封装隐藏内部功能具体实现。

继承从它的父类继承所以属性和方法。

多态同一动作作用于不同的对象,所产生的不同行为。

StringBuffer 线程安全 效率低

StringBuilder 线程不安全 效率高

@Overwrite

  1. 参数列表与被重写方法的参数列表必须完全相同。
  2. 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。
  3. 访问权限不能比父类中被重写的方法的访问权限更低。例如如果父类的一个方法被声明为 public,那么在子类中重写该方法就不能声明为 protected。
  4. 父类的成员方法只能被它的子类重写。
  5. 声明为 final 的方法不能被重写。
  6. 声明为 static 的方法不能被重写,但是能够被再次声明。
  7. 子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为 private 和 final 的方法。
  8. 子类和父类不在同一个包中,那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。
  9. 重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。
  10. 构造方法不能被重写。
  11. 如果不能继承一个类,则不能重写该类的方法。

@Overload

  1. 被重载的方法必须改变参数列表(参数个数或类型不一样);
  2. 被重载的方法可以改变返回类型;
  3. 被重载的方法可以改变访问修饰符;
  4. 被重载的方法可以声明新的或更广的检查异常;
  5. 方法能够在同一个类中或者在一个子类中被重载。
  6. 无法以返回值类型作为重载函数的区分标准。

String底层是由数组实现的,数组长度不可变。

抽象类和接口

抽象类

  1. 有构造方法。
  2. 含有抽象方法的类。
  3. 必须声明为抽象类。
  4. 不能被实例化。
  5. abstract不能修饰属性。
  6. 只有方法声明没有方法实现。

接口

  1. 方法都是抽象方法。
  2. 没有方法体。
  3. 实现接口,必须实现接口的所有方法。

区别

  1. 抽象类有构造器,接口没有。
  2. 关键字不同。
  3. 抽象类可以有非抽象方法,接口只能有抽象方法。
  4. 抽象类可以定义static方法,接口不行。

实例变量new对象在堆中开辟内存空间。

局部变量在栈中开辟内存。

数组和链表的区别

  1. 存储位置数组逻辑上相邻的元素物理存储位置也相邻,而链表不一定。
  2. 内存空间上数组是连续一段的内存空间,链表存放的内存空间可以是连续的,也可以不连续。
  3. 数组长度不可变,链表可变。
  4. 数组访问性强,查找速度快。

并发A事情 》B事情 》A事情。

并行A事情 》A、B事情同事进行。

线程的生命周期

新建-就绪-运行-阻塞-死亡

进程拥有独立的堆栈空间和数据断,系统开销大。进程之间独立、安全性高、有独立空间。

线程线程拥有独立的堆栈空间,彼此之间使用相同地址空间,开销小。

线程是一个进程中的不同执行路径,一个死亡等于整个进程死亡。

反射对于任意一个对象,都能调用它的人一方法和属性。

序列化把对象转换为容易传输的格式过程。

事务是控制并发的基本单位。

原子性事务做为一个整体被执行,包含其中对数据库的操作,要么全部执行,要么都不执行。

一致性事务应确保数据库的状态从一个一致状态转变为另一个状态。

隔离性多个事务并发执行时,一个事务的执行不影响其他事务。

持久性已被提交的事务对数据库的修改应永久被保存在数据库中。

存储过程由SQL语句组成的代码块。

转发(Forward)和重定向(Redirect)的区别

  1. 转发是服务器行为、重定向是客户端行为。
  2. 转发是把请求url里面的内容读取出来,重定向是请求新的url,地址栏显示新的地址。

ORM使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

JVM加载机制

记载-验证-准备-解析-初始化

Java线程实现

  1. 继承Thread类,本质实现Runnable接口。
  2. 实现Runnable接口。

Spring IOC原理

Spring通过一个配置文件描述Bean和Bean之间的依赖关系,利用Java的反射功能实例化Bean并简历Bean之间的依赖关系。

JAVA工厂模式

  1. 实例化对象,用工厂方法代替new操作。
  2. 将实现类,创建对象统一管理和控制,从而将调用者跟我们的实现类解耦。

Spring MVC模型(Model)-视图(View)-控制器(Controller)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值