当前位置: 首页> 文旅> 酒店 > 深圳工程造价信息网_个人写真文案_小程序推广方案_友情链接平台赚钱吗

深圳工程造价信息网_个人写真文案_小程序推广方案_友情链接平台赚钱吗

时间:2025/7/11 17:49:31来源:https://blog.csdn.net/handsomeliu18/article/details/145965123 浏览次数:0次
深圳工程造价信息网_个人写真文案_小程序推广方案_友情链接平台赚钱吗
JVM 的运行时数据区是如何划分的?
  • 程序计数器:记录当前线程执行的字节码行号,是线程私有的,主要用于线程切换后能恢复正确的执行位置。
  • 虚拟机栈:每个线程都有自己的虚拟机栈,栈中存储着栈帧,每个栈帧对应一个方法的调用,包含局部变量表、操作数栈、动态链接、方法出口等信息。
  • 本地方法栈:与虚拟机栈类似,不过它是为本地方法服务的。
  • 堆:是 JVM 中最大的一块内存区域,被所有线程共享,用于存储对象实例和数组。
  • 方法区:也是所有线程共享的区域,用于存储类的元数据(如类的结构、字段、方法、常量池等)。在 Java 8 及以后,方法区被元空间(Metaspace)取代。
什么是垃圾回收? 垃圾回收有哪些算法?

它会自动检测并回收不再使用的对象所占用的内存空间

标记 - 清除算法: 先标记出需要回收的对象, 然后统一回收, 会产生大量内存碎片

标记 - 整理算法: 先标记出需要回收的对象, 然后将存活的对象向一端移动, 最后清除掉端边界以外的内存, 避免了内存碎片问题

复制算法: 将内存分成相等的两块,每次只使用其中的一块,当这一块内存用完后,将存活的对象复制到另一块上,然后清理当前使用的这块内存. 这种算法实现简单, 效率高, 但是会浪费一半的内存空间.

分代收集算法: 根据对象的存活周期将内存划分为不同的区域(新生代和老年代),针对不同区域的特点采用不同的垃圾回收算法. 例如,新生代存活时间短, 采用复制算法, 老年代对象存活时间长, 采用标记 - 清除 或标记 - 整理算法.

简述 Java 的类加载机制

Java的类加载机制采用双亲委派模型, 当一个类加载器收到类加载请求时, 他首先不会自己去尝试加载这个类, 而是把请求委派给父亲加载器去完成, 每一个层次的类加载器都是如此, 因此所有的加载请求都会传送到顶层的启动类加载器中, 只有当父类加载器反馈自己无法完成该加载请求(它的搜索范围中没有找到所需的类) 时, 子加载器才会尝试自己去加载.

双亲委派模型的特点

1.避免类的重复加载: 如果多个类加载器都去加载同一个类, 会导致内存中存在多个相同的类的实例,会造成资源浪费. 通过双亲委派模型, 同一个类只会被加载一次.

2.保证Java核心类库的安全性: 例如, 用户自定义的java.lang.String类不会被加载,因为启动类加载器会优先加载JDK中的java.lang.String类, 从而避免了恶意代码通过自定义核心类来破坏系统的安全性.

类加载的过程

类加载器的层次结构
关键字:深圳工程造价信息网_个人写真文案_小程序推广方案_友情链接平台赚钱吗

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: