java堆栈区别

java堆栈区别转自 http www iteye com topic 寄存器 最快的存储区 由编译器根据需求进行分配 我们在程序中无法控制 2 栈 存放基本类型的变量数据和对象的引用 但对象本身不存放在栈中 而是存放在堆 new 出来的对象 或者常量池中 对象可能在常量池里 字符串常量对象存放在常量池中 3 堆 存放所有 new 出来的对象 4 静态域 存放静态成员 st

转自:http://www.iteye.com/topic/

Java代码  收藏代码

  1. String s1 = “china”;  
  2. String s2 = “china”;  
  3. String s3 = “china”;  
  4. String ss1 = new String(“china”);  
  5. String ss2 = new String(“china”);  
  6. String ss3 = new String(“china”);  

这里解释一下黄色这3个箭头,对于通过new产生一个字符串(假设为”china”)时,会先去常量池中查找是否已经有了”china”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”china”对象的拷贝对象。这也就是有道面试题:String s = new String(“xyz”);产生几个对象?一个或两个,如果常量池中原来没有”xyz”,就是两个。

Java代码  收藏代码

  1. int i1 = 9;  
  2. int i2 = 9;  
  3. int i3 = 9;   
  4. public static final int INT1 = 9;  
  5. public static final int INT2 = 9;  
  6. public static final int INT3 = 9;  

Java代码  收藏代码

  1. class BirthDate {  
  2.     private int day;  
  3.     private int month;  
  4.     private int year;      
  5.     public BirthDate(int d, int m, int y) {  
  6.         day = d;   
  7.         month = m;   
  8.         year = y;  
  9.     }  
  10.     省略get,set方法………  
  11. }  
  12.   
  13. public class Test{  
  14.     public static void main(String args[]){  
  15. int date = 9;  
  16.         Test test = new Test();        
  17.            test.change(date);   
  18.         BirthDate d1= new BirthDate(7,7,1970);         
  19.     }    
  20.   
  21.     public void change1(int i){  
  22.         i = 1234;  
  23.     }  
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199455.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 下午12:56
下一篇 2026年3月20日 下午12:57


相关推荐

  • html练习(5)

    html练习(5)

    2022年1月21日
    61
  • murmurhash3 java_MurMurHash3

    murmurhash3 java_MurMurHash3packageutil.hash;/***TheMurmurHash3algorithmwascreatedbyAustinApplebyandplacedinthepublicdomain.*ThisjavaportwasauthoredbyYonikSeeleyandalsoplacedintothepublicdomain.*…

    2022年10月19日
    3
  • 玩是学编程的最好方式

    玩是学编程的最好方式上周末晚上好朋友找我聊天 说他最近在学习 Python 但却总处于两天打渔三天晒网的状态 他很想学好 可是学习效率低下 事倍功半 但却不知道问题出在哪里 所以向我请教学习编程之法 看到好朋友有如此学习上进之心 我也备受鼓舞 下定决心要帮他排忧解难 但说来容易 做起来难 一时之间 我也不知道如何下手 说一千道一万 首先应当对现有问题有个定义 然后再对症下药 可问题的症结究竟在哪里呢 是学习不够用心 不够专注 还是好朋友不适合学习 Python 心中提出了无数个设想 但却总觉得没有 get 到问题的本质 那问题的本质

    2026年3月17日
    2
  • Arduino教程 RFID-RC522读IC卡门禁原理及破解防御[通俗易懂]

    【文章特色:1、提出IC卡破解原理和简单有效的防御方法2、网上其他文章对于硬件如何接线说得模糊不清】1、序言2、加载RC522库文件3、模块引脚接线4、程序代码5、运行结果先说下简单门禁系统的原理:(1)IC卡激活:门禁卡管理员将卡片放到读卡器、这时软件读取到IC卡的UID序列号信息(相当于身份证号码),将这个UID录入数据库激活IC卡。(2)刷卡

    2022年4月17日
    290
  • ORA-00937: 不是单组分组函数

    ORA-00937: 不是单组分组函数修改sql语句的时候遇到了这个错误ORA-00937:不是单组分组函数eg:查询人员表中的name、age以及最大age;selectname,age,max(age)fromPerson;此时将会报错ORA-00937:不是单组分组函数—解释意思为:select语句中又在查询某一列的值,其中还有聚合函数。oracle数据库都要疯了。。将上述修改为:se…

    2022年6月15日
    55
  • 多重共线性检验-方差膨胀系数(VIF)-相关系数(机器学习)sklearn

    多重共线性检验-方差膨胀系数(VIF)-相关系数(机器学习)sklearn文章目录多重共线性检验-方差膨胀系数(VIF)1、原理:2、多重共线性:3、检验方法:方差膨胀系数(VIF):相关性检验:4、代码测试4.1导入相关库4.2准备数据4.3计算膨胀因子4.4计算相关系数4.5分割测试集4.6模型选择4.7AUC值4.8模型调整4.8.1删除账户资金4.8.2删除累计交易佣金5、总结多重共线性检验-方差膨胀系数(VIF)1、原理:方差膨胀系数是衡量多元线性回归模型中多重共线性严重程度的一种度量。它表示回归系数估计量的方差与假设自变量间不线性相关时方差相比的比值。

    2022年6月9日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号