`
minijack
  • 浏览: 21552 次
  • 性别: Icon_minigender_1
  • 来自: 江苏泰州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java面试之数据类型

阅读更多

Java中类型大体分为两类,一类是原始类型,一类是引用类型。另外,java为每个原始类型提供了封装类。它们之间有很多的不同。
如下:

1. 声明时存储的内容不同。
声明一个原始类型时,就为类型本身声明了存储。而声明一个引用变量时,在堆栈中存放不是对象本身,而是对对象的引用。也就是存储的是指向对象存储所在的堆的某个区域的指针。

2. 实例化数据时缺省值不同。
对象引用实例变量缺省值为null; 而原始类型的缺省值是与具体类型相关的“似零值”

3. 调用方式不同。
原始数据类型不需要调用new,也不要创建对象。而引用类型需要调用new创建对象。
当然为了,程序员操作方便,java中为所有的原始数据类型提供了相对应的封装类。这些封装类使得这些我们可以像一般对象那样使用原始类型。
下面延伸几个知识点:

1. Int 和 integer的区别

2. ==与equals的区别
这两个都都是用于判断是否相等用的。
判断是否相等在java中分为原始数据类型的比较,和引用类型的比较。
原始数据类型比较使用==就是直接比较他的值。这个没有多大问题。
问题在于,引用对象之间的比较。==和object对象中equals都是比较两个对象的引用对象是否相等。而不是对象本身。不同的是,equals方法可以覆盖,其他类继承object类时可以覆盖equals方法。使他比较的是对象本身。
(可以结合看看jdk的源代码!)


public class Test{      
public static void main(String[] args){      
//s1,s2分别位于堆中不同空间      
String s1=new String("hello");      
String s2=new String("hello");      
System.out.println(s1==s2)//输出false//s3,s4位于池中同一空间      
String s3="hello";      
String s4="hello";      
System.out.println(s3==s4);//输出true      
}      
}



这里有添加一个比较怪异的现象!
这里主要是因为使用的对象池技术! 详情请参考 博文:  http://minijack.iteye.com/blog/976355
从一道诡异的程序说起!

3.String和stringbuffer和stringbuild的区别
Java提供了两个字符串类:String和StringBuffer。它们可以储存和操作字符串,即包含多个字符的字符串数据。String提供了不可改变的字符串,而stringbuffer提供的字符串对象可以进行修改。当知道要修改的时候可以使用StringBuffer类创建。

String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。

StringBuffer 线程安全JDK 1.0 StringBuilder 线程不安全JDK 1.5
为了达到线程安全的目的在一定程度上会降低程序的性能。所以在单线程中,StringBuilder的性能要比StringBuffer高。多线程为了线程安全需要采用StingBuffer。其实在线程不考虑的情况下,要是程序对性能的要求不高,太在意这两者的区别就没有什么意义

                                                      5.11 补充!
分享到:
评论

相关推荐

    史上最全Java面试题目大集合

    整理了网上的一些java面试题目,很全很强大 面向对象的特征有哪些方面 1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面。抽象并不5. 打算了解全部问题...

    Java面试题合集最新版2024.zip

    数据类型、变量与运算符:理解Java中的基本数据类型、变量声明与初始化,以及常用的运算符和表达式。 控制流语句:熟悉if-else、switch、for、while等控制流语句的用法。 面向对象编程:深入理解Java中的类、对象、...

    Java 面试中有关数据类型常见的 50 个面试题.pdf

    以上是 Java 面试中有关数据类型常见的 50 个面试题,涵盖了基本数据类型、引用数据类型、包装类、枚举类型、注解、正则表达式、日期和时间 API、泛型、异常、断言、多态、继承、接口、抽象类、内部类、lambda ...

    各大互联网公司常见java面试题

    4、java有哪些基本数据类型? 5、数组有没有length()方法?String有没有length()方法? 6、Java支持的数据类型有哪些?什么是自动拆装箱? 7、int 和 Integer 有什么区别? 8、Java类的实例化顺序? 9、什么是值传递和引用...

    JAVA程序员面试宝典

    Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble 引用...

    Java程序员面试宝典

    《Java程序员面试宝典》列举了各大IT公司的面试真题,详细分析了应聘Java程序员职位的常见考点,主要内容包括面试流程及求职准备、Java语言基础、数据类型、集合框架、图形用户界面、输入与输出、多线程、反射机制、...

    Java程序员面试指南

    资源名称:Java程序员面试指南内容简介:本书涵盖了Java面试中会经常出现的问题,并指导读者快速、巧妙地解决问题。全书共分18章,内容涵盖了面试前必须要知道的几件事、Java程序基础、Java语言中的符号、数据类型及...

    Java面试八股文解析.pptx.pptx

    Java拥有8种基本数据类型,包括整型、浮点型、字符型等,以及引用数据类型如数组和类,为编程提供了丰富的数据表达能力。 Java控制结构 Java的控制结构包括顺序、选择和循环三种,通过if-else语句、switch语句和for...

    java面试真题整理

    栈内存:基本数据类型的变量,方法的返回值,对象的引用(对象的引用地址) 3.static:存放在静态域中和类属于同一个属性,修饰的方法:类名.static 4.Java多态的体现方式方法的重载,重写,对象的多态性 1.编译时...

    java面试题汇总

    2017最新java面试题汇总,包括ssm,ssh,ajax理解,冒泡排序,线程安全,spring mvc运行原理,spring mvc,struts1和struts2区别,Oracle的基本数据类型......

    2017史上最全Java面试大全.doc

    2.String是最基本的数据类型吗? 23 3.抽象方法 24 4.jsp注释 24 5.JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 24 6.如何用css约束一个层不可见? 24 7.说出数据连接池的工作机制是什么 24 8. 多线程...

    学会这些java面试题让你吊打面试官

    学会这些java面试题让你吊打面试官!面试前看看,让你充满自信,不再惧怕面试官各种刁难。1.Java中内存管理及各区域内存储数据的生命周期? 2.JVM堆内存的分代管理以及垃圾回收流程? 3.面向对象三大特征及详细理解? 4...

    Java后端面试问题整理.docx

    Java后端面试知识点总结,涉及JVM • 熟悉JVM内存区域,常用引用类型,垃圾回收机制、算法以及常见的GC垃圾收集器(Serial、ParNew、Parallel Scavenge、Serial Old、Parallel Old、CMS、G1) • 熟悉常用IO模型(BIO、...

    Java面试总复习.xmind

    包括java数据类型 javaoop 集合 Map 线程生命周期 线程安全 线程生命周期, Spring core作用域Spring 常用注解 基础面试题

    java面试笔试题集合

    java面试笔试题集合4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 2...

    Java 数据类型常见面试题总结 · .pdf

    Java 数据类型常见面试题总结 · .pdf

    java面试基础整理

    Java面试基础知识整理 1、 面向对象的特征有哪些方面? 2、访问修饰符public,private,protected,以及不写(默认)时的区别? 3、String 是最基本的数据类型吗? 等等...

    Java变量类型常见面试题及答案

    本文提供了二十道常见的面试题,涵盖了Java中的基本数据类型、引用数据类型、作用域、初始化等方面的知识点。这些问题旨在考察候选人对Java变量类型的理解和应用能力。通过阅读本文,您将能够加深对Java变量类型的...

    JAVA面试题最全集

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出...

    java面试手册及各类java书籍

    Java基础篇:涵盖Java语言的核心知识,如JVM原理、数据类型、运算符、流程控制等,帮助读者构建坚实的Java基础。 面向对象篇:深入讲解面向对象的概念、特性以及Java中的实现方式,包括类、对象、封装、继承、多态等...

Global site tag (gtag.js) - Google Analytics