A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 人在旅途~东营 中级黑马   /  2015-6-9 23:28  /  143 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1. 多线程有几种实现方案,分别是哪几种?
        3种:
                方式1: 继承Thread类
                方式2: 实现Runnbale接口
                方式3: 线程池方式,通过submit()方法,调用Callable接口子类对象


2. 同步有几种方式,分别是什么?
        3种:
                方式1: 同步代码块
                        锁对象: 任意对象
                方式2: 同步方法
                        锁对象: this
                方式3: 同步静态方法
                        锁对象: 类名.class

3. 启动一个线程是run()还是start()?它们的区别?
        启动线程是start()方法.
       
        区别:
                run(): 用来指定线程对象要执行的任务
                start(): 启动线程,通过JVM底层调用当前线程对象的run()方法

4. sleep()和wait()方法的区别
        sleep(): 休眠
                要等待时间到达后,自动醒来
                释放CPU执行权,但不释放锁对象
               
        wait(): 等待
                可以等待时间到达后,自动醒来
                或者可以通过notify() 或 notifyAll()唤醒
                释放CPU执行权,同时释放锁对象
               
5. 为什么wait(),notify(),notifyAll()等方法都定义在Object类中
        因为锁对象可以是任意对象, 所以定义在Object类中       



创建型模式:简单工厂模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式,单例模式。(6个)
结构型模式:外观模式、适配器模式、代理模式、装饰模式、桥接模式、组合模式、享元模式。(7个)
行为型模式:模版方法模式、观察者模式、状态模式、职责链模式、命令模式、访问者模式、策略模式、备忘录模式、迭代器模式、解释器模式。(10个)


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马