面试-----基础篇

1.1.1 final finally finalize 的区别

1.final 修饰符(关键字)如果一个类被声明了final ,意味着它不能在派生出新的子类,不能作为父类被继承。因此一个类不能即声明了abstract的,又被声明final的。将变量或方法声明final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,在后面的引用中只能读,不能修改。被声明的final方法也同样只能使用,不能被重写。
2.finally 在异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子句就会被执行,然后控制就会进入finally块(如果有的话)
3.finalize 方法名。java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此所有的类都继承了它,子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。

1.1.2 int 和 Integer 有什么区别

int是基本数据类型;Integer是其包装类,注意是一个类。
为什么要提供包装类呢?

  • 一是为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化,比如int转化为String;
 int a = 0;
 String str = Integer.toString(a);

在java包装类中,比较多的用途是用于各种数据类型之间的转化中。

1.1.3 重写和重载的区别

  • override (重写)
    1.方法名、参数、返回值相同 2.子类方法不能缩小父类方法的访问权限 3.子类方法不能抛出比父类方法更多的异常 4.存在于父类和子类之间。 5.方法被定义为final不能被重写。
  • overload(重载)
    1.参数类型、个数、顺序至少有一个不相同。2.不能重载只有返回值不同的方法名。 3.存在于父类和子类、同类中

1.1.4 抽象类和接口有什么区别

  • 接口是公开的,里面不能有私有方法或者变量,用于让别人使用的,而抽象类是可以有私有的方法或变量的;
  • 另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以选择性的重写用到的方法,一般应用里,最顶级的是接口,然后是抽象类,最后才到具体的实现类;
  • 还有,接口可以实现多重继承,而类只能继承一个超类,但可以通过继承多个接口实现多重继承;
  • 几口还有标识和数据共享

1.1.5说说反射的用途及实现

java反射机制主要提供以下功能:在运行时构造一个类的对象;判断一个类所具有的成员变量和方法;调用一个对象的方法;生成动态代理。反射的最大应用就是框架。
java反射的主要功能:

  • 确定一个对象的类
  • 取出类的modifiers,数据成员,方法,构造器,和超类。
  • 找出某个接口里定义的常量和方法说明
  • 创建一个类实例,这个实例在运行时才有名字(运行时间才生成对象)
  • 取得和设定对象数据成员值,如果数据成员名试运行时刻确定的也能得到
  • 在运行时刻调用动态对象的方法
  • 创建数组,数组大小和类型在运行时刻才确定,也能更改数组成员值
    反射还有一个问题不得不说,就是性能问题,大量使用反射系统性能大大折扣。

1.1.6HTTP请求的GET 于 POST 方式的区别

get方法会把名值对追加在请求的URL后面,因为URL对字符数目有限制,进而限制了用在客户端请求的参数值的数目。并且请求中的参数值是可见的,因此,敏感信息不能用这种方式传递;
post方法通过把请求参数值放在请求体中来克服get方法的限制,因此,可以发送的参数的数目是没有限制的。最后,通过post请求传递敏感信息对外部客户端是不可见的。

1.1.7 Session和cookie区别

cookie是web服务器发送给浏览器的一块信息。浏览器会在本地文件中给每一个Web服务器储存cookie。以后浏览器在特定的web服务器发请求的时候,同时会发送所有为该服务器储存的cookie。下面列出session和cookie是区别:
无论是客户端浏览器怎么设置,session都应该正常工作。客户端可以选择禁用cookie,但是,session 仍然能够工作,因为客户端无法禁用服务端的session。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值