基本功

面向对象的特征

  • 封装:把客观事务抽象成实体类,成员变量私有化,同时对外提供get、set方法。
  • 继承:子类继承父类的特征和行为,使得子类对象具有父类的信息,同时可以扩展子类本身的特征和行为。
  • 多态:多态就是实现同一接口或者继承同一父类,使用不同的实现,而执行不同的操作。即父类引用指向子类对象。

final、finally、finalize 的区别

  • final:关键字,被它修饰的属性被定义为常量不可被修改,修饰类表示该类不可继承,修饰方法表示该方法不可被子类重写。
  • finally:和 try cache 使用,表示最终会被执行的代码块。
  • finalize:是 Object 的一个方法,当该对象垃圾回收之前,该方法会被调用,让此对象处理它生前最后的事情。

int 和 Integer 有什么区别

  • int 是基本数据类型,Integer 是 int 的包装类型。

重载和重写的区别

  • 重载:同一个类里面,相同方法名,参数类型、顺序、数量不同的多个方法。
  • 重写:子类中方法重写父类方法,其中子类方法名、参数类型、顺序、数量、返回值类型均与父类方法相同。

抽象类和接口有什么区别

  1. 抽象类被子类继承,接口被类实现。
  2. 抽象类可以有方法声明,也可以有方法实现,接口只有方法声明。
  3. 接口里定义的属性只能是公共的静态常量,抽象类中的是普通变量。

说说反射的用途及实现

  • 用途:运行时动态的查看对象所属类的方法、属性等。就像我们在使用 IDE时,输入一个对象或者类并想调用它的属性和方法时,一按 (“.”)点号,编译器就会自动列出她的属性或方法,这里就会用到反射。或者断点调试的时候查看类里面的属性或者方法时也用到了反射。
  • 反射最重要的用途就是开发各种通用框架。为了保证框架的通用性,他们可能根据配置文件加载不同的对象或类,调用不同的方法,这个时候就必须用到反射——运行时动态加载需要加载的对象。
  • 反射的实现:获取类的Class类型,进行类的各种操作,具体点这

说说自定义注解的场景及实现

  • 跟踪代码的依赖性,实现代替配置文件的功能。比较常见的是Spring等框架中的基于注解配置。
  • 注解一般分为三种:标记注解,一般注解,元注解

HTTP 请求的 GET 与 POST 方式的区别

  • Http报文层面:GET将请求信息放在URL,POST放在报文体中。而某些浏览器对GET请求是有长度限制的,POST请求报文体是没有长度限制的。
  • 数据库层面:GET符合幂等性和安全性,POST不符合。幂等性就是说对数据库的一次或者多次操作获得的结果是一样的,安全性是指不会对数据库中的数据造成修改,GET请求是进行查询操作的,因此不会改变数据库中原有数据。
  • 其他层面:GET可以被浏览器缓存和存储,POST不行。

Session 与 Cookie 区别

  • Cookie:由服务器发给客户端的特殊信息,以文本的形式存放在客户端,客户端每次向服务器发送请求时都会带上这些特殊信息,客户端再次请求时,会把Cookie回发至服务器中,服务器接收到后,会解析Cookie生成与客户端相对应的内容。
  • Session:服务器端的机制,在服务器上保存的信息,解析客户端请求并操作 session id,按需保存状态信息。

JDBC 流程

  • 加载JDBC驱动 -> 建立数据库连接 -> 查询语句 -> 封装结果集 -> 关闭连接

MVC 设计思想

  • 模型(Model)、视图(View)、控制器(Controller),前端发起请求到控制器,控制器查询后台数据返回Model数据,数据填充视图呈现给用户。

equals 与 == 的区别

  1. “==”只是个运算符号,“equals”是Object类型里的一个方法。
  2. “==”比较的是两个基本数据类型,如果比较两个对象,比较的是两个对象在内存空间中的地址。
  3. “equals”一般用来表示对象的值是否相等,比较两个自定义对象时一般会重写Object类的equals方法,如果不重写Object类的equals就是比较的两个对象的内存空间地址。
发布了112 篇原创文章 · 获赞 303 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_36221788/article/details/104895185