JAVASE笔试面试题汇总

JAVASE笔试面试题汇总

ID:37915245

大小:46.00 KB

页数:7页

时间:2019-06-02

JAVASE笔试面试题汇总_第1页
JAVASE笔试面试题汇总_第2页
JAVASE笔试面试题汇总_第3页
JAVASE笔试面试题汇总_第4页
JAVASE笔试面试题汇总_第5页
资源描述:

《JAVASE笔试面试题汇总》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JAVASE笔试面试题汇总JAVASE笔试面试题汇总1.STRING是最基本的数据类型吗?答:基本数据类型包括byte、int、char、long、float、double、boolean和short。String不属于基本数据,它是对象,默认值为null,String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类。2.静态变量和实例变量的区别?静态变量也称作类变量,由static修饰,如:staticints;s就是静态变量,它只能通过类来访问。实例变量没有static修饰符,

2、它只能通过实例对象来访问。同一类的不同的实例对象有自己的实例变量,但是它们共享同一个静态变量。当一个实例对象修改了它的实例变量时,不会影响其他的实例对象。如果一个实例对象修改了静态变量,则会影响其他的对象实例。在java中类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享。静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期。而实例变量取决于类的实例。每创建一个实例,java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中,其生命周期取决于实例的生命周期。3.是否可以从

3、一个static方法内部发出对非static方法的调用?答:不可以,如果静态方法内部包含对象的非静态方法的调用则不能保证对象初始化,所以不能在静态的方法里调用非静态的方法。4.描述一下JVM加载class文件的原理机制?JVM中类的装载是由ClassLoader和它的子类来实现的,JavaClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。5.&和&&的区别?&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。1.swtich是否能作用在byte上,是否能作用在long上,是否能作用在Str

4、ing上?switch(expr1)中,expr1是一个整数表达式。因此传递给switch和case语句的参数应该是int、short、char或者byte。long,string都不能作用于swtich。2.Math.round(11.5)等於多少?Math.round(-11.5)等於多少?Math.round(11.5)==12Math.round(-11.5)==-11round方法返回与参数最接近的长整数,参数加1/2后求其floor.3.heap和stack有什么区别。栈是后进先出的线性表结构,存取速度比堆快。创建对象的时候new一个对象

5、,引用存在栈上具体的内容存在堆上。栈与堆都是Java用来在RAM中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是,存在

6、栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量(,int,short,long,byte,float,double,boolean,char)和对象句柄。栈有一个很重要的特殊性,就是存在栈中的数据可以共享。假设我们同时定义:inta=3;intb=3;编译器先处理inta=3;首先它会在栈中创建一个变量为a的引用,然后查找栈中是否有3这个值,如果没找到,就将3存放进来,然后将a指向3。接着处理intb=3;在创建完b的引用变量后,因为在栈中已经有3这个值,便将b直接指向3。这样,就出现了a与b同时均指向3的情况。这时,

7、如果再令a=4;那么编译器会重新搜索栈中是否有4值,如果没有,则将4存放进来,并令a指向4;如果已经有了,则直接将a指向这个地址。因此a值的改变不会影响到b的值。要注意这种数据的共享与两个对象的引用同时指向一个对象的这种共享是不同的,因为这种情况a的修改并不会影响到b,它是由编译器完成的,它有利于节省空间。而一个对象引用变量修改了这个对象的内部状态,会影响到另一个对象引用变量。String是一个特殊的包装类数据。可以用:Stringstr=newString("abc");Stringstr="abc";两种的形式来创建,第一种是用new()来新建对

8、象的,它会在存放于堆中。每调用一次就会创建一个新的对象。而第二种是先在栈中创建一个对String类的对象引用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。