Java面试题(16)- 故障排查

Java面试题(16)- 故障排查

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:怎么解决Java包依赖冲突;如何排查JVM中出现的OOM原因;怎么查看Java线程的资源占用;如何分析thread dump文件;如何排查服务器的CUP使用率过高的原因;如何排查服务器Load高而CPU使用率低的情况;如何排查后台服务变慢的原因。

如何优雅关闭线程池

如何优雅关闭线程池

许多业务场景中都会到线程池,比如微服务接收外部调用、异步发送邮件、离线统计报表等等。线程池有三个优点:降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗;提高响应速度,当任务到达时,任务可以不需要等到线程创建就能立即执行;提高线程的可管理性,对线程进行统一的分配,调优和监控。老话说,请神容易送神难,使用了线程池就要承受它带来的问题。线程池的运行机制比较复杂,使用线程池的参数并不好配置。线程池执行的情况与任务类型相关,IO密集型和CPU密集型的任务运行起来的情况差异很大,配置合理依赖开发人员的经验和知识。如果配置不当,反而降低系统效率。另外,还一个问题,如何优雅关闭线程池,避免任务或者数据丢失呢?

Java面试题(15)- Spring Cloud Alibaba

Java面试题(15)- Spring Cloud Alibaba

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:Spring Cloud Alibaba主要包含哪些组件;Nacos的核心功能有哪些;说说Nacos的工作流程;说说Sentinel的使用场景;说说限流算法有哪几种;Sentinel如何限制资源的调用;为什么会产生分布式事务;Seata如何避免并发场景的脏读与脏写;Seata主推的事务模式是什么,有什么优势。

Java面试题(14)- Spring Cloud

Java面试题(14)- Spring Cloud

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:你怎么描述Spring Cloud 框架;说说微服务架构的优缺点;Spring Cloud有哪些重要组件;Eureka的作用是什么;什么是Eureka的自我保护模式;你还了解其他网关吗,有什么区别;服务雪崩的原因有哪些。

Java面试题(13)- Spring Boot

Java面试题(13)- Spring Boot

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:Spring Boot有哪些优点;Spring Boot的核心配置文件有哪些,区别是什么呢;Spring Boot的配置文件有哪几种格式,有什么区别;SpringBoot的核心注解是哪个;Spring Boot 3.0 的新特性了解吗;SpringBoot打成的jar和普通jar有什么区别;SpringBoot中如何实现定时任务;什么是Spring Boot Starter。

Java面试题(12)- Mybatis框架

Java面试题(12)- Mybatis框架

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:Mybatis的适用场景是什么;MyBatis与Hibernate有哪些不同;Mybatis如何实现批量提交;Mybatis有缓存吗;#{}和${}的区别是什么;Mybatis如何解决SQL注入。

Java面试题(11)- Dubbo框架

Java面试题(11)- Dubbo框架

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:什么是RPC,RPC使用了哪些关键技术;Dubbo的使用场景和核心功能有哪些;Dubbo的集群容错方案有哪些;Dubbo服务器注册与发现的流程;Dubbo 的注册中心集群宕机,发布者和订阅者之间还能通信吗;Dubbo 支持哪些协议,它们的优缺点有哪些。

Java面试题(10)- Spring框架

Java面试题(10)- Spring框架

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:谈谈Spring Bean的作用域和生命周期; 说说SpringMVC处理请求的流程;如何用Spring实现一个切面;Spring AOP的原理是什么;Spring事务的传播属性是什么;Spring中BeanFactory和FactoryBean有什么区别;Spring的依赖注入有哪几种方式; Spring如何实现数据库事务。

Java面试题(9) – IO模型

Java面试题(9) – IO模型

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有: 说说什么是IO流;Java中有几种类型的流;说说Java中常用的IO流实现类;什么是Java序列化,如何实现Java序列化;PrintStream、BufferedWriter、PrintWriter的区别是什么;字符流和字节流有什么区别;如何实现对象克隆;什么是缓冲区,有什么作用; 什么是阻塞IO,什么是非阻塞IO。

Java面试题(8)- 虚拟机

Java面试题(8)- 虚拟机

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:说说JVM的内存结构;如何监控和诊断JVM堆内和堆外内存使用;如何查看JVM的内存使用情况;常用的JVM配置和调优参数都有哪些;如何用Java分配一段连续的1G的内存空间;Java为什么存在内存泄露呢;内存溢出是怎么回事,请举例说明;如何避免内存溢出呢;JVM为什么需要GC;JVM如何确定垃圾,垃圾回收算法有哪几种; GC收集器有哪些。