程序员面试题及答案_程序员经典面试题及答案.pdf,这是一份不错的文件
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【程序员面试题及答案】 1. **垃圾回收(Garbage Collection)** - **优点**:自动内存管理,避免内存泄露,程序员无需手动管理内存。 - **原理**:垃圾回收器通过判断对象是否可达来确定是否回收。常见的回收机制有: - **分代复制**:将内存分为年轻代和老年代,对不同年龄层次的对象进行不同策略的回收。 - **标记-清除**:遍历所有对象,标记存活对象,然后清除未标记的对象。 - **标记-压缩**:标记后,将存活对象紧凑排列,消除碎片。 - **增量回收**:分阶段进行垃圾回收,减少长时间阻塞应用的时间。 2. **线程同步方法** - **wait()**:让当前线程等待,释放对象锁,直到被 notify() 或 notifyAll() 唤醒或超时。 - **sleep()**:使线程暂停指定时间,不释放锁。 - **notify()**:随机唤醒一个等待在该对象上的线程。 - **notifyAll()**:唤醒所有等待在该对象上的线程。 3. **集合类及其主要方法** - **List**:ArrayList 和 Vector 是 List 的实现,支持按索引访问。常用方法包括 `add()`, `get()`, `set()`, `remove()`。 - **Map**:存储键值对,如 HashMap 和 TreeMap。常用方法有 `put()`, `get()`, `remove()`。 4. **JVM 加载类(Class)的原理** - **ClassLoader**:负责加载类文件,其子类完成实际加载工作。过程包括加载、验证、准备、解析和初始化。 - **双亲委派模型**:ClassLoader 接收到加载请求后,先委托父类加载,只有父类无法加载时才自己尝试加载。 5. **char 类型与 Unicode** - **char**:Java 中的 char 类型占 16 位,因此可以存储一个 Unicode 字符,包括中文汉字。 **面试题扩展** 6. **多线程实现** - **继承 Thread 类**:创建类继承 Thread,重写 run() 方法。 - **实现 Runnable 接口**:创建类实现 Runnable,实现 run() 方法,然后通过 Thread 构造器创建线程。 7. **JSP 内置对象与方法** - **request**:封装 HTTP 请求信息,如参数、头信息等。 - **response**:负责生成 HTTP 响应,如设置状态码、头信息、输出内容。 8. **线程状态** - **运行**:线程正在执行。 - **就绪**:线程等待 CPU 资源,可以运行。 - **挂起**:线程被阻塞,如等待锁、IO、定时器等。 - **结束**:线程执行完毕或被强制停止。 9. **JSP 指令** - **<%@ page %>**:配置页面属性,如编码、导入包等。 - **<jsp:include>**:动态包含其他页面。 - **<jsp:forward>**:将请求转发给另一个页面。 10. **doGet() 和 doPost()** - **doGet()**:处理 GET 请求,通常用于获取数据或显示资源。 - **doPost()**:处理 POST 请求,常用于提交表单数据,POST 请求能携带更多数据且相对安全。
- 粉丝: 62
- 资源: 7万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助