原文:面试题之String str = new String("abc"); 创建了几个对象

今天去面试的时候碰到了这个问题:String str new String abc 创建了几个对象,回来自己研究并查阅资料才发现答错了。。网上的争论不少,有的说是两个,答案应该是:两个或一个理由解释如下:都了解java 的字符串常量缓冲区 字符串池,字符串常量池 ,如果代码是这样的: java view plain copy Stringstr newString abc 并且 abc 字符串之前 ...

2016-09-15 18:14 3 13635 推荐指数:

查看详情

String str=new String("abc");创建了几个String对象

String str=new String("abc"); 我们可以把上面这行代码分成String str、=、"abc"和new String()四部分来看待。String str只是定义了一个名为strString类型的变量,因此它并没有创建对象;=是对变量str进行初始化 ...

Mon Nov 23 06:33:00 CST 2015 0 4776
面试题系列:new String("abc")创建了几个对象

new String("abc")创建了几个对象 面试官考察点猜想 这种问题,考察你对JVM的理解程度。涉及到常量池、对象内存分配等问题。 涉及背景知识详解 在分析这个问题之前,我们先来了解一下JVM的组成,如图所示。 在JVM1.8中,内存划分为堆、程序计数器、本地方发栈、方法区 ...

Wed Oct 27 21:15:00 CST 2021 0 850
String str = new String("abc")创建了几个对象?结合源码解析

String str = new String("abc")创建了几个对象?结合源码解析   首先,我们看一下jdk源码:    大家都知道String本身就是个引用类型,我们可以将String str = new String("adc")分为四部分来看,String str ...

Wed Jan 10 00:37:00 CST 2018 0 1535
String s=new String("abc")创建了几个对象?

String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 答案应该是1个或者2个。 1个的情况:如果字符串池中已经存在了"abc"这个对象,那么直接在创建一个对象放入堆中,返回str引用。 2个的情况 ...

Tue Jan 09 17:13:00 CST 2018 0 4385
String a=new String("abc")创建了几个对象

String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 相信大家对这道题并不陌生,答案也是众所周知的,2个。 接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识 ...

Thu Apr 16 04:16:00 CST 2015 0 5816
String s=new String("abc")创建了几个对象?

转载自:http://www.cnblogs.com/ydpvictor/archive/2012/09/09/2677260.html String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 相信 ...

Mon Apr 15 20:47:00 CST 2013 2 3417
String s=new String("abc")创建了几个对象?

String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 相信大家对这道题并不陌生,答案也是众所周知的,2个。 接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识 ...

Sun Sep 09 17:43:00 CST 2012 19 98302
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM