前言 我们经常在JUC包下的ConcurrentHashMap、Atomic开头的原子操作类、AQS以及LockSupport里面看到Unsafe类的身影,这个Unsafe类究竟是干什么的,本文可以带着读者一探究竟。 Java和C++、C语言的一个重要区别,就是Java中我们无法直接操作一块内存区域,而在C++、C中却可以自己申请内存和释放内存。Unsafe类的设计,为我们提供了手动管理内存的能力。 如同它的名字一样,它被认定为不安全的。直接操纵内存,意味着实例化出来的对象不会受到JVM的管理,不会被GC,需要手动进行回收,容易出现内存泄露的问题。因此,官方并不建议我们在自己的应用程序中使用该