Java程序员面试中,经常会遇到关于框架、数据结构、并发编程等方面的问题。以下是对这些问题的详细解答: 1. **Struts2 工作原理**: Struts2 是一个基于 MVC 设计模式的Web应用程序框架,它是Webwork2.2的升级版。其工作流程如下: - 客户端向Servlet容器(如Tomcat)发起请求。 - 请求经过一系列过滤器(Filter),其中ActionContextCleanUp帮助集成其他框架。 - FilterDispatcher被调用,ActionMapper决定是否需要调用特定Action。 - 若需要调用Action,FilterDispatcher将请求交给ActionProxy。 - ActionProxy通过Configuration Manager找到Action配置,创建ActionInvocation实例。 - ActionInvocation调用Action,并在前后执行相关拦截器(Interceptor)。 - Action执行完成后,ActionInvocation根据struts.xml配置找到对应的结果,可能是JSP或FreeMarker模板进行渲染。 2. **Java访问修饰符**: - `public`:可在任何地方访问。 - `protected`:在同一包内及子类中可访问。 - `friendly(默认)`:在同一包内可访问。 - `private`:仅在当前类中可访问。 3. **ArrayList与Vector的区别**: - 同步性:Vector是线程安全的,ArrayList不是。 - 数据增长:Vector增长为原来的两倍,ArrayList增长为其一半。 4. **HashMap与Hashtable的区别**: - 历史:Hashtable基于Dictionary,HashMap是Map接口的实现。 - 同步性:Hashtable线程安全,HashMap不是。 - 值:HashMap允许null键值,Hashtable不允许。 5. **char存储中文**: Java中的char类型可以存储中文,因为它使用Unicode编码,每个char占16位,足以容纳一个中文字符。 6. **多线程实现**: 多线程有两种实现方式: - 继承Thread类并重写run()方法。 - 实现Runnable接口,然后创建Thread实例并传入Runnable对象。 7. **同步机制**: 同步有以下两种实现: - 使用`synchronized`关键字修饰代码块或方法,提供互斥访问。 - 使用wait()、notify()和notifyAll()方法进行线程通信。 8. **float类型赋值**: 浮点型变量可以直接赋值3.4,但可能会丢失精度,建议使用强制类型转换 `(float)3.4`。 9. **Java集合框架**: - Collection:基础接口,包含List和Set。 - List:有序且允许重复元素,如LinkedList、ArrayList和Vector。 - Set:不允许重复元素,如HashSet、TreeSet。 - Map:键值对存储,如Hashtable、HashMap、WeakHashMap。 - 自定义数据结构:可以通过实现Collection或Map接口来创建自己的数据结构。 以上内容涵盖了Java程序员面试中常见的技术问题,包括Struts2的工作流程、Java访问权限、集合框架以及多线程和同步机制等知识点。了解并熟练掌握这些内容,对于提升面试表现和实际开发能力都非常关键。
剩余11页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 410.基于SpringBoot的高校科研信息管理系统(含报告).zip
- 附件1.植物健康状态的影响指标数据.xlsx
- Windows 10 1507-x86 .NET Framework 3.5(包括.NET 2.0和3.0)安装包
- Image_1732500699692.png
- Windows 10 21h1-x86 .NET Framework 3.5(包括.NET 2.0和3.0)安装包
- VMware 是一款功能强大的虚拟化软件,它允许用户在一台物理计算机上同时运行多个操作系统
- 31万条全国医药价格与采购数据.xlsx
- SQL注入详解,SQL 注入是一种常见的网络安全漏洞,攻击者通过在输入数据中插入恶意的 SQL 语句,欺骗应用程序执行这些恶意语句,从而获取、修改或删除数据库中的数据,甚至控制数据库服务器
- 用C语言实现哈夫曼编码:从原理到实现的详细解析
- py爱心代码高级粒子!!