JAVA 文件编译执行与虚拟机(JVM)介绍 Java 虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明。 ....
分类:
编程语言 时间:
2014-08-01 12:53:21
阅读次数:
326
Java的内存分为两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型变量和对象的引用都在函数的栈内存中分配。当在一个代码块中定义一个变量的时候,java就在栈中为其分配内存,当超过作用域的时候内存自动释放。 对内存用来存放new创建的对象和数组。在堆中分配的内存,由java虚拟机的垃圾回...
分类:
编程语言 时间:
2014-08-01 12:50:21
阅读次数:
181
??
1.在main方法里面直接定义一个非常大的数组的时候,可能会出现栈溢出:错误代码演示:
#include
#include
void
main()
{
int
a[1024 * 1024];
int
num = 100;
system("pause");
}
错误截图:
2.在定义数...
分类:
其他好文 时间:
2014-08-01 02:26:11
阅读次数:
456
前一章,我们说到了顺序表结构,而顺序表也存在一些的缺点。在插入或者删除节点的时候,需要移动的数据比较大,如果顺序表结构比较大,有时候比较难以分配足够的连续存储空间,可能会导致内存分配失败,而导致无法存储。而今天我们讲解的链表结构则可以很好的解决这个问题,链表的结构是一种动态存储分配的结构形式,可以根...
分类:
其他好文 时间:
2014-07-31 13:13:26
阅读次数:
369
栈、堆、常量池虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,详细讲解Java内存分配方面的知识。Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介...
分类:
编程语言 时间:
2014-07-31 12:41:56
阅读次数:
369
性能点: ?? ?I/O,系统调用,并发/锁,内存分配,内存拷贝,函数调用消耗,编译优化,算法 I/O性能优化: ?? ?I/O性能主要耗费点:系统调用,磁盘读写,网络通讯等 ?? ?优化点:减少系统调用次数,减少...
分类:
其他好文 时间:
2014-07-31 03:20:15
阅读次数:
204
CLR(公用语言运行时)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。.NET提供了一个运行时环境,叫做公用语言运行时(Commen Language Runtime),是一种多语言执行环境,支持众多的数据类型和语言特性。他管理...
分类:
其他好文 时间:
2014-07-30 20:07:24
阅读次数:
225
.h文件
/**********************说明*************************
* 这是MPool内存池的实现,他具有如下特性:
* 1. 池中的内存块是大小是相同的
* 2. 由宏定义_MP_NO_SERIALIZE决定是否需要多线程同步
* 3. 他利用windows的堆内存API进行内存分配
* 4. 他不能替换crt的malloc和free
* 5. 他不...
Java栈与堆堆:顺序随意栈:后进先出(Last-in/First-Out). Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可...
分类:
编程语言 时间:
2014-07-30 11:43:03
阅读次数:
315
一种动态内存管理Malloc/Free服务的链表实现 , 动态内存分配与回收服务,Malloc/Free的实现,最主要的核心内容是单向链表。其数据结构定义如下,一整段内存被SRAM或SDRAM,DRAM由系统的内存管理模块统一管理,这里主要是堆的管理:
typedef struct A_BLOCK_LINK
{
struct A_BLOCK_LINK *pxNextFre...
分类:
其他好文 时间:
2014-07-29 13:21:31
阅读次数:
433