- 浏览: 602694 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
Garlic_90:
ireport分页的话代码写起来有些复杂,我以前试过,比较简单 ...
ireport分页显示 -
feijiing:
nice,problem solved,thanks!
虚拟机安装centos no valid devices were found on which to cereate new file systems -
Jocken:
引用的jar包需要怎么加在命令里面?十多个呢,为什么配在MAN ...
linux 如何运行jar包 -
xiaoqiao800:
看到你的问题,有帮助,我之前都是手动的clear项目下的cla ...
The project cannot be built until build path errors are resolved -
mfkdzhou:
楼主好,我现在也遇到这个问题,可以把源代码发一份不?谢谢了。8 ...
java打印
我是一个开发经验只有半年的程序员,原来通过自学只是学习一些技术,并没有通过什么认证考试,
现在公司这两个星期工作任务不是很多,在网上查了一下,相考一些关于java方面的认证之类的,
为了自己以后的发展,不知道sun的scjp认证用处到底大不大,
希望各位给点建议.
如果这个都不清楚的话,你的证书很难拿到哦,J2SE还没入门哩
跑题一下,这个问题我猜是String的+操作重新在堆里构建了字符串,而不是在常量池
输出个啥?
true
呵呵!有意思...
哪?
String s="abc";
String s1=s;
System.out.println(s==s1);
哪又輸出什么?
考scjp,还不如把 ssh 看下
问题是有些东西看多了,感觉就没什么兴趣了,我还是对一些java基础比较感兴趣,也非常高兴能在这遇到这么多高手!
Java代码
String a = "java";
String b = "ja" + "va";
String c = "ja".concat("va");
System.out.println(a == b);// true
System.out.println(a == c);// false String a = "java";
String b = "ja" + "va";
String c = "ja".concat("va");
System.out.println(a == b);// true
System.out.println(a == c);// false
上面两种方法连接字符串也是有区别的。其实就是jvm字符串常量池的原因。 这篇文章分析的很详细了:http://java.ccidnet.com/art/3539/20070912/1210357_1.html
这篇文章非常好!
1.我才知道如果变量s1申明为final String s1="a" 的时候,效果又不一样!编译器可以把s1当成常量字符串来处理.
2.至于你说的concat,api解释是创建一个新的 String 对象,用来表示由此 String 对象表示的字符序列和由参数字符串表示的字符序列串联而成的字符序列。
既然是新创建的字符对象当然和其他对象不一样,何况这个例子中他们根本就没在一个存储区域!
谢谢!
上面两种方法连接字符串也是有区别的。其实就是jvm字符串常量池的原因。
这篇文章分析的很详细了:http://java.ccidnet.com/art/3539/20070912/1210357_1.html
learnmore 写道
看了你的解释我首先有点激动,因为我感觉好像突然悟出点什么来了. 我还没去试结果,不过我想先推断一下,按照你的说法, 1.应该是所有常量池中的值都是在编译期间就确定下来的? 2.如果s3是s1和"bc"这个常量相加那么,最后输出的结果应该也是false,因为s1是一个变量所以无法在编译期间确定下来,只有等到运行期间才能确定s1的值,根据你的观点 运行期间确定的必定会在堆中有一份实例,因此s和s3也指向的是不同区域的值? 理解正确。
非常感谢!今天真是有收获!
理解正确。
现在公司这两个星期工作任务不是很多,在网上查了一下,相考一些关于java方面的认证之类的,
为了自己以后的发展,不知道sun的scjp认证用处到底大不大,
希望各位给点建议.
评论
54 楼
dvdface
2008-10-27
我最近想考, 感觉能力已经不错了, 考这个水到渠成, 翻下SCJP指南,过这个考试应该没什么问题
53 楼
learnmore
2008-10-27
千金散尽还复来
52 楼
laiseeme
2008-10-27
学学基础知识挺好 但是要花10多个老头 舍不得啊
51 楼
xiaoqulai
2008-10-27
learnmore 写道
没办法,我随便看了一下scjp的试题,把我搞的糊里糊涂的,很多题我见过,但就是知其然不知其所以然,因此我决定利用报考的机会,加深自己的理解,我虽没有想过自己要去研究很高深的东西,但是让我停留在如此肤浅的层次让我感觉很不爽.
光是一个字符串的问题,我就迷糊了很长时间,到现在还不是很清楚.
就像我才发的那个帖子
String s="abc";
String s1="a";
String s2="bc";
String s3=s1+s2;
System.out.println(s==s3);//问这里会输出什么?为什么?
我连这个是为什么都没搞清楚.
光是一个字符串的问题,我就迷糊了很长时间,到现在还不是很清楚.
就像我才发的那个帖子
String s="abc";
String s1="a";
String s2="bc";
String s3=s1+s2;
System.out.println(s==s3);//问这里会输出什么?为什么?
我连这个是为什么都没搞清楚.
如果这个都不清楚的话,你的证书很难拿到哦,J2SE还没入门哩
50 楼
sigon
2008-10-27
learnmore 写道
没办法,我随便看了一下scjp的试题,把我搞的糊里糊涂的,很多题我见过,但就是知其然不知其所以然,因此我决定利用报考的机会,加深自己的理解,我虽没有想过自己要去研究很高深的东西,但是让我停留在如此肤浅的层次让我感觉很不爽.
光是一个字符串的问题,我就迷糊了很长时间,到现在还不是很清楚.
就像我才发的那个帖子
String s="abc";
String s1="a";
String s2="bc";
String s3=s1+s2;
System.out.println(s==s3);//问这里会输出什么?为什么?
我连这个是为什么都没搞清楚.
光是一个字符串的问题,我就迷糊了很长时间,到现在还不是很清楚.
就像我才发的那个帖子
String s="abc";
String s1="a";
String s2="bc";
String s3=s1+s2;
System.out.println(s==s3);//问这里会输出什么?为什么?
我连这个是为什么都没搞清楚.
跑题一下,这个问题我猜是String的+操作重新在堆里构建了字符串,而不是在常量池
49 楼
learnmore
2008-10-27
恩 知道了 谢谢你们!
48 楼
lzmhehe
2008-10-24
http://zangweiren.iteye.com/blog/209895
这为老大写的东西 看过了就知道 为什么了
这为老大写的东西 看过了就知道 为什么了
47 楼
KimHo
2008-10-24
1.String s3=s1+s2;//由于字符串串池的作用,String s3=s1+s2(内容为"abc"),s3会直接引用字符串变量s所引用的那个字符串对象("abc").所以,这条语句并没有在串池中添加新的字符串对象,也就是说,这条语句并没有创建任何新的字符串对象!
2.String s3=s1+s2//引用了串池中的"abc"
String s="abc"//也引用了串池中的"abc"
s3==s,结果为"false"//比较的是,两个变量的内存地址
s3.equals(s),结果为"true"//比较的是,所引用对象的"内容"(因为s和s3这两个变量所引用的字符串,是同一个,而且值都为"abc").
PS:实际上,String str1="a"+"bc"这条语句等同于String str2="abc",即只创建了一个字符串对象,而不是3个字符串对象!(前提是:在串池中,没有"abc"这个字符串).
补充一点:
String s="abc";
String s3="a"+"bc";
System.out.println(s==s3);//结果却为"True"
2.String s3=s1+s2//引用了串池中的"abc"
String s="abc"//也引用了串池中的"abc"
s3==s,结果为"false"//比较的是,两个变量的内存地址
s3.equals(s),结果为"true"//比较的是,所引用对象的"内容"(因为s和s3这两个变量所引用的字符串,是同一个,而且值都为"abc").
PS:实际上,String str1="a"+"bc"这条语句等同于String str2="abc",即只创建了一个字符串对象,而不是3个字符串对象!(前提是:在串池中,没有"abc"这个字符串).
补充一点:
String s="abc";
String s3="a"+"bc";
System.out.println(s==s3);//结果却为"True"
46 楼
wzdoxu
2008-10-24
基础还是相当重要啊,之前对String 都没有这么透彻的了解过
45 楼
Godlikeme
2008-10-23
基础打好,那些框架的东西学起来很容易的。
44 楼
sdh5724
2008-10-23
如果你只是刚毕业不9, 我建议你点, 我相信你会找到一份好工作:
java.lang,java.io, java.util 看明白大部分内容。
看明白 Collection/Set的所有东西。
我相信你能明白JAVA的大部分东西, 时间差不多一个月足够了。
让那些所有的框架去死吧, 那些东西学起来很快的。
有时间去看看设计模式, 对你看框架, 理解框架比较有意义。
所谓的考试, 没有什么作用, 特别是这个东西你无法与实践联系起来, 你根本不明白那些题目的含义。
java.lang,java.io, java.util 看明白大部分内容。
看明白 Collection/Set的所有东西。
我相信你能明白JAVA的大部分东西, 时间差不多一个月足够了。
让那些所有的框架去死吧, 那些东西学起来很快的。
有时间去看看设计模式, 对你看框架, 理解框架比较有意义。
所谓的考试, 没有什么作用, 特别是这个东西你无法与实践联系起来, 你根本不明白那些题目的含义。
43 楼
major361
2008-10-23
肯定是true
字符串常量和用new不一样
字符串常量和用new不一样
42 楼
eclipse2008
2008-10-23
scjp用处不大,scjd还能有点用处。
41 楼
myprincejava
2008-10-23
dengcong 写道
WorkingHard?! 写道
String s="abc"; String s1="abc"; System.out.println(s==s1);
输出个啥?
true
呵呵!有意思...
哪?
String s="abc";
String s1=s;
System.out.println(s==s1);
哪又輸出什么?
40 楼
learnmore
2008-10-23
foxxiao 写道
考scjp,还不如把 ssh 看下
问题是有些东西看多了,感觉就没什么兴趣了,我还是对一些java基础比较感兴趣,也非常高兴能在这遇到这么多高手!
39 楼
learnmore
2008-10-23
javaboy2006 写道
Java代码
String a = "java";
String b = "ja" + "va";
String c = "ja".concat("va");
System.out.println(a == b);// true
System.out.println(a == c);// false String a = "java";
String b = "ja" + "va";
String c = "ja".concat("va");
System.out.println(a == b);// true
System.out.println(a == c);// false
上面两种方法连接字符串也是有区别的。其实就是jvm字符串常量池的原因。 这篇文章分析的很详细了:http://java.ccidnet.com/art/3539/20070912/1210357_1.html
这篇文章非常好!
1.我才知道如果变量s1申明为final String s1="a" 的时候,效果又不一样!编译器可以把s1当成常量字符串来处理.
2.至于你说的concat,api解释是创建一个新的 String 对象,用来表示由此 String 对象表示的字符序列和由参数字符串表示的字符序列串联而成的字符序列。
既然是新创建的字符对象当然和其他对象不一样,何况这个例子中他们根本就没在一个存储区域!
谢谢!
38 楼
foxxiao
2008-10-23
考scjp,还不如把 ssh 看下
37 楼
javaboy2006
2008-10-23
String a = "java"; String b = "ja" + "va"; String c = "ja".concat("va"); System.out.println(a == b);// true System.out.println(a == c);// false
上面两种方法连接字符串也是有区别的。其实就是jvm字符串常量池的原因。
这篇文章分析的很详细了:http://java.ccidnet.com/art/3539/20070912/1210357_1.html
36 楼
learnmore
2008-10-23
温柔一刀 写道
learnmore 写道
看了你的解释我首先有点激动,因为我感觉好像突然悟出点什么来了. 我还没去试结果,不过我想先推断一下,按照你的说法, 1.应该是所有常量池中的值都是在编译期间就确定下来的? 2.如果s3是s1和"bc"这个常量相加那么,最后输出的结果应该也是false,因为s1是一个变量所以无法在编译期间确定下来,只有等到运行期间才能确定s1的值,根据你的观点 运行期间确定的必定会在堆中有一份实例,因此s和s3也指向的是不同区域的值? 理解正确。
非常感谢!今天真是有收获!
35 楼
温柔一刀
2008-10-23
learnmore 写道
看了你的解释我首先有点激动,因为我感觉好像突然悟出点什么来了.
我还没去试结果,不过我想先推断一下,按照你的说法,
1.应该是所有常量池中的值都是在编译期间就确定下来的?
2.如果s3是s1和"bc"这个常量相加那么,最后输出的结果应该也是false,因为s1是一个变量所以无法在编译期间确定下来,只有等到运行期间才能确定s1的值,根据你的观点
运行期间确定的必定会在堆中有一份实例,因此s和s3也指向的是不同区域的值?
我还没去试结果,不过我想先推断一下,按照你的说法,
1.应该是所有常量池中的值都是在编译期间就确定下来的?
2.如果s3是s1和"bc"这个常量相加那么,最后输出的结果应该也是false,因为s1是一个变量所以无法在编译期间确定下来,只有等到运行期间才能确定s1的值,根据你的观点
运行期间确定的必定会在堆中有一份实例,因此s和s3也指向的是不同区域的值?
理解正确。
发表评论
-
java模拟点击
2020-05-12 18:26 462try { Dimension screenS ... -
jekins集成maven发布项目过程中遇到的坑
2017-04-05 14:33 1716背景: 用maven构建项目之后,每次需要部署集成测试环 ... -
logback配置
2015-08-17 15:30 662<?xml version="1.0" ... -
javamail
2014-07-09 21:35 803http://blog.csdn.net/zapldy/art ... -
jdbc批量插入数据
2013-11-10 11:35 857以下过程网上看到,备份一下语法而已 Connection co ... -
jdbc获得生成记录主键
2013-11-10 11:18 709在网上看到的,备份一下而已 Connection conn = ... -
jdbc调用存储过程
2013-11-10 11:12 674只是把调用过程备份一下 Connection conn = ... -
十六进制转字符串
2013-07-04 22:09 1348记录一下十六进制转字符串,以备以后使用方便 //十六进制转字符 ... -
模拟自动登录并发表日志
2012-12-11 20:11 1209公司要求每天都需要写 ... -
List.toArray()强转对象数组
2012-06-13 15:18 1501假设现在有一个集合list,里面装的都是对象A,如下代码进行强 ... -
正则表达式
2012-06-05 13:53 1如果你曾经用过Perl或任 ... -
关于LinkedHashMap的一些简单实验
2012-05-15 14:53 929同为实现了Map接口的类,LinedHashMap在迭代的时候 ... -
UUID
2012-05-14 15:34 1491转自http://popwang.iteye.com/blog ... -
eclipse install memory analyzer
2012-05-02 16:16 1085安装地址 http://download.eclipse.or ... -
java加密解密算法记录
2012-04-13 14:56 9922以下内容均摘自我买的书籍《java加密与解密的艺术》作者 梁栋 ... -
common email发送邮件
2012-03-06 16:56 1615项目地址:http://commons.apache.org/ ... -
java实现压缩和解压缩
2012-03-01 16:17 1114转自于站内兄弟的文章:http://wallimn.iteye ... -
java算法记录
2012-02-07 19:12 844package com.algorithm; impor ... -
java中yield(),sleep()以及wait()的区别
2012-02-07 10:30 1003转自http://xiechengfa.iteye.com/b ... -
oracle调用java
2011-12-27 15:18 1478修改别人写的oracle数据库调用java代码,换了一个环境, ...
相关推荐
SCJP
SCJP典型试题1000例 SCJP典型试题1000例 SCJP典型试题1000例
### SCJP学习指南知识点概述 #### 一、声明与访问控制 (Declarations and Access Control) 本书的第一章重点讲解了声明和访问控制的概念及其在Java中的应用。这些概念对于理解和掌握面向对象编程至关重要。 #####...
SCJP – Sun Certified Java Programmer (Sun Java 程序员认证).Sun 公司作为Java 语言的发明者,对全球的Java 开发人员进行技术水平认证。该认证在国际上获得了IT 公司的普遍认可,是目前国际上最热门的IT 认证之一...
《SCJP大全》是一款全面覆盖SCJP(Sun Certified Programmer for Java Platform, Standard Edition)考试的知识资源,旨在帮助学习者一次性通过这项重要的Java编程认证。SCJP是Java开发人员的基础认证,证明了持有者...
SCJP,全称为Sun Certified Programmer for the Java 2 Platform,是Oracle公司(原Sun Microsystems)推出的针对Java程序员的认证考试。这个考试旨在测试考生对于Java SE平台基础编程的知识和技能。以下是一些SCJP...
SCJP 可以说各种Java认证的基础,相对于SCJD来说,SCJP更侧重于测验您的Java程序设计概念及能力,内容偏重于Java语法及JDK的内容。其对应的最主要的学习课程是SL-275。SCJP 的学习/考试过程是相对相对比较明确的,...
SCJP sun certificated java programmer (SCJP) 一种Java认证考试 对于Java程序设计员,Sun推出两项认证:Sun Certificated Java Programmer (SCJP)和Sun Certificated Java Developer(SCJD)。 SCJP 可以说...
SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Oracle公司为Java程序员提供的一项权威认证,证明其在Java编程语言上的专业能力。这个认证涵盖了基础语法、类库、异常处理、多线程、...
SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Oracle公司先前对Java程序员进行认证的一项考试,旨在测试开发者对于Java SE平台的基础知识和编程能力。这个压缩包文件包含了一个...
标题所指的“scjp题库(中文版)”是一本针对Java程序员职业认证——SCJP(Sun Certified Java Programmer)考试的中文版题库。SCJP是Oracle公司早期提供的Java认证考试,后由于Oracle收购了Sun公司,该认证也随之...
SCJP(Sun Certified Programmer for the Java Platform)是Oracle公司(原SUN公司)推出的一门针对Java编程语言的初级认证考试。这个认证旨在验证开发者对Java语言基础的掌握程度,包括语法、数据类型、控制结构、...
SCJP(Sun Certified Programmer for the Java Platform, Standard Edition)是Oracle公司(原Sun Microsystems)推出的一项Java编程语言的认证考试,旨在验证候选者对Java SE平台的基础知识和编程能力。这个认证...
SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Oracle公司先前为Java程序员提供的一个认证考试,旨在验证候选者对Java编程语言的基本理解与应用能力。这个"scjp模拟器"可能是用于...
Java SCJP,全称为Sun Certified Programmer for the Java 2 Platform, Standard Edition,是Oracle公司针对Java初学者和专业开发者的一项认证考试。这个“Java SCJP中文学习指南”旨在帮助中文使用者深入理解Java...
《SCJP官方教材中文版》是一本专门为准备SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)考试的学员编写的指南。SCJP,现已被Oracle认证为Oracle Certified Associate, Java SE 8 ...
SCJP,全称为Sun Certified Programmer for the Java 2 Platform, Standard Edition,是Oracle公司(原Sun Microsystems)为Java程序员提供的一项认证考试。这个题库包含了近1000道题目,旨在帮助考生全面掌握Java ...
SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Oracle公司为Java程序员提供的一项认证考试,旨在验证考生对Java编程语言的基础知识和理解。这个“SCJP考试模拟软件”显然是一款帮助...
资源名称:[浪曦原创]SCJP试题解析视频课程(胡屹)资源目录:【】[A309]SCJP视频解析—序列化【】[A310]SCJP视频解析—字符串上【】[A311]SCJP视频解析—字符串下【】[A312]SCJP试题解析—Constructors【】[A318]SCJP...