面试之java基础

  • 面向对象的基本特征
    • 封装:就是将客观事物封装成抽象的类,并且类和方法可以让可信的类和方法操作,对不可信的类和方法进行隐藏;
    • 继承:使用现有类的功能,无需重新编写代码基于现有类可以进行拓展的;
    • 多态:对一个实例的相同方法在不同情形下有不同的表现方法。
  • final, finally, finalize 的区别
    • final:final用于修饰类,成员变量和成员方法。用final修饰的类不能被继承(String,StringBuffer),其中所有的方法都不能被重写,所以不能使用final和abstract修饰同一个类,因为abstract类就是被子类继承并实现的。final修饰的方法不能被重写,但是子类可以调用父类中被final修饰的方法。final修饰的成员变量是不可变的,如果修饰的成员变量是基本类型,被初始化以后就不可以被改变。如果修饰的是引用类型,那么它只能指向初始化时指向的那个对象,不能再指向别的对象,但是对象当中的内容是允许改变的。
    • finally: Finally通常和try catch搭配使用,保证不管有没有发生异常,资源都能够被释放(释放连接、关闭IO流)。
    • Finalize是object类中的一个方法,子类可以重写finalize()方法实现对资源的回收。
  • int 和 Integer 有什么区别
    • 无论如何,Integer与new Integer不会相等。不会经历拆箱过程,new出来的对象存放在堆,而非new的Integer常量则在常量池(在方法区),他们的内存地址不一样,所以为false。
    • 两个都是非new出来的Integer,如果数在-128到127之间,则是true,否则为false。因为java在编译Integer i2 = 128的时候,被翻译成:Integer i2 = Integer.valueOf(128);而valueOf()函数会对-128到127之间的数进行缓存。
    • 两个都是new出来的,都为false。还是内存地址不一样。
    • int和Integer(无论new否)比,都为true,因为会把Integer自动拆箱为int再去比。
  • 重载和重写的区别
    • 列表内容:重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
    • 实现接口或者继承父类的方法。
  • HTTP 请求的 GET 与 POST 方式的区别
    • GET请求能够被缓存; GET请求会保存在浏览器的浏览记录中; 以GET请求的URL能够保存为浏览器书签; GET请求有长度限制;GET请求主要用以获取数据;
    • POST请求不能被缓存下来;POST请求不会保存在浏览器浏览记录中;以POST请求的URL无法保存为浏览器书签;以POST请求的URL无法保存为浏览器书签
  • session和cookies的区别
    • Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;
    • Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式
  • spring mvc原理
    • 用户发出请求,请求到达前端控制器(DispatcherServlet)
    • 前端控制器解析url,请求处理器映射器(handlerMapping),查找匹配的url,并返回一个执行链。
    • 前端控制器请求请求处理适配器(handlerAdapter)调用相应的handler并返回给前端控制器一个ModelAndView。
    • 前端请求控制器再请求viewerResolver对返回的逻辑视图解析。
    • 最后前端控制器将返回的视图进行渲染并把数据装入到request域,返回给用户。
  • 过滤器和拦截器的区别
    • 拦截器:用于在某个方法或是某个字段被访问前进行,在拦截之前或是之后进行某些操作。拦截是AOP的一种实现策略
    • 过滤器:过滤器是一个程序,它先于与之相关的servlet和jsp页面,运行在服务器上。
    • 两者的区别:
      • 拦截器基于Java反射机制,过滤器则是基于函数回掉。
      • 拦截器不依赖于servlet容器,而过滤器依赖
      • 拦截器只对action请求起作用,而过滤器对一切请求起作用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值