【刷题】
剑指 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异常
  • 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类实现的几种线程池类型(弊端)

图片说明