java线程的创建方式有哪些?
① 继承 Thread 类并重写 run 方法。实现简单,但不符合里氏替换原则,不可以继承其他类。
② 实现 Runnable 接口并重写 run 方法。避免了单继承局限性,编程更加灵活,实现解耦。
③实现 Callable 接口并重写 call 方法。可以获取线程执行结果的返回值,并且可以抛出异常。
这个问题很常见
使用js实现数组的冒泡排序
B2C网站上促销价格出错了,如何做危机公关?
什么是 Cookie?它的作用是什么?
ArrayList和LinkedList的区别,以及各自是怎么实现扩容的?
这个问题很常见