打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Java程序员必须要掌握的面试题(三)

接着上篇Java程序员必须要掌握的面试题(二) 今天继续写第三篇。希望能帮到那些准备找java编程工作的朋友和想学习Java的朋友。

1、Java中的异常处理机制的简单原理和应用。

当JAVA 程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是 java.lang.Thowable的子类。

2、垃圾回收的优点和原理。并考虑2种回收机制。

Java 语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有'作用域'的概念,只有对象的引用才有'作用域'。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾收。

3、线程的基本概念、线程的基本状态以及状态之间的关系

线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。Java中的线程有四种状态分别是:运行、就绪、挂起、结束。

4、请说出你所知道的线程同步的方法。

wait():使一个线程处于等待状态,并且释放所持有的对象的lock。

sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。

notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。

Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。

5.什么是AOP和IOC?请写一段体现其思想的简单代码

IOC:控制反转,是一种设计模式。一层含义是控制权的转移:由传统的在程序中控制依赖转移到由容器来控制;第二层是依赖注入:将相互依赖的对象分离,在spring配置文件中描述他们的依赖关系。他们的依赖关系只在使用的时候才建立。简单来说就是不需要NEW一个对象了。

AOP:面向切面,是一种编程思想,OOP的延续。将系统中非核心的业务提取出来,进行单独处理。比如事务、日志和安全等。这个简单来说就是可以在一段程序之前或者之后做一些事。

Spring 的AOP和IOC都是为了解决系统代码耦合度过高的问题。使代码重用度高、易于维护。

不过AOP和IOC并不是spring中特有的,只是spring把他们应用的更灵活方便代理就是帮助去做一件事 生活中你应该听过代理人 吧, 和Java中的代理含义是一样的。

比方说 你要记录日志, 在常规开发中,日志的记录 不属于业务的一部分。 但是我们又希望记录业务日志 第一个我们想到的就是 在业务层写日志,理论上是没问题的,实际也没问题。但是却产生了麻烦

如果后期维护的时候,别人看代码的时候就会找不到那句是业务,那句是日志,造成维护麻烦。这只是其中一点 而Java有2个很重要的特性, 各司其职和独立性 ,这就要求了 日志 和业务,应该分别处理,而不应该混淆在一起。 于是就有人提出了代理的概念, 代替业务操作类去在操作的业务的时候去记录日志 。

以上是Java程序员面试过程中经常会问道的问题的总结,如果您觉得有用,可以添加收藏,转发,关注我的头条号:码农人生,给予支持,我会不定期发一些编程技术知识,也乐意和每一位热爱编程的朋友讨论分享。

下期我会继续给大家总结,java程序员面试中经常问道的面试题,而且这些问题是必须掌握的,如果回答不好,面试成功率将会很低。希望能够帮到大家,敬请期待。

上两期文章链接:

Java程序员面试必须要掌握的面试题

Java程序员必须要掌握的面试题(二)


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
java中处理垃圾回收的问题详解
java垃圾收集
浅谈JAVA垃圾回收机制
可视化Java垃圾回收的原理和实现 – 码农网
JVM-可达性分析讲解
深入理解.NET内存回收机制
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服