Java笔试必备:异常处理、接口与多线程解析

需积分: 10 1 下载量 53 浏览量 更新于2024-08-01 收藏 168KB DOC 举报
“JAVA笔试题集包含了丰富的Java基础知识题目,涵盖了异常处理、接口与虚类的对比、垃圾回收机制以及线程同步方法等多个方面。” 在Java编程中,异常处理机制是核心概念之一。当程序出现违反Java语义规则的情况,如数组下标越界或空指针异常时,Java虚拟机(JVM)会抛出异常。异常是`java.lang.Throwable`类的子类,开发者可以自定义异常类型,并通过`throw`关键字在适当时候引发。这样的设计允许程序在遇到错误时能够优雅地处理问题,而不是导致程序崩溃。 Java的接口不同于C++的虚类。接口不包含任何实现代码,只定义了方法签名和常量。这使得接口更灵活,一个类可以实现多个接口以获取来自不同接口的行为,而Java的单继承限制了一个类只能从一个父类继承。接口的属性默认为`public static`,方法默认为`public`,强制实现类去实现接口的所有方法。 垃圾回收(Garbage Collection, GC)是Java的一大特色,它自动管理内存,避免了内存泄露。GC根据对象的可达性来判断是否需要回收,分为几种不同的策略,如分代收集、标记清除等。这些机制在后台运行,无法由程序员直接控制,以确保系统资源的有效利用。 线程同步是多线程编程中的关键概念,用于确保数据的一致性和正确性。Java提供了多种同步方法: 1. `wait()`: 使当前持有锁的线程进入等待状态,释放锁,其他线程有机会获得锁并执行。 2. `sleep()`: 不释放锁,让当前线程暂停一段时间,其他线程可以继续执行,但可能会因InterruptedException而提前醒来。 3. `notify()`: 唤醒一个在指定对象上等待的线程,但具体唤醒哪一个线程由JVM决定,不是可预测的。 此外,Java还有`synchronized`关键字、`ReentrantLock`、`Semaphore`、`CountDownLatch`等工具,用于实现更复杂的线程同步和协调。 这些知识构成了Java程序员应掌握的基础,对于面试和实际项目开发都至关重要。通过深入理解和实践这些概念,开发者能更好地驾驭Java平台,构建健壮和高效的软件系统。
2009-09-17 上传
1. 用代码示例一个多态的例子 2. java的基本数据类型包括哪些,String是基本的数据类型吗 ? 3. int 和 Integer 有什么区别 4. String 和StringBuffer的区别 5. Collection 和 Collections的区别。 6. &和&&的区别。 7. Overload和Override的区别,试用java代码举例。 8. error和exception有什么区别? 9. abstract class和interface有什么区别? 10. final, finally, finalize的区别,试用java代码示例。 11. 什么时候用assert。 试给出例子 12. forward 和redirect的区别 13. GC是什么? 为什么要有GC? 14. short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 15. Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 16. String s = new String("xyz");创建了几个String Object? 17. 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 18. Java有没有goto? 19. 启动一个线程是用run()还是start()? 20. 应用服务器有那些,列出你所知道的例子? 21. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类 22. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 23. 它们有何区别? 24. 构造器Constructor是否可被override? 25. 是否可以继承String类? 26. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 27. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会 28. 编程题: 用最有效率的方法算出2乘以8等於几? 29. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 30. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 31. 编程题: 写一个Singleton的示例。 32. 数组有没有length()这个方法? String有没有length()这个方法? 33、排除错误 interface Playable { void play(); } interface Bounceable { void play(); } interface Rollable extends Playable, Bounceable { Ball ball = new Ball("PingPang"); } class Ball implements Rollable { //… }