240 发简信
IP属地:北京
  • 虚拟机的类加载

    一.什么时候加载 1.new一个对象,一个类的静态函数或者字段被调用 2.反射调用 3.当一个类的子类被加载,其父类首先会被加载 4.一个类的m...

  • Resize,w 360,h 240
    JVM垃圾回收

    一.什么样的需要回收 1.计数法:循环引用的问题不好解决 2.根搜索算法,根节点无法触达的对象,将被回收 - 栈: 虚拟机...

  • 第二章 虚拟机对象

    一、Java虚拟机对象的创建 遇到new指令时: 1. 在方法区中看该类是否已经被加载,看类是否被加载、解析和初始化,如果没有,则先加载这个类。...

  • LockSupport

    作用是阻塞当前线程 synchronized,wait(),notify() 实现了线程的通信和同步; Lock.lock(),Lock.unL...

  • Lock接口

    1.实现原理 AQS,队列同步器。通过volitile变量state和CAS实现的一个双端队列,子类需要重写tryAcquire方法 AQS获取...

  • ThreadLocal

    每一个线程都有一个ThreadLocalMap的存储结构,一个ThreadLocal变量都会被每个线程复制一份线程私有的变量,通过Set(Obj...

  • 锁的升级和比较

    一共有四种,无状态锁,偏向锁,轻量级锁,重量级锁。锁可以升级,但不能降级。 1.偏向锁。 当一个线程访问一个对象的时候,会将自己的线程...

  • Volitile工作原理

    Volitile修饰的变量会被加一个lock指令,这个指令做两件事情, 1.在变量改变之后,会立刻从cpu高速缓存写到内存 2.会通知其他cpu...

  • Advice接口

    ### 1.Advice接口 ![image](https://note.youdao.com/yws/public/resource/9736...