在java中加载/卸载静态方法和内存区域?

Gau*_*ani 5 java static-methods memory-management

我有四个关于java中的静态方法的问题:

1)在内存中加载静态方法?什么时候加载类或者第一次调用方法?

2)从内存中卸载静态方法?当类被卸载或者该方法的执行流程在调用后结束时?

3)加载JVM静态方法的内存区域?在堆栈内存区域或者JVM中有不同类型的内存用于静态方法(我也读过一些静态内存)?

4)在我们的应用程序中有这么多静态方法是否合适?

我在这个网站和其他网站上经历了很多问题,但他们没有明确说明.

Sur*_*tta 5

1) 静态方法何时加载到内存中?当类加载或方法被调用时第一次调用?

当类加载器加载该特定类时。

2)什么时候从内存中卸载静态方法?何时卸载类或调用后该方法的执行流程何时结束?

当JVM垃圾收集加载静态类的特定类加载器时。

3)JVM静态方法加载在哪个内存区域?在堆栈内存区域中,还是在 JVM 中有不同类型的内存可用于静态方法(我也读过一些静态内存)?

通常在 Pergemen 空间。

java中存储的静态方法和静态变量在哪里?在堆或堆栈内存中

4)在我们的应用程序中有这么多静态方法好不好?

是的,当他们单独解决目标时。