请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于类加载的问题

老师您好,我这里有一个关于类加载的问题如下:

假设是用spring启动的Java程序,那我里面所有的类都会被提前加载并初始化吗?若不会初始化,那怎么会执行它的静态代码呢。

如:

public class HungrySingleton implements Serializable,Cloneable{

   private final static HungrySingleton hungrySingleton = new HungrySingleton()
;

}

这行静态代码会在什么时候执行呢?如果说不是spring启动时就初始化,那就不应该有浪费资源的说法呀

正在回答

1回答

这个会在类被jvm加载的时候执行static。spring做的是管理类的对象,对象啥时候被创建在spring中是可以配置的

1 回复 有任何疑惑可以回复我~
  • 提问者 慕粉6188528 #1
    通过spring容器管理,所有的类都会在启动时被加载进JVM吗,我看JVM描述写启动时只会加载运行所需要的基础类
    回复 有任何疑惑可以回复我~ 2020-07-16 10:07:47
  • geelylucky 回复 提问者 慕粉6188528 #2
    jvm不是一次性会加载所有的类的,需要的时候才会加载。
    回复 有任何疑惑可以回复我~ 2020-07-21 21:24:44
  • 提问者 慕粉6188528 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-07-22 17:25:53
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信