(1)我们在使用诸如String str = "abc";的格式定义类时,总是想当然地认为,我们创建了String类的对象str。担心陷阱!对象可能并没有被创建!唯一可以肯定的是,指向String类的引用被创建了。至于这个引用到底是否指向了一个新的对象,必须根据上下文来考虑,除非你通过new()方法来显要地创建一个新的对象。因此,更为准确的说法是,我们创建了一个指向String类的对象的引用变量str,这个对象引用变量指向了某个值为"abc"的String类。清醒地认识到这一点对排除程序中难以发现的bug是很有帮助的。 (2)使用String str = "abc";的方式,可以在一定程度上提高程序的运行速度,因为JVM会自动根据栈中数据的实际情况来决定是否有必要创建新对象。而对于String str = new String("abc");的代码,则一概在堆中创建新对象,而不管其字符串值是否相等,是否有必要创建新对象,从而加重了程序的负担。这个思想应该是享元模式的思想,但JDK的内部在这里实现是否应用了这个模式,不得而知。第一个问题涉及到了对象的存储(在java中栈的存取)
解决方案 »
- 方法响应完后调用其它方法?```````````顶者有分
- 一个很弱的问题 急等~~~String 转 int 的问题~ 跪求各位急啊~~~
- 如何在jsp中上传图片时压缩图片
- SSH项目中的一个非常规的404错误!
- struts导出excel问题,请教各位,先谢谢了!!!!!!!!!
- Sping与Struts整合配置
- JAVA连接SQL SERVER详细代码小弟刚学,请高手帮忙
- 遇见一个小问题,希望各位兄弟帮忙解决一下.
- 一个考试系统中的随机抽取试题的问题?
- 怎么配置jbuilder7.0,weblogic7.0和sqlserver7.0
- 关于延迟加载的使用?
- 100 分求分 为会么在JBuilder的工程里的JAVA文件 引入包时不能用*
二,session机制是一种服务器端的机制,
具体请看
http://www.zhanglihai.com/article/2005-01-24/0G7CG6C0CR4C01C27G121CG0SU2PWLAF.xtp
三,ejb之间通过ejb容器上的某个对象或接口通信,具体不清楚了
因为如果在内存中存在"xyz"对象了,那么s就直接指向这个"xyz"对象,
而没有去新new一个;2.request.getSession(true).getId()来区别;