java线程的创建方式有哪些?
① 继承 Thread 类并重写 run 方法。实现简单,但不符合里氏替换原则,不可以继承其他类。
② 实现 Runnable 接口并重写 run 方法。避免了单继承局限性,编程更加灵活,实现解耦。
③实现 Callable 接口并重写 call 方法。可以获取线程执行结果的返回值,并且可以抛出异常。
这个问题很常见
从浏览器输入URL到展示页面的全流程是怎么样的?
叉树前序遍历的递归和非递归实现?
北京有一条1公里长的街道,你认为一天能收多少钱的停车费?
基于TCP协议建立连接和结束连接的过程
这个问题很常见