1.内存的划分 1.寄存器 cpu处理 2.本地方法区 和所在系统相关 3.方法区 4.栈内存 5.堆内存 2.栈和堆 1.栈: 存储的都是局部变量。而且变量所属的作用域一旦结束,就释放该变量。 栈中的变量生命周期都很短,更新速度会很快。 局部代码块:限定局部变量的生命周期。...
分类:
编程语言 时间:
2015-10-05 00:42:41
阅读次数:
248
(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类...
分类:
编程语言 时间:
2015-10-01 20:34:08
阅读次数:
190
1.JVM内存模型 JVM运行时内存=共享内存区+线程内存区 1).共享内存区 共享内存区=持久带+堆 持久带=方法区+其他 堆=Old Space+Young Space Young Space=Eden+S0+S1 (1)持久带 JVM用持久带(Permanent Space)实现方法区,...
分类:
其他好文 时间:
2015-09-21 17:23:04
阅读次数:
267
java中的常量区肯定是内存了,姑且把它放在方法区里。部分数据是共享的:如基本数据类型的封装类型:Byte,Character,Short,Integer,Long,Boolean六种都有,区域【-128,127】(超过127,就放在堆里了,也就不再相等了。)还有String类型数据:String ...
分类:
其他好文 时间:
2015-09-14 19:26:47
阅读次数:
134
java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个区域,包含方法区域,堆,虚拟机栈,本地方法栈,程序计数器,其中方法区域和堆是所有线程共享的数据区。结构如图: 程序计数器: 占的空间较小...
分类:
编程语言 时间:
2015-09-14 00:47:41
阅读次数:
256
1. Java内存区的构成 Java虚拟机运行时内存主要由五个部分组成: (1)方法区 方法区用于存储被虚拟机加载的类信息、常量、static变量等数据。字符串常量池就位于方法区。 (2)堆 堆用于存储对象实例,java中通new创建的对象实例就保存在堆中。 (3)虚拟机栈 虚拟机栈用于实...
分类:
编程语言 时间:
2015-09-05 00:09:01
阅读次数:
211
一、概述 上一篇文章Java内存模型提到虚拟机所管理的内存主要包括以下几个区域:程序计数器、虚拟机栈、本地方法栈、方法区和堆。其中前三个区域随线程而生死,这些区域的内存分配和回收都具有确定性。而堆和方法区则具有不确定性,只有程序处于运行期间才能知道会创建哪些对象,本文主要讨论这两个部分内存的回收。....
分类:
编程语言 时间:
2015-09-02 17:17:41
阅读次数:
173
1.面向对象分析与设计方法与传统软件工程方法区别在哪里?2.实现软件复用的关键因素除了软件构件技术还有哪些?3.构件技术与面向对象设计中的对象很相似,但它们之间存在很大差异,具体差异在哪些方面?4.软件开发模型和软件生命周期有什么区别?5.软件生命周期模型和开发模型有何关系?6.如何选择合适的软件开...
分类:
其他好文 时间:
2015-08-29 23:04:55
阅读次数:
139
超类化和子类化没有具体的代码,其实是一种编程技巧,在MFC和WTL中可以有不同的实现方法。以下给出子类化和超类化的原理、使用场景、实现方法、区别等。
分类:
编程语言 时间:
2015-08-25 23:28:17
阅读次数:
277
java虚拟机规范规定的java虚拟机内存其实就是java虚拟机运行时数据区,其架构如下:
其中方法区和堆是由所有线程共享的数据区。
Java虚拟机栈,本地方法栈和程序计数器是线程隔离的数据区。
(1).程序计数器:
是一块较小的内存空间,其作用可以看作是当前线程所执行的字节码的行号指示器,字节码解析器工作时通过改变程序计数器的值来选取下一条需要执行的字节码指令。程...
分类:
编程语言 时间:
2015-08-20 01:34:28
阅读次数:
155