zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    【前端_js】前端跨网络异步获取资源——fetch()
    【前端_React】React小书
    【前端_js】JQuery DataTables插件的使用
    【前端_js】解决ajax跨域请求数据
    event.srcElement在火狐(FireFox)下的兼容问题。搜索框获得焦点时默认文字变化
    ASP.NET MVC 上传大文件时404
    使用Zen coding高效编写html代码
    CSS 去除列表项li前面的小圆点
    谈谈CSS的布局,display、position、float
    JS引用类型之——RegExp
  • 原文地址:https://www.cnblogs.com/java-g/p/4131808.html
Copyright © 2011-2022 走看看