参考链接: 0.gc的产生 如下,每帧都在分配内存,为了回收这些没有被引用到的内存,就触发了垃圾回收机制(gc) 1.string 如下,定位到第1帧,字符串赋值和拼接都会触发gc,说明有新对象的产生;但是从第2帧开始就没有gc了,这是因为字符串常量池的存在: https://blog.csdn.n ...
分类:
编程语言 时间:
2019-05-09 00:22:09
阅读次数:
159
栈存放:会为每个方法(包括构造函数)开辟一个栈指针,方法执行完毕后,会自动退出,并释放空间 局部变量 先进后出 自下而上存储 方法执行完毕 自动释放空间 堆: 存放new出来的对象 需要垃圾回收器来回收 方法区:其实也是在堆中的 存放类的信息(代码)、 static变量、字符串常量等 ...
分类:
编程语言 时间:
2019-04-28 12:59:48
阅读次数:
132
这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String String最慢的原因: String为字符串常量,而StringBuilder和StringBu ...
分类:
编程语言 时间:
2019-04-27 13:01:57
阅读次数:
151
常量池: 即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
字符串是一种非常重要的数据类型,但是C语言不存在显式的字符串类型,C语言中的字符串都以字符串常量的形式出现或存储在字符数组中。同时,C 语言提供了一系列库函数来对操作字符串,这些库函数都包含在头文件 string.h 中。 一、字符串常量和字符数组 1.1、什么是字符串常量 C 语言虽然没有字符串类 ...
分类:
编程语言 时间:
2019-04-19 01:15:21
阅读次数:
214
20175319 2018 2019 2 《Java程序设计》第7周学习总结 教材学习内容总结 本周学习《Java程序设计》第8章: 1. 类: Java专门提供了用来处理字符序列的 类 构造 对象 常量对象 字符串常量对象是用双引号括起的字符序列 常量池 对象 可以使用 类声明对象并创建对象 用户 ...
分类:
编程语言 时间:
2019-04-12 00:54:05
阅读次数:
198
JVM 类加载 [TOC] 虚拟机类加载过程 虚拟机完整的加载过程为: 加载 验证 准备 解析 初始化 使用 卸载 这里可以简化为3个主要过程: 加载 链接 初始化 加载 将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区中的运行时数据结构,并在堆中生成一个代表这个类的java.l ...
分类:
其他好文 时间:
2019-04-08 13:06:45
阅读次数:
155
1、面向对象内存分析 栈的特点 栈的特点 (1)JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等) (2)栈属于线程私有,不能实现线程间的共享! (3)栈的存储特性是:先进后出,后进先出。由系统自动分配,速度快!是一个连续的内存空间。 (4)栈描述的是方法执行的内存模型 ...
分类:
编程语言 时间:
2019-04-07 12:53:46
阅读次数:
158
char str[] = "http://c.biancheng.net"; 这一切看起来和字符数组是多么地相似,它们都可以使用%s输出整个字符串,都可以使用*或[ ]获取单个字符,这两种表示字符串的方式是不是就没有区别了呢?有!它们最根本的区别是在内存中的存储区域不一样,字符数组存储在全局数据区或 ...
分类:
编程语言 时间:
2019-04-06 00:27:14
阅读次数:
237
常量的概述及使用 常量:在程序执行的过程中,其值不可以发生变化 Java中常量的分类: (1)字面值常量 (2)自定义常量 字面值常量的分类: 字符串常量:用双引号括起来的内容 整型常量:所有整数 小数常量:所有小数 字符常量:用单引号括起来的内容,里面只能方单个数字,单个字母或单个符号 布尔常量: ...
分类:
其他好文 时间:
2019-04-05 16:48:33
阅读次数:
170