18_类的命名空间与卸载详解及jvisualvm使用
类的卸载

18_类的命名空间与卸载详解及jvisualvm使用

18_类的命名空间与卸载详解及jvisualvm使用
18_类的命名空间与卸载详解及jvisualvm使用

18_类的命名空间与卸载详解及jvisualvm使用
输出的结果为:
18_类的命名空间与卸载详解及jvisualvm使用

如何看到原来的类加载器和所加载的类有没有被卸载?
18_类的命名空间与卸载详解及jvisualvm使用
运行后,结果无变化
说明类没有被卸载
那么,显示地调用gc

18_类的命名空间与卸载详解及jvisualvm使用
输出结果为:
18_类的命名空间与卸载详解及jvisualvm使用
类被卸载
若是三个引用不置为null?
18_类的命名空间与卸载详解及jvisualvm使用
运行结果为:
18_类的命名空间与卸载详解及jvisualvm使用
没有被卸载
因为当调用gc的时候,引用还在指向原来的对象
调用后,才指向新的对象,这个gc没有意义
那么,将gc换个位置

18_类的命名空间与卸载详解及jvisualvm使用

18_类的命名空间与卸载详解及jvisualvm使用
此时,类被卸载

使用jvisualvm工具查看

18_类的命名空间与卸载详解及jvisualvm使用
18_类的命名空间与卸载详解及jvisualvm使用
18_类的命名空间与卸载详解及jvisualvm使用
18_类的命名空间与卸载详解及jvisualvm使用

相关文章:

  • 2021-09-16
  • 2021-10-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-03
  • 2021-12-25
  • 2022-03-10
猜你喜欢
  • 2022-02-18
  • 2022-12-23
  • 2022-01-23
  • 2021-09-15
  • 2022-12-23
相关资源
相似解决方案