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

Java堆.栈和常量池 笔记

今天复习了一下这些知识,顺便做了下笔记.
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.
2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
3. 堆:存放所有new出来的对象。
4. 静态域:存放静态成员(static定义的)
5. 常量池:存放字符串常量和基本类型常量(public static final)。
6. 非RAM存储:硬盘等永久存储空间
这里我们主要关心栈,堆和常量池,对于栈和常量池中的对象可以共享,对于堆中的对象不可以共享。栈中的数据大小和生命周期是可以确定的,当没有引用指向数据时,这个数据就会消失。堆中的对象的由垃圾回收器负责回收,因此大小和生命周期不需要确定,具有很大的灵活性。
对于字符串:其对象的引用都是存储在栈中的,如果是编译期已经创建好(直接用双引号定义的)的就存储在常量池中,如果是运行期(new出来的)才能确定的就存储在堆中。对于equals相等的字符串,在常量池中永远只有一份,在堆中有多份。
如以下代码:
Java代码
String s1 = "china";   
String s2 = "china";   
String s3 = "china";   
String ss1 = new String("china");   
String ss2 = new String("china");   
String ss3 = new String("china");  
String s1 = "china";
String s2 = "china";
String s3 = "china";
String ss1 = new String("china");
String ss2 = new String("china");
String ss3 = new String("china");
对于基础类型的变量和常量:变量和引用存储在栈中,常量存储在常量池中。
如以下代码:
Java代码
int i1 = 9;   
int i2 = 9;   
int i3 = 9;    
public static final int INT1 = 9;   
public static final int INT2 = 9;   
public static final int INT3 = 9;  
int i1 = 9;
int i2 = 9;
int i3 = 9;
public static final int INT1 = 9;
public s


相关文档:

java面试题

经过长时间的面试,以下是JAVA面试的常见的笔试题的整理。
1、String和StringBuffer的区别
     JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操纵字符串,即包含多个字符的字符数据。
String类提供了数值不可变的字符串。StringBuffer类提供的字符串进行修改。当知道字符数据要改变 ......

Test1.java(java homework)

public class Test1 {
public static void main(String[] args) {
//assignment
byte bval1 = 1, bval2 = 2;
short sval1 = 1, sval2 = 2;
int ival1 = 1, ival2 = 2;
long lval1 = 1, lval2 = 2;

float fval1 = 1.0f, fval2 = 2.0f;
double dval1 = 1.0, dval2 = 2.0;

char cval1 = 'a' ......

java 操作 csv文件

1     基本介绍
可以说CSV格式的文件经常碰到,何为CSV格式,CVS全称comma-separated values,就是典型的用逗号隔开的文件,比如下面这种文件格式
Name,company
zhangsan,ibm
lisi,oracle
这种就是典型的CSV格式文件。不过也可以扩展到其它符号隔开的字符,比如
Name#company
Zhangsan#ibm ......

设计模式——抽象工厂 [java]

版权所有,转载注明出处!
转载请携带此信息:huangfox
-----------------------------------------------------------------
抽象工厂和工厂方法 刚开始很容易混淆,至少我是这样的!
不过他们产生的缘由来看,还是可以好好区分的。
1.工厂方法:是为了避免应用直接实例类层次结构中的具体类,提供一个方法根据运行情 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号