【刷题】
剑指 Offer 63 股票的最大利润
剑指 Offer 64 求1+2+…+n
剑指 Offer 65 不用加减乘除做加法
剑指 Offer 66 构建乘积数组
剑指 Offer 67 把字符串转换成整数
【多线程】
- 线程概念/生命周期
- 线程创建方式(3)
- 守护线程(长连接心态检测)
- sleep方法,不释放资源
- join方法(main调用了t.join就是:main要等到t线程执行完毕后再执行main)
- interrupt()方法只是改变中断状态,不会中断一个正在运行的线程(结合)
- 如果线程处于sleep, wait, join 等状态,那么线程将立即退出被阻塞状态,并抛出一个
InterruptedException异常
- 如果线程处于sleep, wait, join 等状态,那么线程将立即退出被阻塞状态,并抛出一个
- interrupted和isinterrupted区别(静态与非静态)
- 线程安全问题(synchronized同步方法/同步代码块/锁机制Lock(ReentrantLock))
- synchronized锁非静态方法[对象锁] /锁静态方法【类锁】
- 重入锁(在 java 内部,同一线程在调用自己类中其他 synchronized 方法/块或调用父类的 synchronized 方法/块都不会阻碍该线程的执行。就是说同一线程对同一个对象锁是可重入的,而且同一个线程可以获取同一把锁多次,也就是可以多次重入。)
- wait notify notifyAll
- Java乐观锁机制,CAS思想(atomic包)
- synchronized底层原理(vs ReenTrantLock)
- 锁优化、自旋锁、锁消除
- Java内存模型(JMM)
- volatile作用,底层实现
- AQS思想(lock, CountDownLatch、CyclicBarrier、Semaphore)
- 线程池构造函数7大参数,线程处理任务过程(5),线程拒绝策略(4)
- Execuors类实现的几种线程池类型(弊端)