收藏本站 您好,欢迎来到机械加工网 请登录 免费注册 行业导航 产品 求购 企业 动态 展会 招聘
分享到:

       年后大量的求职者开始进驻市场找工作,下面苏州学码思的老师就针对Java从业人员分享一下经典的Java面试问题及相关的*分享,希望对大家的面试有所帮助。

 

  1.不可变对象

 

  指对象一旦被创建状态不能再改变。任何修改都会创建一个新的对象,如StringInteger及其它包装类。

 

  2.能否创建一个包含可变对象的不可变对象?

 

  可以。不要共享可变对象的引用就可以了,如果需要变化就返回原对象的一个拷贝。比较常见的例子是对象中包含一个日期对象的引用.

 

  3.java创建对象的方式

 

  采用new

 

  通过反射

 

  采用clone

 

  通过序列化机制

 

  前2者都需要显式地调用构造方法.造成耦合性比较高的恰好是第一种,因此你发现无论什么框架,只要涉及到解耦必先减少new的使用.

 

  4.switch中能否使用string做参数

 

  在idk1.7之前,switch只能支持byte,short,char,int或者其对应的封装类以及Enum类型。从idk1.7之后switch开始支持String.

 

  5.Object中有哪些公共方法?

 

  equals()

 

  clone()

 

  getClass()

 

  notify(),notifyAll(),wait()

 

  6.object中定义了哪些方法?

 

  clone(),equals(),hashCode(),toString(),notify(),notifyAll(),wait(),finalize(),getClass()

 

  7.HashMapHashTable的区别

 

  HashTable是线程安全的HashMap不是

 

  HashMap中允许存在null键和null值,HashTable中不允许

 

  8.HashMap的实现原理

 

  HashMap的底层实现是“基于拉链法的散列表”。

 

  9.String比较基本的数据类型吗?

 

  不是。Java中的基本数据类型只有8个:byteshortintlongfloatdoublecharboolean;除了基本类型(primitivetype)和枚举类型(enumerationtype),剩下的都是引用类型(referencetype)

 

  10.floatf=3.4;是否正确?

 

  不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换floatf=(float)3.4;或者写成floatf=3.4F;

 

  11.Java有没有goto?

 

  gotoJava中的保留字,在目前版本的Java中没有使用。《TheJavaProgrammingLanguage》附录中有gotoconst,但这两个是目前无法使用的关键字,因此有些地方将其称之为保留字,其实保留字这个词应该有更广泛的意义,因为熟悉C语言的程序员都知道,在系统类库中使用过的有特殊意义的单词或单词的组合都被视为保留字。

 

  12.http1.0http1.1http2.0区别

 

  1.0相比1.1可以一次传输多个文件,各类浏览器大概都支持3~5个请求同时发送。

 

  http2.0主要是二进制的格式替代了原来的文本,增加了多路复用和首部压缩解决了headoflineblocking,另外还有serverpushing等新特性。

 

  13.Get/Post对缓存的影响

 

  此题其实是问浏览器缓存对于HTTPMethodGetPost的请求是否支持,*是不支持PostMethodGet可以被浏览器缓存。

 

  14.多态的好处

 

  允许不同类对象对同一消息做出响应,主要优点:

 

  可替换性:多态对已存在代码具有可替换性;

 

  可扩充性:增加新的子类不影响已经存在的类结构;

 

  接口性:多态是超累通过方法签名,想子类提供一个公共接口,由子类来完善或者重写它来实现的;

 

  灵活性;

 

  简化性。

 

  15.代码中如何实现多态

 

  接口实现

 

  继承父类重写方法

 

  同一类中进行方法重载

 

  16.虚拟机是如何实现多态的

 

  动态绑定技术(dynamicbinding),执行期间判断所引用对象的实际类型,根据实际类型调用对应的方法.

 

  17.接口的意义

 

  接口的意义用三个词就可以概括:规范,扩展,回调.

 

  18.抽象类的意义

 

  为其他子类提供一个公共的类型

 

  封装子类中重复定义的内容

 

  定义抽象方法,子类虽然有不同的实现,但是定义时一致的

 

  19.父类的静态方法能否被子类重写

 

不能。子类继承父类后,有相同的静态方法和非静态,这是非静态方法覆盖父类中的方法,父类的该静态方法被隐藏,另外子类可集成父类的静态与非静态方法,至于方法重载我觉得它其中一要素就是在同一类中,不能说父类中的什么方法与子类里的什么方法是方法重载的体现。

 

Java面向对象和面向过程有什么区别?http://www.suzxms.com.cn/course/java/3981.html

分享到:
免责声明
1)本信息由“软世通信息科技集团有限公司”发布,由“软世通信息科技集团有限公司”负责信息的合法性;
2)本站平台目的在于分享更多信息,不代表本站的观点和立场;信息仅供参考,不构成投资及交易建议。投资者据此操作,风险自担。
3)本信息如有侵权请将此链接发邮件至517763949@qq.com,本站将及时处理并回复。
4)《新著作权法草案》第六十九条规定:网络服务提供者为网络用户提供存储、搜索或者链接等单纯网络技术服务时,不承担与著作权或相关权有关的信息审查义务。网络用户利用网络服务实施侵犯著作权或者相关权行为的,被侵权人可以书面通知网络服务提供者,要求其采取删除、屏蔽、断开链接等必要措施。