• java面试题


    1 final finally finalize 的区别?
    final:是关键字,修饰属性,属性不可被改变;修饰方法,方法不可被重载;修饰类,该类不可以被继承。
    finally:是异常处理的一部分,总是会执行的,一般用来关闭资源的。
    finalize():是Object类的一个方法,finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

    2 java支持的数据类型, 及包装的数据类型有哪些?
    八种基本数据类型:char byte int float double boolean short long
    对应的包装数据类型 Char Byte Integer Float Double Boolean Short Long

    3 接口与抽象类的区别?
    1 抽象类里可以有构造方法,而接口内不能有构造方法。
    2 抽象类中可以有普通成员变量,而接口中不能有普通成员变量。
    3 抽象类中可以包含非抽象的普通方法,而接口中所有的方法必须是抽象的,不能有非抽象的普通方法。
    4 抽象类中的抽象方法的访问类型可以是public ,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
    5 抽象类中可以包含静态方法,接口内不能包含静态方法。
    6 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static类型,并且默认为public static类型。
    7一个类可以实现多个接口,但只能继承一个抽象类。


    4 java集合类的基本接口有哪些?
    List(数据重复 有序) Set Map(key唯一,) Collection

    5 hashMap与 hashTable的区别?
    都实现接口:Map。
    键值:HashTable的键值都不允许为空,HashMap的键值只允许其中一个为空。
    线程安全:HashTable线程安全,HashMap线程不安全。

    6 ArrayList 和LinkedList的区别?
    1 ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
    2 在对数据进行删除插入添加数据时,LinkedList较快。


    7 线程中sleep()与wait()方法的区别?
    sleep()方法导致了程序暂停执行指定的时间,让出其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。
    在调用sleep()方法的过程中,线程不会释放对象锁。
    而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法(或者notifyAll()方法)后本线程才进入对象锁定池准备
    获取对象锁进入运行状态。

    8 数组有length属性,string有length()方法。

    9 set集合元素怎样做到不重复的?
    主要使用equals和hashcode方法。

    10 error与exception的区别?
    error:与自己写的程序无关,表示由 JVM 所侦测到的无法预期的错误,这是不可捕捉到的,无法采取任何恢复的操作,只能显示错误信息。
    exception:与自己写的程序有关,表示有自己写的程序出错,这是可以捕捉,可是恢复的。

    11 构造器可不可以被继承?String类是被final修饰的。
    不可以,可以被重载。


    12 执行线程调用方法,线程状态?
    调用start()方法。
    线程状态::新建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Dead)。

    13 在java中重载和重写的区别?
    重载:方法名相同;参数列表不同(参数个数,类型);返回值类型可以相同也可以不同。
    重写:子类对父类方法的重写,方法名相同,参数列表相同,相同的返回类型。子类的访问修饰权限不能小于父类的。

    14 启动线程的方法有哪些?

       1 继承Thread类,重写run()方法。

       2 实现Runnable接口,实现run()方法。

    13 java中String,StringBuffer,StringBuilder的区别?

       String是不可变的字符序列;StringBuffer线程安全的可变字符序列;StringBuilder线程不安全的可变字符序列。

      一般来说效率:效率比较String<StringBuffer<StringBuilder。

     不考虑线程安全的话,StringBuilder会比StringBuffer效率高些。   

    13 MVC架构?
    12 多个线程使用同一个对象该怎么办?

    继续 杂问题 牛客网--java问答题





  • 相关阅读:
    oracle 插入timestamp
    ?--Porg.springframework.beans.MethodInvocationException: Property 'username' threw exception; nested exception is java.lang.NullPointerException
    把工程部署在tomcat的root路径下
    修改tomcat 启动45秒
    struts2 ,web.xml中配置为/*.action,运行报错Invalid <url-pattern> /*.action in filter mapp
    解决Tomcat 7遇到StackOverflowError的异常
    eclipse 安装svn插件
    WP8_ListBox的用法
    WP8_检测列表是否滑动
    WP8_访问ListBox中的Item项中的某个元素
  • 原文地址:https://www.cnblogs.com/hellokitty1/p/5069305.html
Copyright © 2020-2023  润新知