java线程的创建方式有哪些?
① 继承 Thread 类并重写 run 方法。实现简单,但不符合里氏替换原则,不可以继承其他类。
② 实现 Runnable 接口并重写 run 方法。避免了单继承局限性,编程更加灵活,实现解耦。
③实现 Callable 接口并重写 call 方法。可以获取线程执行结果的返回值,并且可以抛出异常。
这个问题很常见
从浏览器输入URL到展示页面的全流程是怎么样的?
一棵具有n个结点的二叉树,若它有m个叶子结点,则该二叉树中度为1的结点个数是多少?
请实现KMP算法?
什么是 Cookie?它的作用是什么?
这个问题很常见