Java虚拟机的内存模型分为五个部分。各自是:程序计数器、Java虚拟机栈、本地方法栈、堆、方法区。 这五个区域既然是存储空间,那么为了避免Java虚拟机在执行期间内存存满的情况,就必须得有一个垃圾收集者的角色。不定期地回收一些无效内存,以保障Java虚拟机可以健康地持续执行。 这个垃圾收集者就是寻 ...
分类:
其他好文 时间:
2017-08-17 12:35:44
阅读次数:
138
Java虚拟机垃圾收集器与内存分配策略 概述 那些内存须要回收,什么时候回收。怎样回收是GC须要完毕的3件事情。 程序计数器。虚拟机栈与本地方法栈这三个区域都是线程私有的,内存的分配与回收都具有确定性,内存随着方法结束或者线程结束就回收了。 java堆与方法区在执行期才知道创建那些对象,这部分内存分 ...
分类:
编程语言 时间:
2017-08-16 11:32:06
阅读次数:
160
Java基础面向对象三个特征封装 继承 多态 多态定义 允许不同类的对象对同一消息做出响应技术 动态绑定 执行期间判断所引用对象的实际类型 根据实际类型调用相应方法作用 消除类型之间的耦合关系条件 继承 重写 父类引用指向子类对象好处 扩充 替换 接口 灵活 简化 接口意义规范 扩展 回调 抽象类意 ...
分类:
移动开发 时间:
2017-08-11 11:00:58
阅读次数:
209
值栈是一组对象,按照提供的顺序存储以下这些对象: 实际中存在各种在页面执行期间创建的temporary对象。例如,JSP标签循环集合的当前迭代值。 如果在struts应用程序中使用Model对象,则当前Model对象放在值堆栈上的action之前。 这是指正在执行的当前action对象。 这些对象包 ...
分类:
其他好文 时间:
2017-08-07 11:46:30
阅读次数:
179
修饰模式是一种动态地往一个对象中加入新的行为的设计模式。继承是对现有类进行扩充,用来添加基类功能,该扩充动作是在编译期完毕。而修饰模式是对一个对象进行扩充。从而达到修饰的目的,该修饰动作是在执行期完毕。装饰模式的UML图例如以下: 以下是一个用C++编写的关于描写叙述一个人的演示样例程序,并使用了装 ...
分类:
其他好文 时间:
2017-08-04 20:40:31
阅读次数:
167
一、文章来由 const具体解释之二 二、const 取代 #define const最初动机就是取代 #define。 const 优于 #define: (1) #define没有类型检查,const在编译期(而不是预编译期)做类型检查。 (2)const方便调试和定位bug。 所以应该全然用c ...
分类:
编程语言 时间:
2017-08-01 21:42:43
阅读次数:
169
JavaScript采用的是静态作用域规则,也叫词法作用域,其解析过程是按照从上到下、从左到右的顺序加载,并分为两个阶段:预编译期(预处理)和执行期。预编译期对代码块中所有声明的变量和函数进行处理。注意关键字:代码块、声明、变量、函数。1、代码块代码块是指由<script&g..
分类:
其他好文 时间:
2017-07-31 14:46:58
阅读次数:
132
(转自老惠的博客) JavaScript采用的是静态作用域规则,也叫词法作用域,其解析过程是按照从上到下、从左到右的顺序加载,并分为两个阶段:预编译期(预处理)和执行期。预编译期对代码块中所有声明的变量和函数进行处理。注意关键字:代码块、声明、变量、函数。 1、代码块 代码块是指由<script>标 ...
分类:
其他好文 时间:
2017-07-31 14:33:53
阅读次数:
127
在构造和析构执行期间不要调用virtual函数,因为这类调用从不会下降至derived class(比起当前执行构造函数和析构函数) 如果在base class 构造函数或者析构函数调用virtual,derived class构造时会先构造base class,则base class中的virtu ...
分类:
其他好文 时间:
2017-07-30 19:02:13
阅读次数:
149
内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,是应用程序分配某段内存后,由于程序设计错误而导致JVM失去了对该段内存的控制,因而造成了内存的浪费。一般内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的、大小随意的内存块(内存块的大小能够在程序执行期决定 ...
分类:
其他好文 时间:
2017-07-25 16:01:59
阅读次数:
124