1检测类是否被加载 虚拟机遇到对象的创建 首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过(类的加载过程)。 如果没有,那必须先执行相应的类加载过程。 2为新生对象分配内存 通过计算对属性计算在堆中分配空间。空间大小固定且不再 ...
分类:
编程语言 时间:
2019-05-05 18:01:27
阅读次数:
202
方法区:也叫永久区,线程共享,用于存储类结构信息的地方,包括常量池、静态变量、构造函数等类型信息,类型信息是由类加载器在类加载时从类文件中提取出来的,永久区同样存在垃圾回收机制,用为用户通过加载器加载的一些类同样会成为垃圾,JVM会回收一个未被类引用所占的空间,以使方法区空间达到最小堆:是存储Java对象的地方,是GC的主要区域,同样是线程共享的主要区域Java虚拟机栈:存储基本数据类型,局部变量
分类:
其他好文 时间:
2019-04-23 14:19:38
阅读次数:
154
常量池: 即class文件常量池,是class文件的一部分,用于保存编译时确定的数据。 保存的内容如下图: 1 D:\java\test\out\production\test>javap -verbose mainTest 2 Classfile /D:/java/test/out/product ...
分类:
其他好文 时间:
2019-04-22 12:20:12
阅读次数:
210
学号 20175313 《Java程序设计》第八周学习总结 一、教材学习内容总结 第十五章主要内容 了解String类 常量对象:常量池中的数据在程序运行期间再也不允许改变。 String对象:用户无法输出String对象的引用。 例如: 可以用 来返回对象引用的字符串 表示。 输出:i am a ...
分类:
编程语言 时间:
2019-04-22 00:41:45
阅读次数:
178
一、概述 String是代表字符串的类,本身是一个最终类,使用final修饰,不能被继承。 二、String字符串的特征 1. 字符串在内存中是以字符数组的形式来存储的。 示例如下,可以从String的底层源码中看到。 2.因为字符串是常量,所以本身是存储在方法区的常量池中。只要字符串的实际值一样, ...
分类:
编程语言 时间:
2019-04-19 19:48:21
阅读次数:
155
【JVM虚拟机】(8) 深入理解Class中 方法、属性表集合 之前有关class文件已经写了两篇博客: 1、 "【JVM虚拟机】(5) 深入理解JVM Class中常量池" 2、 "【JVM虚拟机】(6) 深入理解Class中访问标志、类索引、父类索引、接口索引" 3、 "【JVM虚拟机】(7) ...
分类:
其他好文 时间:
2019-04-18 00:55:21
阅读次数:
174
20175322 《Java程序设计》第七周学习总结 教材学习内容总结 String类 常量对象:常量池中的数据在程序运行期间再也不允许改变。 String对象:用户无法输出String对象的引用。 字符串的并置运算:参与并置运算的String对象,只要有一个是变量,那么java就会在动态区存放所得 ...
分类:
编程语言 时间:
2019-04-14 09:41:25
阅读次数:
179
[TOC] 一、教材学习内容总结 第八章主要内容 了解String类 常量对象:常量池中的数据在程序运行期间再也不允许改变。 String对象:用户无法输出String对象的引用。 例如: 可以用 来返回对象引用的字符串 表示。 输出:i am a student 字符串的并置运算:参与并置运算的S ...
分类:
编程语言 时间:
2019-04-13 19:14:12
阅读次数:
167
20175319 2018 2019 2 《Java程序设计》第7周学习总结 教材学习内容总结 本周学习《Java程序设计》第8章: 1. 类: Java专门提供了用来处理字符序列的 类 构造 对象 常量对象 字符串常量对象是用双引号括起的字符序列 常量池 对象 可以使用 类声明对象并创建对象 用户 ...
分类:
编程语言 时间:
2019-04-12 00:54:05
阅读次数:
198
【JVM虚拟机】(7) 深入理解Class中 属性集合 之前有关class文件已经写了两篇博客: 1、 "【JVM虚拟机】(5) 深入理解JVM Class中常量池" 2、 "【JVM虚拟机】(6) 深入理解Class中访问标志、类索引、父类索引、接口索引" 那么这篇博客主要讲有关 字段表集合 相关 ...
分类:
其他好文 时间:
2019-04-12 00:47:46
阅读次数:
143