Java基础知识

JAVA的发展史

Java:由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。

Java是面向对象的编程语言,具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等

Java类的三大特性

封装:封装就是把同一类事物的共性(包括属性和方法)归到同一类中,方便使用
继承:一个具有公共属性和方法的公共类作为父类,继承父类的类叫做子类,具备父类的所有特性
多态:指允许不同子类型的对象对同一消息作出不同的响应

抽象类和接口的区别?

1.抽象类可以定义成员变量,接口的成员变量其实是常量
2.抽象类定义的成员修饰符可以是任意的,而接口的成员修饰符默认为public
3.抽象类可以定义构造器,接口不能定义构造器
4.抽象类可以有具体方法,接口没有具体方法
5.抽象类可以有静态方法,接口没有静态方法
6.一个类只能继承一个抽象类,一个类可以实现多个接口

获取一个类的类对象有哪些方式?

1.通过类本身获得对象
Class c=this.getClass();

2.通过类的静态属性class获得对象
Class c=Student.class;

3.通过Class类的静态方法forName获得对象
Class c=Class.forName(“com.gec.Student”);

4.通过子类的实例获取父类对象
Child c=new Child();
Class childClass=c.getClass();
Class parentClass=childClass.getSuperclass();

简述常用的排序方法及其原理?

1.冒泡排序:相邻两个比较,重复多轮
2.选择排序:每轮选择最小的数排在前面,后面多轮选择
3.快速排序:以某个数为基准,比基准数小的排前面,大的排后面

简单介绍你说了解的设计模式?

1.单例模式:保证一个类只有一个实例
优点:减少了内存的开销
缺点:如果要扩展功能,则要修改原来的代码,违背了开闭原则

2.工厂模式:用于封装和管理对象的创建
优点:扩展性高,如果想要增加一个产品,添加一个工厂类就行
缺点:如果工厂类出问题,整个系统会受影响。

拦截器和过滤器区别?

1.拦截器基于java反射机制,而过滤器基于函数回调
2.拦截器不依赖于servlet容器,而过滤器依赖于servlet容器
3.拦截器只能对action请求起作用,而过滤器则对几乎所有请求起作用
4.在action的生命周期里,拦截器可以被多次调用,而过滤器只能在容器初始化时被调用一次
5.拦截器可以获取IOC容器中的各个bean,而过滤器就不行

servlet执行流程?

创建servlet实例、初始化、服务、销毁

继承和实现接口的区别?

1.继承用extends关键字,接口用implements关键字
2.java类继承只能单继承,接口却可以多继承
3.接口继承接口时,可以不用实现父接口的方法。类实现接口时,必须实现接口的方法

同步和异步在开发中的区别?

1.同步是指发送一个请求需要等待返回,才能发送下一个请求。
2.异步是指发送一个请求不需要等待返回,随时可以发送另一个请求。

类的加载机制?

将一个.class的类文件的二进制数据读入到内存中,将其存放到方法区内,然后在堆区创建一个java.lang.class的对象,用来封装类在方法区的数据结构。

Java的基本数据类型?

数值型:
 整型:byte、short、int、long
 浮点型:float、double
字符型:char
布尔型:boolean

什么是反射?以及应用场景?

Java反射机制是在运行状态中,对于任意一个类,都能调用它的属性和方法,对于任意一个对象,都能够调用它的属性和方法。这种动态获取的信息以及动态调用对象的方法的功能称为java的反射机制。

场景:动态代理设计模式、Spring/Hibenate等框架

什么是序列化?什么是持久化?什么是ORM?

序列化:将对象转换为字节序列的过程

持久化:将数据保存到可永久保存的存储设备中(如磁盘)。持久化的作用就是内存中的对象存储到关系型数据库或者磁盘文件中。持久化就是将程序数据在持久态和瞬时态转换的一种机制,如文件IO和JDBC。

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

转发和重定向的区别

1.转发是服务端行为,重定向是客户端行为
2.转发请求次数为一次共享数据,重定向请求次数最少两次不共享数据
3.转发地址栏不会发生改变,重定向地址栏发生改变
4.转发不可以访问web应用外资源,而重定向可以

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值