转载学习
文章平均质量分 82
zhuangxingrui86
这个作者很懒,什么都没留下…
展开
-
内存分配策略中的堆与栈
按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求. 栈式存储分配也可转载 2012-09-07 14:18:18 · 360 阅读 · 0 评论 -
常用的排序方法(一)
常用的排序方法(一)做过几次各大IT公司的实习生招聘笔试题,发现数据结构还是很重要的,其中排序问题总是会出现在试题上,所以对几种常见的排序方法总结下。 其实排序可分为两大类:内部排序和外部排序 内部排序:指需排序的记录存放在计算机随机存储器中进行的排序过程,也就是小数量的数据排序,像冒泡排序,选择排序等就是内部排序; 外部排序:指需排序的记录数量很大,以致内存一次不能容转载 2012-09-07 14:47:32 · 428 阅读 · 0 评论 -
常用的排序方法(二)
常用的排序方法(二) 接着上一篇继续写1.树形选择排序:又称锦标赛排序,是一种按照锦标赛的思想进行选择排序的方法。首先对n个记录的关键勃进行两两比较,然后在其中n/2个较小者之间再进行两两比较,如此重复,直到选出最小键字的记录为止,这个过程可用一棵有n个叶子结点的完全二叉树表示,如下图所示:图中展示了选择最小关键字13的过程,输出13后,将13改为最大值,再进行同样的过程选出次转载 2012-09-07 14:48:51 · 479 阅读 · 0 评论 -
java是否允许返回值类型不同的重载overload或者覆盖override
重载是一定不允许的。比如 Java代码 class Super{ void f(){ } int f(){ return 1; } } class Super{ void f(){ } int f(){ return 1; }}转载 2012-09-07 14:29:08 · 1164 阅读 · 0 评论 -
GC机制总结
1.为什么要使用垃圾收集? 字面是说是“垃圾收集”,更精确点就是“内存回收”,在一个对象不再被程序引用时,它所占用的堆空间就可以回收,以便分配给新对象使用。而且除了释放不再被引用的对象外,垃圾收集器还要处理堆碎块(堆碎块是在正常的程序运行时产生的),因为新的对象分配了空间,不再被引用的对象被释放,所以堆内存的空闲位置介于活对的对象之间,而请求分配新对象时可能不得不增大堆空间,因为转载 2012-09-07 14:50:10 · 429 阅读 · 0 评论 -
JAVA代码执行机制
1.java源码编译机制 jvm规范中定义了class文件的格式,但并未定义Java源码如何编译为class文件,在Sun JDK中就是javac编译器,可分为下面三个步骤: 1.分析和输入到符号表(Parse and Enter) Parse 过程所做的是词法和语法分析 Enter 过程是将符号输入到符号表 2.注转载 2012-09-07 14:51:36 · 3289 阅读 · 0 评论 -
java对象序列化
序列化的过程就是对象写入字节流和从字节流中读取对象。将对象状态转换成字节流之后,可以用java.io包中的各种字节流类将其保存到文件中,管道到另一线程中或通过网络连接将对象数据发送到另一主机。对象序列化功能非常简单、强大,在RMI、Socket、JMS、EJB都有应用。对象序列化问题在网络编程中并不是最激动人心的课题,但却相当重要,具有许多实用意义。 1.对象序列化可以实现分布式对象。转载 2012-09-07 14:56:03 · 377 阅读 · 0 评论 -
java 堆、栈和常量池
Java堆.栈和常量池(转)Java内存分配:1. 寄存器:我们在程序中无法控制2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中3. 堆:存放用new产生的数据4. 静态域:存放在对象中用static定义的静态成员5. 常量池:存放常量6. 非RAM存储:硬盘等永久存储空间-------------------------转载 2012-09-07 19:50:16 · 538 阅读 · 0 评论