zoukankan      html  css  js  c++  java
  • Java面试题(五)线程及集合补充

    1,一个进程就是一个应用程序。一个线程就是一个进程中运行的最小单元。
     一个进程可以包括多线程。
     餐馆(进程)。
     主线程。
     服务员(线程)
     服务员(线程)
     服务员(线程)
     服务员(线程)
     加塞,让步,守护,睡觉,打断,设置优先级。。
    2,线程的生命周期?
    新建,就绪,运行,阻塞,死亡

    3,线程创建有几种方式?
    答:三种。extends Thread,implements Runnable,线程池。
    继承是否要满足一种关系?is-a关系?
    子类 is a 父类。
    4,不同线程创建对应的start方法。
      a继承Thread,再直接start.
     
      b实现Runnable时一定在类中编写了run方法.简单说就是定义线程要执行的任务
      将这个任务放在Thread的构造中。再start
     
     场景:服务器,游戏。

    5,java中wait和sleep方法的不同?
    答:等待时wait会释放锁,而sleep一直持有锁。
     Wait通常被用于线程间交互,sleep通常被用于暂停执行
    6,对象.run是否会启动线程?
       线程的start方法,才可以启动线程,让线程就绪状态。
    7,synchronized关键字。
    用来给对象和方法或者代码块加锁,同一时刻最多只有一个线程执行这段代码。
    8,final。三不。
    9,StringBuilder,StringBuffer[synchronized],区别?
    StringBuilder效率更高,线程不安全。
    10,HashMap就是一个哈希表或者散列表,
    散列表其实就是一个数组。数组中的每一个元素是一个单链表
    --可以理解索引就是key计算的哈希值
    11,对象的hashcode相同,equals相同吗?不一定。
         equals相同,hashcode肯定相同。
    12,用过哪些数组?3 普通定义数组,ArrayList,(HashMap的数组结构)
  • 相关阅读:
    如果使用EntityFramework6链接Mysql
    MongoDB联合查询 -摘自网络
    “TableDetails”中列“IsPrimaryKey”的值为DBNull. Mysql EntityFramework
    使用NPOI 转换Excel TO HTML (导出格式不如原生Excel好看)
    如何使用ODBC搭配dsn链接数据库
    Ubuntu16.04安装配置sublime text3
    ubuntu16.04编译安装php7.2
    ubuntu16.04安装flash player与谷歌浏览器(chrome)
    ubuntu16编译安装mysql5.7
    phpstorm+wamp+xdebug配置php调试环境
  • 原文地址:https://www.cnblogs.com/lovejoying/p/9606530.html
Copyright © 2011-2022 走看看