JAVA面试题.doc
需积分: 0 36 浏览量
更新于2019-08-20
收藏 42KB DOC 举报
Java面试题涵盖了许多核心的Java技术和概念,这些知识点对于Java开发者来说至关重要。以下是一些详细解答:
1. **Linux 命令查找进程**:
在Linux中,可以使用`ps -ef`命令列出所有运行的进程,然后结合`grep`命令过滤出名字中包含"abcd"的进程。完整的命令是:`ps -ef | grep abcd`。
2. **Oracle数据库索引失效的情况**:
- **无查询条件**:如果查询没有使用任何索引列,索引将不会被使用。
- **空值查询**:B-tree索引不支持对NULL值的查询,如`comm IS NULL`。
- **函数操作**:当索引列在WHERE子句中使用了函数,且未创建函数索引,如`trunc(birthdate)`。
- **模糊查询**:使用`LIKE '%T'`会导致索引失效,因为Oracle无法利用索引进行全模式匹配。
- **NOT IN和NOT EXISTS**:这些否定条件会导致优化器绕过索引。
- **不等于操作**:如`colum <> 0`,可以通过转换为`colum>0 OR colum<0`来利用索引。
- **非第一位置的复合索引列**:单独引用复合索引的非第一列,索引可能无效。
- **数据类型不匹配**:如将数值与字符串比较,Oracle会尝试隐式转换,导致索引失效。
3. **创建线程的方式**:
创建Java线程有两种主要方法:
- **继承Thread类**:重写`run()`方法,然后创建Thread实例并调用`start()`。
- **实现Runnable接口**:实现`run()`方法,然后将Runnable对象传递给Thread的构造器,创建Thread并调用`start()`。
4. **ArrayList与LinkedList的区别**:
- **数据结构**:ArrayList基于动态数组,LinkedList基于链表。
- **查找效率**:ArrayList由于是连续存储,查找速度快,适合随机访问。
- **插入和删除效率**:LinkedList在插入和删除时表现更好,因为它只需要改变相邻元素的引用,而ArrayList需要移动大量元素。
5. **JVM内存管理**:
- **栈(Stack)**:存储基本类型变量、对象引用以及函数调用的局部变量,执行速度快,但空间有限。
- **堆(Heap)**:存放通过`new`关键字创建的对象实例,便于垃圾回收,但访问速度相对较慢。
- **静态区(Static Area)**:存储程序中的字面量和静态变量,生命周期与类相同,加载时分配,卸载时释放。
6. **Spring AOP**:
- **概念**:AOP是一种编程范式,用于处理系统的横切关注点,如日志、事务管理等,将它们从业务逻辑中分离出来。
- **实现原理**:Spring AOP主要通过动态代理实现,即在运行时生成一个代理对象,该代理对象在调用目标方法前后执行切面代码,无需修改源代码或字节码。
- **应用场景**:在实际开发中,AOP广泛用于声明式事务管理、日志记录、性能监控、缓存管理等多个方面,简化了代码结构,提高了代码的可维护性。
以上只是Java面试中常见的部分知识点,实际上,Java面试还可能涉及更多主题,如多线程同步、异常处理、集合框架、IO流、设计模式、JVM调优、数据库连接池等。准备面试时,应全面掌握这些基础及进阶知识。

bejjm
- 粉丝: 0
最新资源
- (源码)基于ESP8266和PHP的NTP时间同步环境监测系统.zip
- 大数据时代电子档案工作的若干思考.docx
- 大数据时代新媒体新闻编辑观的转型.docx
- 关于网络文化与军队院校图书馆发展的几点思考.docx
- -nRF24L01无线通信模块设计与实现.doc
- 单片机的水温控制系统毕业设计.doc
- 保障矿井通风系统安全可靠的措施.doc
- 大数据技术在职业教育信息化中的应用研究.docx
- 大数据背景下大学英语教师职业发展研究.docx
- 基于云会计的企业会计信息化探究.docx
- PLC课程设计方案及参考实例.doc
- 网络安全法知识问答试题.doc
- 基于PLC的车库进出库课程方案设计书.doc
- (源码)基于Qt、VTK和CUDA的VBOX3D官网项目.zip
- 常州市服务业重点项目管理推进名单.doc
- 大数据时代数据共享与知识产权保护的冲突与协调.docx