240 发简信
IP属地:上海
  • 120
    Redis的发布与订阅

    什么是发布订阅 Redis发布订阅(pub/sub)是一种消息通讯模式,发送者(pub)发送消息,订阅者(sub)接收消息。 Redis客户端可以通过广播的方式将消息(mes...

  • 我的理解也是这样 因为跳过了一层Ext加载

    为什么打破双亲委派模型?

    双亲委派模型:如果一个类加载器收到了类加载请求,他并不会自己先去加载,而是把这个请求委托给父类加载器,父类加载器还存在父类加载器则进一步向上委托,依次递归,请求最终到达顶层启...

  • 我个人的理解就是:从表象来看,感觉是Bootstrap类加载器加载了底层类,但实际是Bootstrap通过线程上下文拿到App类加载器加载了底层类,实际还是底层类加载器加载底层类。逻辑上是符合双亲委派的,唯一有出入的就是,正常情况下Bootstrap在无法加载类时,应该先交给Ext,然后再给App。所以之所以说打破了双亲委派,是不是因为跳过了Ext。

  • 什么是死锁

    死锁:指多个线程互相占用对方资源的锁,又相互等待对方释放锁,使得这些线程一直处于阻塞状态,无法向下执行。 例如: 你带着你家孩子去公安局上户口,公安局说需要孩子的出生证明才行...

  • 同步和异步的区别

    同步 (Synchronous)方法一旦被调用就必须等待方法执行完才可以继续向下执行其他操作。 异步(Asynchronous)不关心方法的执行过程,触发要调用的方法后就继续...

  • interrupt与stop的区别

    stop是由系统强制终止执行,线程中断则是给目标线程发送一个中断信号,如果目标线程没有接收中断信号并结束线程,线程不会终止,具体是否退出或者执行其他逻辑由目标线程决定。

  • 线程中断

    什么是线程中断?线程中断即线程运行过程中被其他线程打断了。 线程中断的重要方法2.1 java.lang.Thread.interrupt()中断目标线程,给目标线程发一个中...

  • yield()方法和sleep()方法的区别

    yiekd和sleep都能暂停当前线程,sleep可以指定具体休眠时间。yield则依赖于CPU时间片划分 yield和sleep两个在暂停过程中如果已经持有对象锁则都不会释...

  • yield()方法的作用

    yield()是Thread方法的类,可以让掉当前CPU的时间片。使正在运行中的线程变成就绪状态并且重新竞争CPU调度权。他有可能获取到,也可能被其他线程获取到。yield(...

  • 120
    如何让一个线程休眠

    Thread.sleep() 上述方法不能清晰的看出线程休眠时长,可以使用: java.util.concurrent.TimeUnit包下的方法(推荐使用,更优雅简单)2....

  • 一个线程多次调用start()方法会发生什么?

    答:多次调用start()方法会抛出异常,java.lang.IllegalThreadStateException 因为第一次调用start()方法后,线程状态就从New变...

  • start()方法和run()方法的区别

    Thread类的start()方法被调用,说明线程处于就绪状态,没有运行,此时需等待获取cpu资源,获取到cpu资源后会执行run()方法 run()方法被称为线程体,包含了...

  • sleep()和wait()的区别

    sleep()方法是数据Thread类的;wait()方法属于Object类 sleep()在任何地方都可以使用,使用时需要捕获InterruptedException异常;...

  • 怎样理解wait()、notify()和notifyAll()

    wait():让持有该对象锁的线程等待notify():唤醒任意一个处于waiting状态的线程notifyAll():唤醒所有处于waiting状态的线程。 他们之间的关系...

  • 120
    join方法

    作用join()是线程类Thread的方法,官方给出的说明是:Waits for this thread to die等待这个线程结束,也就是说当前线程等待执行了join()...

  • 如何让三个线程按顺序执行?

    有T1、T2、T3三个线程,怎么让三个线程顺序执行?T1执行结束T2执行,T2执行结束T3执行。 join()方法 wait()方法不推荐,不灵活wait()的线程必须要先执...

  • 线程优先级的作用

    操作系统中,线程可以划分优先级,优先级较高的线程得到的CPU资源比较多,也就是说CPU优先执行优先级高的线程的概率高,但是不能保证优先级高就一定会先被执行。优先级一共分为1~...

  • 120
    线程有哪几种状态,是如何流转的?

    new(新建)线程刚被创建,还未启动。 runnable(就绪)线程调用了start()方法,此时线程已启动但未被运行,等待获取cpu资源。 running(运行)线程获取到...

  • JUC指什么?

    JUC是java.util.concurrent并发工具包的简称,是JDK1.5新增处理java多线程并发的工具包

  • 什么是守护线程

    守护线程定义与守护线程相对应就是用户线程,用户线程可以理解为系统工作的线程,而守护线程守护的就是用户线程。当用户线程全部执行完毕,守护线程才会跟着结束。也就是说守护线程必须伴...

个人介绍
程序员小白一枚,每天背一道面试题,和大家一起分享