JVM
鼬佐
两个字
展开
-
编译时赋初值和分配内存?
所谓编译期间分配内存指的是静态分配空间(相对于new动态申请空间),包括全局变量和静态变量(包括一些特别复杂的常量),他们所以需要的空间大小可以明确的计算出来,并且不会再改变,因此他们可以直接存放在特定的节里(并且包含初始化的值),程序运行时也是直接将这个节添加到特定的段中,不必在程序运行期间使用额外的代码来产生这些变量。其实在运行期间再看“变量”这个概念就不再具备编译期间那么多属性了(诸如名称、原创 2015-11-27 09:51:57 · 1829 阅读 · 0 评论 -
一段Java程序的生命史
作为一名程序猿 ,我们每天都在写Code,但你真的了解它的生命周期么?今天就来简单聊下它的生命历程,说起一段Java Code,从出生到game over大体分这么几步:编译、类加载、运行、GC。编译Java语言的编译期其实是一段“不确定 ”的过程,因为可能是一个前端编译器把.java文件转变为.class文件的过程;也可能是指JVM的后端运行期编译器(JIT编译器)把字节码转变为转载 2016-12-07 15:30:16 · 334 阅读 · 0 评论