易截截图软件、单文件、免安装、纯绿色、仅160KB

java中堆(heap)和堆栈(stack)有什么区别

//转自http://pterodactyl.javaeye.com/blog/345892
stack 和 heep 都是内存的一部分
stack 空间小,速度比较快, 用来放对象的引用
heep 大,一般所有创建的对象都放在这里。
栈(stack):是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量.
在java中,所有基本类型和引用类型都在栈中存储.栈中数据的生存空间一般在当前scopes内(就是由{...}括起来的区域).
堆(heap):是一个可动态申请的内存空间(其记录空闲内存空间的链表由操作系统维护),C中的malloc语句所产生的内存空间就在堆中.
在java中,所有使用new xxx()构造出来的对象都在堆中存储,当垃圾回收器检测到某对象未被引用,则自动销毁该对象.所以,理论上说java中对象的生存空间是没有限制的,只要有引用类型指向它,则它就可以在任意地方被使用.
        1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
        2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
        3. Java中的数据类型有两种。
        一种是基本类型(primitive types), 共有8种,即int, short, long, byte, float, double, boolean, char(注意,并没有string的基本类型)。这种类型的定义是通过诸如int a = 3; long b = 255L;的形式来定义的,称为自动变量。值得注意的是,自动变量存的是字面值,不是类的实例,即不是类的引用,这里并没有类的存在。如int a = 3; 这里的a是一个指向int类型的引用,指向3这个字面值。这些字面值的数据,由于大小可知,生存期可知(这些字面值固定定义在某个程序块里面,程序块退出后,字段值就消失了),出于追求速度的原因,就存在于栈中。
另外,栈有一个很重要的特殊性,就是存在栈中的数据可以共享。假设我们同时定义:
            int a = 3;
            int b =


相关文档:

传智播客java学习 OA机构设计

今天是学习oa的第二天,学的知识点比较多,我做了笔记:
Service层设计:
    1,先有get(Long),因为还想要获取其他对象(不是T),所以再定义一个get(Class, Long)
2, 为什么有get(Class, Long),但不加上以下两个方法呢?
<E> E delete(Class<E> clazz, Long id);
<E> List<E ......

几个java类的区别

Java面试中,最常被人问到的几个问题:
1. java.util.*包的UML结构图。
2. Vector和ArrayList、LinkedList区别  Hashtable 和 HashMap之间的区别
3. String、StringBuffer,StringBuilder之间区别。
--回答--
1.
Collection
  |
  |_List
  |  |_LinkedList
  |  | ......

Java利用MSNP协议取得MSN联系人

上一篇文章中介绍了怎样利用MSNP登录MSN,在登录后便可取联系人了,很简单。
参考文章:
http://msnpiki.msnfanatic.com/index.php/MSNP13:Contact_List
http://msnpiki.msnfanatic.com/index.php/MSNP15:TicketTokens
在登录后,可以得到一个contacts.msn.com的ticketToken,这可用于后续的验证
一种方法是加入一个MS ......

从今天开始,把java从头至尾好好的梳理一遍!

学java也将近快两年的时间了,之前学过的东西自己感觉有点模糊,理论掌握的不是很透彻,有些问题解决的也不是很全面,为此在大学毕业前夕,想把知识好好的梳理一下,把自己对技术的疑点和一些研究心得写到csdn博客上。 ......

一次性理清java 中的 类、抽象类、接口、继承、对象

类是广泛的概念,表示一个有共同性质的群体。如:人类。
代码:
       // 声明一个类“Human”
            class Human{
            priv ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号