JAVA后台开发基础知识

  1. 面向对象的特征
    抽象 继承 封装 多态性
  1. final, finally, finalize的区别
  • final 用于声明属性,方法和类, 分别表示属性不可变, 方法不可覆盖, 类不可继承.
  • finally 是异常处理语句结构的一部分,表示总是执行.
  • finalize 是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等. JVM不保证此方法总被调用.
  1. int 和 Integer 有什么区别
    Integer 的缓存(-128 至 127)
    拆箱问题
    blog.youkuaiyun.com/login_sonat…
  1. 重载和重写的区别
    override(重写)
    1、方法名、参数、返回值相同。
    2、子类方法不能缩小父类方法的访问权限。
    3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
    4、存在于父类和子类之间。
    5、方法被定义为final不能被重写。
    overload(重载)
    1、参数类型、个数、顺序至少有一个不相同。
    2、不能重载只有返回值不同的方法名。
    3、存在于父类和子类、同类中。
  1. 抽象类和接口有什么区别

    抽象类是用来捕捉子类的通用特性的。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。
    接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法
    www.importnew.com/12399.html
  1. 说说反射的用途及实现
  • 确定一个对象的类
  • 取出类的modifiers,数据成员,方法,构造器,和超类.
  • 找出某个接口里定义的常量和方法说明.
  • 创建一个类实例,这个实例在运行时刻才有名字(运行时间才生成的对象).
  • 取得和设定对象数据成员的值,如果数据成员名是运行时刻确定的也能做到.
  • 在运行时刻调用动态对象的方法.
  • 创建数组,数组大小和类型在运行时刻才确定,也能更改数组成员的值.
    blog.youkuaiyun.com/wangzff/art…
  1. 说说自定义注解的场景及实现
    我们可以使用自定义注解,实现ORM,即对象/关系的映射。通过自定义注解,定义对象对应数据表的属性,如表名,表字段等。

    Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以‘@注解名’在代码中存在的,根据注解参数的个数,我们可以将注解分为:标记注解、单值注解、完整注解三类。它们都不会直接影响到程序的语义,只是作为注解(标识)存在,我们可以通过反射机制编程实现对这些元数据(用来描述数据的数据)的访问。另外,你可以在编译时选择代码里的注解是否只存在于源代码级,或者它也能在class文件中出现。

    我们可以使用自定义注解,实现ORM,即对象/关系的映射。通过自定义注解,定义对象对应数据表的属性,如表名,表字段等。
  1. HTTP请求的GET与POST方式的区别
    1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。

    (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。
    注意:这里安全的含义仅仅是指是非修改信息。

    (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。

    (3).GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密

    2.根据HTTP规范,POST表示可能修改变服务器上的资源的请求

    (1).POST把提交的数据则放置在是HTTP包的包体中。
  1. session 与 cookie 区别
    www.zhihu.com/question/19…
  1. 关于 get 和 post 数据报长度

    (1).首先是"GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。

    注意这是限制是整个URL长度,而不仅仅是你的参数值数据长度。

    (2).理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,说“POST数据量存在80K/100K的大小限制”是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。
  1. session 分布式处理
    (1).粘性session
    (2).服务器session复制
    (3).session共享机制(集中式管理)
    www.jianshu.com/p/3dd4e06bd…
  1. JDBC 流程
    (1).注册驱动
    Class.forName("oracle.jdbc.OracleDriver");
    (2).连接数据库
    String url = "jdbc:...";
    String user = "XXX";
    String password = "XXX";
    Connection conn = DriverManager.getConnection(url,name,password);
    (3).创建搬运工statement
    Statement state = conn.createStatement();
    (4).搬运数据,执行SQL语句
    String sql = "select id,name from t_car";
    ResultSet rs = state.executeQuery(sql);
    (5).处理结果集
    while(rs.next()){
    int id = rs.getInt("id");
    String name = rs.getString(2);
    System.out.println(id+" "+name);
    }
    (6).关闭连接
  1. MVC设计思想和优缺点 blog.youkuaiyun.com/daijin88888…
  1. equals 与 == 的区别 == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。
    equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equals方法返回的却是==的判断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值