java中高级面试题有哪些?java中高级面试题及答案

要想通过java面试,怎么能少得了平时的面试题积累!多积累一些,就能提高面试的命中率,那么下面我们就给大家分享一些关于java中高级面试题及答案给大家参考!

一、wait和sleep的区别是什么?

1、sleep()方法是属于Thread类中的,而wait()方法,则是属于Object类中的。

2、sleep()方法导致了程序暂停执行指定的时间,让出cpu给其他线程,但是他的监控状态依然保持着,当指定的时间到了又会自动恢复运行状态。所以在调用sleep()方法的过程中,线程不会释放对象锁。

3、调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。

二、数组在内存中如何分配?

1、简单的值类型的数组,每个数组成员是一个引用(指针),引用到栈上的空间(因为值类型变量的内存分配在栈上)

2、引用类型,类类型的数组,每个数组成员仍是一个引用(指针),引用到堆上的空间(因为类的实例的内存分配在堆上)

三、mybatis如何处理结果集?

MyBatis的结果集是通过反射来实现的。并不是通过get/set方法。在实体类中无论是否定义get/set()方法,都是可以接收到的。

四、接口有什么用?

1、通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。

2、通过接口可以指明多个类需要实现的方法。

3、通过接口可以了解对象的交互界面,而不需了解对象所对应的类。另:Java是单继承,接口可以使其实现多继承的功能。

五、memcache的分布式原理是什么?

memcached 虽然称为 “ 分布式 ” 缓存服务器,但服务器端并没有 “ 分布式 ” 功能。每个服务器都是完全独立和隔离的服务。memcached 的分布式,则是完全由客户端程序库实现的。这种分布式是 memcached 的最大特点。

这些都是java中高级面试题,大家可以将其收藏,有空研究一下增加自己的相关知识,提高面试通过率!最后大家如果想要了解更多java面试题知识,敬请关注奇Q工具网。

推荐阅读:

json数组怎么解析?json数组解析方法

java二叉树如何写?Java二叉树有什么用?

java没有返回值的方法怎么操作?使用要注意什么?