浅谈JAVA内存模型.pptVIP

  • 7
  • 0
  • 约5.58千字
  • 约 23页
  • 2017-08-31 发布于安徽
  • 举报
class需要被load到内存中,怎样减少class的装载呢? class可以被load,但是不能被unload 一个class加载时会把相关联的class加载 什么是内存泄漏 Java 内存模型以及应用程序常见优化方法 开场白 Java工程师最初的一点疑问? Java中的类、方法是怎样放在内存中的呢? X=1是怎样一回事请呢? volatile是什么?有什么用呢? final是有何用的呢? debug查看堆栈是怎么一会事情? 多线程中变量需要注意什么? Java虚拟机的内部体系结构 方法区 一个class的线性二进制流 常量池、字段信息、方法信息、类的信息、字节码等 类的静态变量被所有类实例共享 所有线程共享方法区 方法区也可以被垃圾收集 Final常量在编译时就直接编译在class文件的常量池中 class能被回收吗? 堆 Java程序运行时创建的所有类实例和数组都放在同一个堆中。一个JVM一个堆 不同的JVM不同的堆,互不干扰 多个线程共享使用一个堆 程序计数器(PC寄存器) 每一个线程都有它自己的PC(程序计数器)寄存器,它是在线程启动时创建的。 当线程执行某个Java方法时,PC寄存器的内容总是下一条被执行指令的“地址”,地址是本地指针或者偏移量 如果线程执行本地方法,PC寄存器的值是“undefined” Java栈 一个线程一个Java栈(以帧为单位压栈、出栈) J

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档