Java开发工程师笔试题精选
需积分: 5 188 浏览量
更新于2024-08-05
收藏 67KB DOC 举报
"Java开发工程师试卷三(~).doc"
这份Java开发工程师的试卷包含了多个方面的Java知识,包括基础语法、类库使用、多线程、JSP生命周期以及对象操作等。以下是根据试卷内容提炼出的相关知识点:
1. **Object类的方法**:在Java中,所有类都隐式地继承了Object类。题目中提到的`hashCode()`、`toString()`和`notify()`都是Object类提供的方法。`hashCode()`返回对象的哈希值,常用于哈希表;`toString()`返回对象的字符串表示;`notify()`用于唤醒在一个对象监视器上等待的线程。`forName()`不是Object类的方法,它通常与`Class`类关联,用于动态加载类。
2. **Java语言特性**:Java不支持`goto`语句,这是正确的。`switch`语句在Java 7之后可以作用于`String`类型。`List`, `Set`, `Map`确实都继承自`Collection`接口。Java的垃圾收集器(GC)自动管理内存,程序员不需要显式释放内存。
3. **线程设计**:Java中创建线程可以通过实现`Runnable`接口或者继承`Thread`类。启动线程应该通过`Thread`对象的`start()`方法,而不是直接调用`run()`。Java对多线程同步提供了语言级别的支持,如`synchronized`关键字和`wait()`, `notify()`等方法。线程和进程是不同的概念,一个进程中可以有多个线程,但一个线程不能包含多个进程。
4. **JSP生命周期**:JSP首先被转换成Servlet源码,然后编译为Servlet类。对于每个JSP实例,`jspInit()`方法只在首次加载时执行一次,`_jspService()`方法在每次请求时执行,而`jspDestroy()`方法在JSP销毁前执行一次。
5. **代码输出**:这段代码将字符串中的所有`-`替换为`*`,但由于替换操作并未赋值回`s`,所以输出仍为原始字符串,即`"Java-Java"`。因此,正确答案是A。
6. **对象比较**:题目中`Integer`对象`s`和`t`的值相等,但它们是两个不同的对象,所以`s==t`返回`false`。`s`和`u`分别属于不同类型的对象,因此`s==u`也为`false`。`s.equals(u)`会比较它们的值,返回`true`。`s.equals(9)`将9视为int类型,不进行对象比较,所以返回`false`。
7. **sleep()和wait()**:`sleep()`是`Thread`类的方法,让当前线程暂停指定时间,不释放对象锁。`wait()`是`Object`类的方法,使得线程进入等待状态并释放对象锁。`sleep()`结束后线程会自动恢复,而`wait()`需要其他线程调用`notify()`或`notifyAll()`来唤醒。`wait()`需要在同步块或同步方法中使用,否则会抛出`IllegalMonitorStateException`。
这些知识点涵盖了Java的基础和进阶内容,是Java开发者必备的技能。理解并掌握这些知识点有助于提升Java编程能力。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-09-12 上传
2021-09-12 上传
2021-09-12 上传
2021-09-12 上传
2021-09-12 上传
2021-09-12 上传
xinyi_java
- 粉丝: 2127
- 资源: 201
最新资源
- VBCABLE_B_Driver.zip
- sarekt:Rust中的后端不可知渲染器
- daily-archive:WordPress插件,可让您按日期查看存档页面
- Apple-Pie-Bot:Github回购Apple Pie机器人
- documentation:Docker mate的文档
- x79 e5 1620v2 rx580(macOS 10.15.3)EFI
- 【GIS数据】建筑物数据更新数据
- django-todolist:用于学习Django的一次性项目
- jk-php-minify-js
- advertiser-integration
- p2plex:通过Hyperswarm对点进行多路加密连接
- RealSenses-MovingMouseWithBlinks
- X79黑苹果EFI E5 V2
- currencyConverter2
- 个人房屋买卖合同范本.zip
- VBA挑战:第2周的数据作业