java的静态变量是加载到内存中之后就一直留存么?

我记得听人说过,静态的生命周期是,加载就放入内存,一直不删除。
类中通常会定义一些静态常量或者方法。
那么随着项目的启动,一些功能被使用,逐渐的所有类都被加载一遍。
难道这些静态都放在内存中?
那随着时间增加是不是就内存越占用越大,直到所有的静态常量都被放在内存中?

静态常量确实会一直存在于内存中,因为这些常量与类的元数据绑定,无法被GC回收。

静态变量在第一次被访问时创建,在程序结束时销毁。