JAVA
文章平均质量分 84
wulianghuan
IT秀才
展开
-
让你彻底明白JAVA中堆与栈的区别
Java中堆与栈的区别 简单的说: Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。原创 2013-02-22 13:56:11 · 10524 阅读 · 5 评论 -
Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法
JAVA的jdk中给我们提供了多个容器类,它们的应用十分广泛,给编程人员带来了帮助,提高代码实现效率,首先来看下结构图: ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能原创 2013-02-22 15:46:38 · 1637 阅读 · 0 评论 -
关于String类中重写Object类中的方法
Object作为所有类的基类,它里面定义了许多的方法,最为常见的就是hashCode()、equals()、toString()方法。 一、hashCode()方法 首先来看一下什么是哈希码(HashCode) 在Java中,哈希码代表对象的特征。 例如对象 String str1 = “aa”, str1.hashCode= 3104 String str2 = “bb”, str2原创 2013-02-22 15:35:29 · 5197 阅读 · 2 评论 -
Java (堆和栈),内存地址,==,equals,hashCode
问题的引入: 问题一: String str1 = "abc"; String str2 = "abc"; System.out.println(str1==str2); //true 问题二: String str1 =new String ("abc"); String str2 =new String ("abc"); System.out.println(str1=原创 2013-02-21 16:32:29 · 5965 阅读 · 4 评论