一、GC的必要性 1、应用程序对资源操作,通常简单分为以下几个步骤:为对应的资源分配内存 → 初始化内存 → 使用资源 → 清理资源 → 释放内存。 2、应用程序对资源(内存使用)管理的方式,常见的一般有如下几种: [1] 手动管理:C,C++ [2] 计数管理:COM [3] 自动管理:.NET, ...
分类:
Web程序 时间:
2017-07-27 18:26:11
阅读次数:
326
前面介绍了STL对象的构造与析构以及内存的配置与释放,那具体的容器是怎么应用STL的空间配置器的呢?这篇先介绍STL的容器vector。 vector的数据成员 vector只有4个数据成员:3个迭代器、1个内存配置器。 STL会为每个容器都设置一个内存配置器的成员,这里的内存配置器就是前面介绍的S ...
分类:
其他好文 时间:
2017-07-17 22:05:04
阅读次数:
156
一.对象的创建1.类加载检查 普通对象的创建过程:虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那么必须先执行相应的类加载过程。2.分配内存 分配内存时主要注意两个问题:1.如何分配空... ...
分类:
其他好文 时间:
2017-06-18 18:57:28
阅读次数:
127
一、单例模式(Singleton) 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处: 对于那些比较耗内存的类,只实例化一次可以大大提高性能,尤其是在移动开发中。 保持程序运行的时候该中始终只有一个实例存 ...
分类:
其他好文 时间:
2017-06-18 17:25:59
阅读次数:
119
http://www.cnblogs.com/mahaikai/p/6025512.html 在多任务操作系统中,每个进程都运行在属于自己的内存沙盘中。这个沙盘就是虚拟地址空间(Virtual Address Space),在32位模式下它是一个4GB的内存地址块。在Linux系统中, 内核进程和用 ...
分类:
其他好文 时间:
2017-05-20 01:08:46
阅读次数:
238
1,成员变量和局部变量的区别 1)在内存中的位置不同 成员变量:在堆内存(成员变量属于对象,对象进堆内存) 局部变量:在栈内存(局部变量属于方法,方法进栈内存) 2)初始化值不同 成员变量:有默认初始化值 局部变量:没有默认初始化值,必须定义,赋值,然后才能调用。 2.封装 private:被修饰的 ...
分类:
编程语言 时间:
2017-05-17 00:57:17
阅读次数:
183
StringBuild的是个动态对象,可直接拼加上字符串;而string对象的步骤:先初始化对象并赋值了,而后在拼加字符串时,先要创建需要拼加的字符串,然后再拼加,所以这就是StirngBuild远比String效率高的原因! (一)String 对象是不可改变的。每次使用 System.Strin ...
分类:
其他好文 时间:
2017-05-08 10:48:28
阅读次数:
227
1、对象的创建 java是面向对象的语言,因此对象的创建无时无刻都存在。在语言层面,使用new关键字即可创建出一个对象。但是在虚拟机中,对象创建的创建过程则是比较复杂的。 首先,虚拟机运到new指令时,会去常量池检查是否存在new指令中包含的参数,比如new People(),则虚拟机首先会去常量池 ...
分类:
其他好文 时间:
2017-04-05 22:31:20
阅读次数:
258
来源 一、为什么需要GC 应用程序对资源操作,通常简单分为以下几个步骤: 1、为对应的资源分配内存 2、初始化内存 3、使用资源 4、清理资源 5、释放内存 应用程序对资源(内存使用)管理的方式,常见的一般有如下几种: 1、手动管理:C,C++ 2、计数管理:COM 3、自动管理:.NET,Java ...
分类:
其他好文 时间:
2017-01-12 22:50:57
阅读次数:
235
X-007 FriendlyARM tiny4412 u-boot移植之内存初始化 ...
分类:
其他好文 时间:
2016-12-03 21:11:37
阅读次数:
717