• JAVASE面试题


    1.抽象类和接口的区别
    抽象类重在对象的本质,接口则是对象的附加行为
    抽象类是按需实现 ,接口必须全部实现
    一个类只能继承一个抽象类 ,但是能多实现接口
    抽象类中能定义普通的方法 ,接口中不能定义普通的方法
    应用的场景 :
    抽象类:
    在设计类时,如果有些方法我们能确定,而有些方法不能确定,这时候我们就可以把该类声明成抽象类
    接口: 我们在定义相互调用规则时,可以使用接口。面向接口进行编程的明显好处,就是能极大降低软件系统的相互耦合性,接口的定义者按照接口进行调用,而实现者去实现接口

    2.list , set, map 的区别,HashMap和Hashtble
    list是有顺序,能重复 ,有索引
    set是没有顺序, 不能重复 ,无索引
    map 是键值对的方式存储

    HashMap效率高,线程不安全
    HashTabe效率低 , 线程安全
    ①ArrayList:底层是数组结构,查询快,增删慢,不同步。
    ②LinkedList:底层是链表结构,增删快,查询慢,不同步

    3 ,值传递 和引用传递
    值传递 ,是拷贝了一份 ,原来的数据不会改变
    引用传递 , 是共用一份 ,原来的数据 会改变
    4 ,Collection和Collections的区别:
    Collections:java.util下的工具类,实现对集合的查找、排序、替换、线程安全化等操作。
    Collection:是java.util下的接口,是各种单列集合的父接口,实现此接口的有List和Set集合,存储对象并对其进行操作。

    5,创建多线程方式
    方式一:继承Thread
    方式二:实现Runnable

    6 ,进程和线程的区别
    线程是进程的一个执行单元 ,也是进程调度的实体,一个进程,可以有多个线程

    7 ,堆和再的区别
    堆存放的是对象,
    在存放的是变量 ,

    8、线程的同步:
    同步代码块:synchronized(对象){},将需要同步的代码放在大括号中,括号中的对象即为锁。
    同步函数:放于函数上,修饰符之后,返回类型之前。

    9、wait和sleep的区别:(执行权和锁区分)
    wait:
    可指定等待的时间,不指定须由notify或notifyAll唤醒。
    线程会释放锁。(基类是Object)
    sleep:
    必须制定睡眠的时间,时间到了自动处于临时(阻塞)状态。
    仍持有锁,不会释放执行权。(基类是Thread)

  • 相关阅读:
    软件测试
    python学习之路
    好用的在线画图工具processon
    spring-boot集成dubbo
    公众号开放,关注软件开发过程中的哪些坑
    crontab 中curl命令无法正常执行
    近一月翻阅资料小结
    nginx+tomat8负载后,利用redis实现tomcat8的session共享
    centos7 安装nginx
    centos 上安装redis 3.0.5
  • 原文地址:https://www.cnblogs.com/java-g/p/4131808.html
Copyright © 2020-2023  润新知