泰然世界

导航

 

2017年7月30日

摘要: 运行时常量池是方法区的一部分。class中除了有类的版本,字段,方法,接口等描述信息外,还有一项信息是常量池,用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后存放在方法区的运行时常量池中。 Java虚拟机对class文件的每一部分(自然也包括常量池)的格式都有严重的规定,每一个字节用 阅读全文
posted @ 2017-07-30 17:00 泰然世界 阅读(320) 评论(0) 推荐(0) 编辑
 
摘要: 方法区与Java堆一样,是各个线程共享的内存区域,他在与存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据,虽然Java虚拟机规范把方法区描述为堆得一个逻辑部分,但是他却有一个别名Non-heap(非堆),目的是与Java堆区分开来。 对于习惯在Hotspot虚拟机上开发和部署 阅读全文
posted @ 2017-07-30 16:40 泰然世界 阅读(365) 评论(0) 推荐(0) 编辑
 
摘要: 对于大多数应用程勋来书,Java堆是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建,此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。这一点在Java虚拟机规范中描述是:所有的对象实例及数组都要在堆上分配,但是随着JIT编 阅读全文
posted @ 2017-07-30 16:20 泰然世界 阅读(96) 评论(0) 推荐(0) 编辑
 
摘要: 与程序计数器一样,Java虚拟机栈也是线程私有的,他的生命周期与线程相同。虚拟机栈描述的是Java执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧用于存储局部变量表,操作栈,动态链接,方法出口等信息。每个方法被调用直至执行完成的过程,就对应一个虚拟机栈由入栈到出栈的过程。 局部变量表存放了编 阅读全文
posted @ 2017-07-30 15:06 泰然世界 阅读(106) 评论(0) 推荐(0) 编辑