- 时间:2020-09-24 09:13 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:百度Java面试题 前200页精选(中)
百度“Java面试题”前200页精选中篇
[b]多线程[/b]
[b]基本概念[/b]
什么是线程
多线程的优点
多线程的几种实现方式
1.用 Runnable 还是 Thread
什么是线程安全
[list]
[*]Vector, SimpleDateFormat 是线程安全类吗[/*]
[*]什么 Java 原型不是线程安全的[/*]
[*]哪些集合类是线程安全的[/*]
[/list]
多线程中的忙循环是什么
如何创建一个线程
编写多线程程序有几种实现方式
什么是线程局部变量
线程和进程有什么区别?进程间如何通讯,线程间如何通讯
什么是多线程环境下的伪共享(false sharing)
同步和异步有何异同,在什么情况下分别使用他们?举例说明
[b]Current[/b]
ConcurrentHashMap 和 Hashtable的区别
ArrayBlockingQueue, CountDownLatch的用法
ConcurrentHashMap的并发度是什么
[b]CyclicBarrier 和 CountDownLatch有什么不同?各自的内部原理和用法是什么
Semaphore的用法
Thread[/b]
启动一个线程是调用 run() 还是 start() 方法?start() 和 run() 方法有什么区别
调用start()方法时会执行run()方法,为什么不能直接调用run()方法
sleep() 方法和对象的 wait() 方法都可以让线程暂停执行,它们有什么区别
yield方法有什么作用?sleep() 方法和 yield() 方法有什么区别
Java 中如何停止一个线程
stop() 和 suspend() 方法为何不推荐使用
如何在两个线程间共享数据
如何强制启动一个线程
如何让正在运行的线程暂停一段时间
什么是线程组,为什么在Java中不推荐使用
你是如何调用 wait(方法的)?使用 if 块还是循环?为什么
[b]生命周期[/b]
有哪些不同的线程生命周期
线程状态,BLOCKED 和 WAITING 有什么区别
画一个线程的生命周期状态图
[b]ThreadLocal 用途是什么,原理是什么,用的时候要注意什么
ThreadPool[/b]
线程池是什么?为什么要使用它
如何创建一个Java线程池
ThreadPool用法与优势
提交任务时,线程池队列已满时会发会生什么
newCache 和 newFixed 有什么区别?简述原理。构造函数的各个参数的含义是什么,比如 coreSize, maxsize 等
线程池的实现策略
线程池的关闭方式有几种,各自的区别是什么
线程池中submit() 和 execute()方法有什么区别?
[b]线程调度[/b]
Java中用到的线程调度算法是什么
什么是多线程中的上下文切换
你对线程优先级的理解是什么
什么是线程调度器 (Thread Scheduler) 和时间分片 (Time Slicing)
[b]线程同步[/b]
请说出你所知的线程同步的方法
synchronized 的原理是什么
synchronized 和 ReentrantLock 有什么不同
什么场景下可以使用 volatile 替换 synchronized
有T1,T2,T3三个线程,怎么确保它们按顺序执行?怎样保证T2在T1执行完后执行,T3在T2执行完后执行
同步块内的线程抛出异常会发生什么
当一个线程进入一个对象的 synchronized 方法A 之后,其它线程是否可进入此对象的 synchronized 方法B
使用 synchronized 修饰静态方法和非静态方法有什么区别
如何从给定集合那里创建一个 synchronized 的集合
[b]锁[/b]
Java Concurrency API 中 的 Lock 接口是什么?对比同步它有什么优势
Lock 与 Synchronized 的区别?Lock 接口比 synchronized 块的优势是什么
ReadWriteLock是什么?
锁机制有什么用
什么是乐观锁(Optimistic Locking)?如何实现乐观锁?如何避免ABA问题
解释以下名词:重排序,自旋锁,偏向锁,轻量级锁,可重入锁,公平锁,非公平锁,乐观锁,悲观锁
什么时候应该使用可重入锁
简述锁的等级方法锁、对象锁、类锁
Java中活锁和死锁有什么区别?
什么是死锁(Deadlock)?导致线程死锁的原因?如何确保 N 个线程可以访问 N 个资源同时又不导致死锁
死锁与活锁的区别,死锁与饥饿的区别
怎么检测一个线程是否拥有锁
如何实现分布式锁
有哪些无锁数据结构,他们实现的原理是什么
读写锁可以用于什么应用场景
[list]
[*]Executors类是什么? Executor和Executors的区别[/*]
[*]什么是Java线程转储(Thread Dump),如何得到它[/*]
[*]如何在Java中获取线程堆栈[/*]
[*]说出 3 条在 Java 中使用线程的最佳实践[/*]
[*]在线程中你怎么处理不可捕捉异常[/*]
[*]实际项目中使用多线程举例。你在多线程环境中遇到的常见的问题是什么?你是怎么解决它的[/*]
[*]请说出与线程同步以及线程调度相关的方法[/*]
[*]程序中有3个 socket,需要多少个线程来处理[/*]
[*]假如有一个第三方接口,有很多个线程去调用获取数据,现在规定每秒钟最多有 10 个线程同时调用它,如何做到[/*]
[*]如何在 Windows 和 Linux 上查找哪个线程使用的 CPU 时间最长[/*]
[*]如何确保 main() 方法所在的线程是 Java 程序最后结束的线程[/*]
[*]非常多个线程(可能是不同机器),相互之间需要等待协调才能完成某种工作,问怎么设计这种协调方案[/*]
[*]你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它[/*]
[/list]
[b]异常[/b]
[b]基本概念[/b]
Error 和 Exception有什么区别
1.UnsupportedOperationException是什么
2.NullPointerException 和 ArrayIndexOutOfBoundException 之间有什么相同之处
什么是受检查的异常,什么是运行时异常
运行时异常与一般异常有何异同
简述一个你最常见到的runtime exception(运行时异常)
[b]finally[/b]
finally关键词在异常处理中如何使用
1.如果执行finally代码块之前方法返回了结果,或者JVM退出了,finally块中的代码还会执行吗
2.try里有return,finally还执行么?那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
3.在什么情况下,finally语句不会执行
[b]throw 和 throws 有什么区别?
OOM你遇到过哪些情况?你是怎么搞定的?
SOF你遇到过哪些情况?
既然我们可以用RuntimeException来处理错误,那么你认为为什么Java中还存在检查型异常
当自己创建异常类的时候应该注意什么
导致空指针异常的原因
异常处理 handle or declare 原则应该如何理解
怎么利用 JUnit 来测试一个方法的异常
catch块里别不写代码有什么问题
你曾经自定义实现过异常吗?怎么写的
什么是 异常链
在try块中可以抛出异常吗[/b]
[b]JDBC[/b]
通过 JDBC 连接数据库有哪几种方式
阐述 JDBC 操作数据库的基本步骤
JDBC 中如何进行事务处理
什么是 JdbcTemplate
什么是 DAO 模块
使用 JDBC 操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能
列出 5 个应该遵循的 JDBC 最佳实践
[b]IO[/b]
[b]File[/b]
File类型中定义了什么方法来创建一级目录
File类型中定义了什么方法来判断一个文件是否存在
[b]流[/b]
为了提高读写性能,可以采用什么流
Java中有几种类型的流
JDK 为每种类型的流提供了一些抽象类以供继承,分别是哪些类
对文本文件操作用什么I/O流
对各种基本数据类型和String类型的读写,采用什么流
能指定字符编码的 I/O 流类型是什么
[b]序列化[/b]
什么是序列化?如何实现 Java 序列化及注意事项
Serializable 与 Externalizable 的区别
[b]Socket[/b]
socket 选项 TCP NO DELAY 是指什么
Socket 工作在 TCP/IP 协议栈是哪一层
TCP、UDP 区别及 Java 实现方式
说几点 IO 的最佳实践
直接缓冲区与非直接缓冲器有什么区别?
怎么读写 ByteBuffer?ByteBuffer 中的字节序是什么
当用System.in.read(buffer)从键盘输入一行n个字符后,存储在缓冲区buffer中的字节数是多少
如何使用扫描器类(Scanner Class)令牌化
[b]面向对象编程(OOP)[/b]
解释下多态性(polymorphism),封装性(encapsulation),内聚(cohesion)以及耦合(coupling)
多态的实现原理
封装、继承和多态是什么
对象封装的原则是什么?
[b]类
[/b]
获得一个类的类对象有哪些方式
重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
说出几条 Java 中方法重载的最佳实践
[b]抽象类
[/b]
抽象类和接口的区别
抽象类中是否可以有静态的main方法
抽象类是否可实现(implements)接口
抽象类是否可继承具体类(concrete class)
[b]匿名类(Anonymous Inner Class)
[/b]
匿名内部类是否可以继承其它类?是否可以实现接口
[b]内部类
[/b]
内部类分为几种
内部类可以引用它的包含类(外部类)的成员吗
请说一下 Java 中为什么要引入内部类?还有匿名内部类
[b]继承[/b]
继承(Inheritance)与聚合(Aggregation)的区别在哪里
继承和组合之间有什么不同
为什么类只能单继承,接口可以多继承
存在两个类,B 继承 A,C 继承 B,能将 B 转换为 C 么?如 C = (C) B
如果类 a 继承类 b,实现接口c,而类 b 和接口 c 中定义了同名变量,请问会出现什么问题
[b]接口[/b]
接口是什么
接口是否可继承接口
为什么要使用接口而不是直接使用具体类?接口有什么优点
[b]泛型[/b]
泛型的存在是用来解决什么问题
泛型的常用特点
List能否转为List
[b]工具类[/b]
[b]日历[/b]
Calendar Class的用途
如何在Java中获取日历类的实例
解释一些日历类中的重要方法
GregorianCalendar 类是什么
SimpleTimeZone 类是什么
Locale类是什么
如何格式化日期对象
如何添加小时(hour)到一个日期对象(Date Objects)
如何将字符串 YYYYMMDD 转换为日期
[b]Math[/b]
Math.round()什么作用?Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
[b]XML[/b]
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?DOM 和 SAX 解析器有什么不同?
Java解析XML的方式
用 jdom 解析 xml 文件时如何解决中文问题?如何解析
你在项目中用到了 XML 技术的哪些方面?如何实现
[b]动态代理[/b]
描述动态代理的几种实现方式,分别说出相应的优缺点
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。