面试常见考题_java基础(全).docx

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
J2SE基础九种基本数据类型的大小,以及他们的封装类。基本类型:boolean byte char short int long float double void 封装类型:Boolean Byte 基本类型大小范围默认值包装类型boolean1True、falseFalseBooleanbyte8-128 +1270Bytechar16Unicode0 unicode2^16 -1\u0000Charactershort16-2^15 2^15-1Shortint32-2^31 2^31-1Integerlong64-2^63 2^63-1Longfloat32Floatdouble64DoublevoidVoid基本数据类型与其对应的封装类由于本质的不同,具有一些区别:基本数据类型只能按值传递,而封装类按引用传递。基本类型在堆栈中创建;而对于对象类型,对象在堆中创建,对象的引用在堆栈中创建。基本类型由于在堆栈中,效率会比较高,但是可能会存在内存泄漏的问题。2. Switch能否用string做参数?在java7之前,switch只支持byte、short、char、int 或者其对应的封装类以及Eumn类型,在java7中,String支持被加上了。如在jdk 7 之前的版本使用, 会提示如下错误:Cannot switch on a value of type String for source level below 1.7.?Only convertible int values or enum variables are permitted3. equals与==的区别。值类型是存储在内存的栈中,引用类型的变量在栈中存放其引用类型变量的地址,其值存储在堆中。== 比较的是两个变量的值是否相等,对于引用变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。Equals 比较的是两个变量是否是对同一个对象的引用,即堆中的内容是否相同。public class TestString { public static void main(String[] args) { String s1 = Monday; String s2 = Monday; if (s1 == s2) System.out.println(s1 == s2); else System.out.println(s1 != s2); } } 创建对象之前会在字符串缓冲池中查找是否有此字符串常量,如果存在直接返回其引用,s1、s2两者的引用都是相同的。public class TestString { public static void main(String[] args) { String s1 = Monday; String s2 = new String(Monday); s2 = ern(); if (s1 == s2) System.out.println(s1 == s2); else System.out.println(s1 != s2); if (s1.equals(s2)) System.out.println(s1 equals s2); else System.out.println(s1 not equals s2); } } 本程序中的s1指向字符串缓冲区中的常量的引用,s2根据字符串缓冲区中的常量作为构造函数的参数,新建了一个对象并存储在内存中的另一个位置。(如果常量不存在与字符串缓冲区,则先在字符串缓冲区中建立常量,然后newString,这样就创建了两个对象!)附:构造方法original即为字符串缓冲池中得到的public String(String original) { this.value = original.value; this.hash = original.hash; }java字符串缓冲池分析java字符串缓冲池分析:??java的虚拟机在内存中开辟出一块单独的区域,用来存储字符串对象,这块内存区域被称为字符串缓冲池。到底创建了

文档评论(0)

2232文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档