java程序员面试常见问题

java程序员面试常见问题

ID:39551706

大小:84.00 KB

页数:15页

时间:2019-07-06

java程序员面试常见问题_第1页
java程序员面试常见问题_第2页
java程序员面试常见问题_第3页
java程序员面试常见问题_第4页
java程序员面试常见问题_第5页
资源描述:

《java程序员面试常见问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.你对面向对象的理解?我的思路是:回答时从面向对象的三大特征回答。包括三个特征:继承、封装、多态。 l类的继承性是指从已有的一个类来extends子类,子类具有了父类的所有特征,同时,子类也可以有新的特性。比如:人是一个类,男人具有了人类的所有的特性,比如思考,比如劳动。同时,男人也有新的特性,比如男人会长胡子。l类的封装是指类把所有的操作都封闭起来,仅仅提供接口出来让其他人使用,使用的人没有必要懂得类里面的操作,只需要懂得操作接口就可以了。比如开汽车,我们只需要懂得方向盘、刹车、油门等等的使用就可以了,没有必要知道刹车是如何构成的封闭好的操作。同时,封装也提高

2、了程序的可替换性。比如两个汽车公司实现刹车的方式不一样,但是,只要我们学会了使用刹车,那么,开两个汽车公司的车就都没有问题了,我们不需要考虑他们怎样实现刹车这门技术的。 l类的多态性是一个对象的某项功能可以处理不同类型的问题,或者一个子类可以将父类的某个功能替换成新的功能,具体到编程的方面来说实现类的多态有override和overload,也就是重写和重载。 l同时面向对象还有一个很重要的概念:抽象。抽象就是一个事物的本质。当然对于本质,不同的角度却会有不同的理解。男人,在和女人一起的时候,它的本质是人。在和所有的生物一起的时候,它的本质是动物。(虽然哲学家都说

3、事物的本质只有一个,但是,我仍然坚持我的观点)2.java中String类为什么要设计成final呢? Ø不允许其他类继承。这个应该不是最终原因,但这里权且也当成是一个原因。ØString类中的成员属性也几乎都设计成了privatefinal的,这样String就被设计成一个不变类,这样有助于共享,提高性能。可以将字符串对象保存在字符串常量池中以供与字面值相同字符串对象共享。如果String对象是可变的,那就不能这样共享,因为一旦对某一个String类型变量引用的对象值改变,将同时改变一起共享字符串对象的其他String类型变量所引用的对象的值。ØString被设

4、计为不变类,其中的offset,value[]都被设计成privatefinal的,这样在多线程时,对String对象的访问是可以保证安全的。java程序语言的许多特性依赖于不可变的String对象3.说说Hashpmap的原理ØHashMap概述HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。ØHashMap的数据结构在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的

5、,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap底层就是一个数组结构,数组中的每一项又是一个链表。当新建一个HashMap的时候,就会初始化一个数组。4.什么是AOP1.概念介绍:所谓AOP,即Aspectorientiedprogram,就是面向方面的编程,2.什么是方面:所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。3.Aop的原理:面向切面编程,将程序中的交叉业务逻辑(比如安

6、全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。4.实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码1.IOC控制反转也叫依赖注入。利用了工厂模式将对象交给容器管理,你只需要在spring配置文件中配置相应的bean,以及设置相关的属性,让spring容器来生成类的实例对象以及管理对象。2.数据库触发器的优缺点以及用法触发器本质上讲就是事件监控器,可以定义在数据库系

7、统进行某一个操作的前后。当数据库系统在进行特定的操作时,发现有触发器定义,就去执行触发器定义的功能,从而满足某些特定的需要。(触发器就是你在做某个操作的时候触发另外一个操作)例如,在更新某些数据后,再去更新特定的数据。这就可以定义一个触发器完成这样的需要。触发器的优点:以事件方式来处理.当数据发生变化的时候,自动作处理。缺点:当数据库之间导出导入的时候,可能会引起不必要的触发逻辑。3.oracle,mysql,SqlServer三种数据库的分页查询的实例MySql:MySQL数据库实现分页比较简单,提供了LIMIT函数。一般只需要直接写到sql语句后面就行了。LI

8、MIT子句

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

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

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