JVM
看得见的时间
我是沙漏,看得见的时间
展开
-
JAVA & 结合内存认识类加载
一、什么是类加载? 运行在Java虚拟机之上的语言,比如Java、Scala、Groovy、JRuby等,会被各自的编辑器编译为Class文件,这些Class文件需要被加载进Java虚拟机才能运行。 而一个完整的类,其生命周期是:加载,验证,准备,解析,初始化,使用,卸载。如图: 其中,验证,准备,解析合称为链接。而因为(正常情况下)加载,链接,初始化这三步是连续进行的,又被成为类加载或类初始化。所以,注意加载与类加载的区别。 二、类加载过程 1.加载 将class文件字节码内容加载到内存中,并将这些静态原创 2020-12-12 15:27:46 · 151 阅读 · 0 评论 -
JVM & java的内存区域
一、运行是数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。如图: 1.程序计数器 描述: 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 作用: 它是程序控制流的指示器,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器来完成。 线程私有的内存: 每一条线程都需要一个独立的程序计数器。 原因: java虚拟机的多线程是通过线程轮流切换、分配处理器执行时间的方原创 2020-09-10 21:07:45 · 174 阅读 · 0 评论