数据结构
lqq19860619
这个作者很懒,什么都没留下…
展开
-
JVM闲谈
java中内存分为堆内存和栈内存。 Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数...原创 2011-08-18 22:01:47 · 86 阅读 · 0 评论 -
数据结构 二叉树(B树)
BTree特征:1.一个节点最多只有两个子节点,其中左子节点的关键字小于这个节点,右子节点的关键字大于等于该节点。2.执行查找,插入,删除的时间复杂度都是:O(logN)。3.遍历有中序,前序,后序。前,中和后只是在递归的时候先输出左子,自己或右子的顺序。可以通过中排序,按左子,自己,右子的顺序就是升序,反之则是降序。4.最大值是树的右边底层叶子;最小值是左边底层叶子。...原创 2012-01-18 00:41:26 · 74 阅读 · 0 评论 -
B树温习
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询...原创 2012-01-18 00:36:53 · 54 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。...原创 2011-08-03 00:27:05 · 56 阅读 · 0 评论 -
ArrayList和Vector以及HashTable和HashMap区别
[size=large][color=red]ArrayList和Vector以及HashTable和HashMap区别[/color][/size] (一)List和Map都是接口不能实例化的以前这么写List list = new Vector();现在这么写List list = new ArrayList();用ArrayList 代替了Vector 因为前者的...原创 2011-10-12 10:40:11 · 64 阅读 · 0 评论 -
JVM优化配置
JVM优化配置《一》OOM这个缩写就是Java程序开发过程中让人最头痛的问题:Out of Memory。在很多开发人员的开发过程中,或多或少的都会遇到这类问题,这类问题定位比较困难,往往需要根据经验来判断可能出现问题的代码。原因主要是 两个:对象没有被释放(多种情况引起,往往是比较隐蔽的引用导致被Hold而无法被回收)。另一...原创 2011-08-20 22:32:12 · 43 阅读 · 0 评论 -
JVM慢慢琢磨
原文:http://www.iteye.com/topic/8218721 JVM简介JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“Hello World”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibernate等等,再然后就开发企业级的应用,比如网站、企业内部应用、实...原创 2011-08-20 22:05:59 · 88 阅读 · 0 评论 -
内存分配策略
内存分配策略 按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允 许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求. ...原创 2011-08-20 21:32:48 · 65 阅读 · 0 评论 -
栈 堆
栈栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。栈是只能在某一端插入和删除的特殊线性表。用桶堆积物品,先堆进来的压在底下,随后一件一件往堆。取走时,只能从上面一件一件取。堆和取都在顶部进行,底部一般是不动的。栈就是一种类似桶...原创 2011-08-20 19:01:53 · 127 阅读 · 0 评论 -
堆栈区别
原文:http://www.iteye.com/topic/634530 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(stati...原创 2011-08-18 22:23:09 · 53 阅读 · 0 评论 -
B树、B-树、B+树、B*树详解
B树、B-树、B+树、B*树都是什么 B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询...原创 2012-01-18 00:47:56 · 68 阅读 · 0 评论