"这篇资源包含了陕西地区头条公司面试中出现的Java相关问题及答案,涵盖了基础语法、面向对象、运算符优先级、访问修饰符、多态性、JVM内存模型以及Spring框架、MyBatis等热门技术的相关知识点。"
1. 面向对象语言的三大特性包括封装、继承和多态。封装是将数据和操作数据的方法绑定在一起,保护数据不受外部非法访问。继承允许创建基于现有类的新类,从而减少代码重复并提高可重用性。多态则是指子类对象可以替代父类对象,并且能够调用父类的方法,实现不同的行为。
2. Java程序的入口点是main()方法,书写正确的是`public static void main(String[] args)`。
3. 开发Java程序时,源代码编译后生成的文件扩展名为`.class`。
4. 在Java中,向控制台打印输出信息通常使用`System.out.println()`语句。
5. 多态的表现形式包括方法的覆盖(Overriding)和重载(Overloading)。
6. 运算符优先级从高到低排序:括号 > 倍幂/指数 > 负数/取反 > 乘法/除法/取模 > 加法/减法 > 关系运算符 > 等式运算符 > 位运算符 > 逻辑非 > 逻辑与 > 逻辑或。
7. 不正确的Java表达式可能包含语法错误,如未定义变量、类型不匹配、缺少分号等。
8. 运算符`>>`是带符号右移,`>>>`是无符号右移。`>>>`对于负数右移时,高位补0,而`>>`会保留符号位。
9. 访问修饰符作用范围由大到小依次是:public(全局访问)> protected(同包及子类访问)> default(同包访问)> private(仅本类访问)。
10. `HelloB`类的实例化会按照静态初始化块、构造函数、实例初始化块的顺序执行,因此输出顺序为`staticA`、`staticB`、`HelloB`、`I'mBclass`。
11. 错误的说法可能涉及到Java特性的误解,例如认为字符串是可变的(实际上是不可变的)或者所有类都默认继承自Object类(这是正确的)。
12. SpringCloud Alibaba中的Nacos作为服务发现和服务配置中心的角色,提供动态配置管理、服务发现、流量控制等功能。
13. SpringBoot项目中常使用的线程池类是`ThreadPoolTaskExecutor`。
14. spring自定义数据库异常可以通过捕获特定的数据库异常,创建自定义异常类并抛出,同时配合异常处理机制,如@ControllerAdvice和@ExceptionHandler注解。
15. Spring框架中使用的设计模式包括工厂模式(BeanFactory)、代理模式(AOP)、单例模式、观察者模式、模板方法模式等。
16. MyBatis的优点包括灵活的SQL映射、良好的缓存机制、减少JDBC代码的编写;缺点可能在于SQL编写在XML中不易维护,且对复杂查询支持相对较弱。
17. JVM内存模型包括堆(Heap)、栈(Stack)、方法区(Method Area)、程序计数器(PC Register)、本地方法栈(Native Method Stack)。
18. 垃圾回收机制主要目标是自动回收不再使用的对象所占用的内存,它包括标记-清除、复制、标记-整理、分代收集等算法。
姓名与电话信息因隐私原因未提供。