- 博客(51)
- 收藏
- 关注
原创 【JAVA面试】浏览器发出一个请求到收到响应经历了哪些步骤
七层架构的主要目的是将网络通信分为不同的层次,使得网络设计和开发可以模块化,并且可以灵活地添加、修改或替换各层的协议,以满足不同的需求。每一层都有自己的功能和责任,通过协同工作,实现了可靠、高效的网络通信。
2023-05-11 03:49:53
1636
原创 【JAVA面试】分布式锁
在单体架构中,多个线程都是属于同一个进程的,所以在线程并发执行时,遇到资源竞争时,可以利用Reentantlock、 synchronized等技术来作为锁,来控制共享资源的使用而在分布式架构中,多个线程是可能处于不同进程中的,而这些线程并发执行遇到资源竞争时,利用ReenteantLock. synchronized等技术是没办法来控制多个进程中的线程的,所以需要分布式锁,意思就是,需要一个分布式锁生成器,分布式系统中的应用程序都可以来使用这个生成器所提供的锁,从而达到多个进程中的线程使用同一把锁。
2023-05-11 02:45:07
840
原创 【JAVA面试】分布式ID
分布式ID(Distributed ID)是在分布式系统中生成唯一标识符的一种技术。由于分布式系统中存在多个节点并行处理请求,为了避免不同节点生成相同的标识符,需要引入分布式ID来保证唯一性。
2023-05-11 02:08:03
802
原创 【JAVA面试】ThreadLocal底层原理
ThreadLocal是Java中提供的线程本地存储机制,它提供了一种线程私有的变量副本,可以用来在每个线程内部缓存数据使得数据对每个线程独立可见,互不干扰。ThreadLocal的底层原理涉及到ThreadLocalMap和Thread类。
2023-05-11 01:18:07
249
原创 【JAVA面试】Spring中的设计模式
单例模式(Singleton Pattern):Spring容器中管理的Bean默认为单例模式,保证在整个应用程序中只存在一个实例。【单例Bean,SingletonTargetSource,DefaultBeanNameGenerator,SimpleAutowireCandidateResolver,AnnotationAwareOrderComparator】工厂模式(Factory Pattern):Spring使用工厂模式创建和管理Bean,通过IoC容器来实例化、配置和组装对象。
2023-05-10 23:17:55
792
原创 【JAVA面试】SpringBoot如何启动的Tomcat
Spring Boot通过引入Spring Boot Starter Web依赖和创建Spring Boot应用类,在应用启动过程中加载Tomcat并初始化Servlet容器,以提供对HTTP请求的处理能力。这种方式使得开发者可以方便地在Spring Boot应用程序中嵌入和配置Tomcat服务器,从而简化了Web应用程序的开发和部署过程。
2023-05-10 15:48:36
2062
原创 【JAVA面试】Mysql慢查询如何优化
MySQL的慢查询是指执行时间较长的SQL语句,可以根据执行时间超过预设阈值(如1秒)或返回的记录数超过预设阈值(如1000条)来进行定义。一般情况下**,慢查询是由于查询语句中使用了不恰当的索引、数据库结构设计不合理、服务器硬件资源不足等原因导致的**。通过对慢查询进行分析,可以优化SQL语句、优化数据库结构设计、调整服务器硬件资源等措施来提高系统性能。MySQL提供了慢查询日志(slow query log)来记录所有执行时间超过指定阈值的SQL语句,可以通过开启慢查询日志并对日志进行分析来查找慢查询。
2023-05-09 00:49:19
1478
原创 【JAVA面试】JVM
STW指的是Stop-The-World,即全局停顿。在Java应用程序运行的过程中,JVM需要对内存进行垃圾回收、线程栈整理、内存整理等操作,这些操作都需要暂停Java应用程序的执行,这就是STW。在STW期间,JVM会暂停所有线程的执行,包括用户线程和垃圾回收线程,直到垃圾回收等操作完成后才会继续执行。(只有在进行 **Full GC(全局垃圾回收)**时,JVM 才会暂停所有线程的执行,包括用户线程和垃圾回收线程,直到垃圾回收等操作完成后才会继续执行。
2023-05-09 00:18:01
833
原创 【JAVA面试】SpringBoot自动配置原理
});} });} }//1.创建一个ApplicationContext实例,即我们常说的IoC容器 Applicationcontext context = createApplicationcontext();
2023-04-13 01:11:06
668
原创 【JAVA面试】Spring的事务
多个事务方法相互调用时,事务如何在这些方法之间进行传播,spring中提供了7中不同的传播特性,来保证事务的正常执行: REQUIRED:默认的传播特性,如果当前没有事务,则新建一个事务,如果当前存在事务,则加入这个事务 SUPPORTS:当前存在事务,则加入当前事务,如果当前没有事务,则以非事务的方式执行 MANDATORY:当前存在事务,则加入当前事务,如果当前事务不存在,则抛出异常 REQUIRED_NEW:创建一个新事务,如果存在当前事务,则挂起改事务。
2023-04-13 00:09:19
338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人