zoukankan      html  css  js  c++  java
  • Java面试题

    1、StringBulider和StringBuffer

    (1)String是不可变类(字符串常量final),修改会创建新的对象;StringBulider和StringBuffer是可变类(字符串变量),任何对它所指代的字符串的改变都不会产生新的对象

    (2)StringBuffer支持并发,线程安全;StringBulider不支持并发,线程不安全

    (3)String适合少量字符串操作;StringBuffer适用于单线程下在字符缓冲区进行大量操作;StringBuffer适用多线程下在字符缓冲区进行大量操作

    StringBulider > StringBuffer > String

    2、ArrayList、Vector、 LinkedList

    ArrayList和Vector都使用数组方式存储数据,数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以查询数据快而插入数据慢;Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差;而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度快而查询速度慢

    3、HashMap和Hashtable

    HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口,区别:

    (1)HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable

    (2)HashMap允许将null作为一个entry的key或者value,而Hashtable不允许

    (3)HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解

    (4)Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现

    (5)最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步

    4、sleep() 和 wait() 

    sleep()是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁

    wait()是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态

    5、重载Overload和重写Override

    多态性体现

    (1)重载同一类中多个方法的方法名相同,参数类型和个数不相同

    (2)重写子类中方法名和参数与父类中相同,覆盖

    6、堆(heap)和栈(stack)

    栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理;堆是栈的一个组成元素。

    栈由编译器自动分配释放 ,存放函数的参数值,局部变量的值等;堆一般由程序员分配释放, 若程序员不释放

    7、forward 和redirect

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,

    所以它的地址栏中还是原来的地址。

    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。

    8、

    有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
  • 相关阅读:
    软件工程
    数字图像处理
    408笔记完
    408笔记完整考点篇
    解决CGLib动态代理测试不通过-Unable to load cache item
    支付宝支付与微信支付-系统化视频教程
    支付宝支付java版实战(含视频讲解)
    微信支付java版(含视频讲解)
    Java实现微信登录(网页授权)
    面试官问:实际生产中如何快速的测试接口(开发环境、测试环境、生产环境)
  • 原文地址:https://www.cnblogs.com/1989guojie/p/8072582.html
Copyright © 2011-2022 走看看