Java并发和多线程-线程池-Fork/Join

ForkJoinPool 是JDK 7加入的一个线程池类。Fork/Join 技术是分治算法(Divide-and-Conquer)的并行实现,它是一项可以获得良好的并行性能的简单且高效的设计技术。目的是为了帮助我们更好地利用多处理器带来的好处,使用所有可用的运算能力来提升应用的性能。 带着BAT大厂的面试问题去理解 Fork/Join主要用来解决什么样的问...

阅读全文

Java并发和多线程-线程池-FutureTask

Future 表示了一个任务的生命周期,是一个可取消的异步运算,可以把它看作是一个异步操作的结果的占位符,它将在未来的某个时刻完成,并提供对其结果的访问。在并发包中许多异步任务类都继承自Future,其中最典型的就是 FutureTask。 带着BAT大厂的面试问题去理解 FutureTask用来解决什么问题的? 为什么会出现? FutureTask类结构关...

阅读全文

Java并发和多线程-JUC-类汇总

带着BAT大厂的面试问题去理解 JUC框架包含几个部分? 每个部分有哪些核心的类? 最最核心的类有哪些? 主要包含: (注意: 上图是网上找的图,无法表述一些继承关系,同时少了部分类;但是主体上可以看出其分类关系也够了) Lock框架和Tools类(把图中这两个放到一起理解) Collections: 并发集合 Atomic: 原子类 Executors...

阅读全文

微服务架构-SpringCloud

Spring Cloud的目标是微服务架构的一站式解决方案。Spring Cloud 可以说是 Spring 社区为微服务架构提供的一个“全家桶”套餐。由于“套餐”中的组件通过一个社区进行包装与整合,使得“套餐”中各个组件之间的配合变得更加和谐,这可以有效减少我们在组件的选型和整合上花费的精力,所以它可以帮助我们快速构建起基础的微服务架构系统。 spring...

阅读全文

mybatis-spring

MyBatis-Spring 帮助将 MyBatis 代码无缝地整合到 Spring 中。 Mybatis与Spring集成时都做了什么?MyBatis集成Spring后,Spring侵入了Mybatis的初始化和mapper绑定,具体就是: Cofiguration的实例化是读取Spring的配置文件(注解、配置文件),而不是mybatis-confi...

阅读全文

ElasticSearch-数据同步方案

数据同步类型 增量同步 ES服务接入后,MySQL数据库数据实时增量同步至ES中。 全量同步 ES服务接入时,将MySQL中的历史数据优雅切完整的置入ES中。 数据同步方案1. 同步双写 优点 实现最简单,新增、更新、删除时,写入数据库同时写入ES。 缺点 业务逻辑耦合度高,耦合大量数据同步代码; 写入两个存储,接口的响应时间变长; 不便于扩展,搜索可...

阅读全文

MySQL-线上问题

2023-06-30 查询优化线上查询时,接口相应在5s左右,一开始以为是当前用户项目数量太多,in列表过长导致的,结果最后发现有一张新增的关联关系表没有加索引导致的。 加索引前 加索引后 12ALTER TABLE `doc_document_type_rel` ADD INDEX `idx_file_type_code`(`file_type_c...

阅读全文

SpringBoot源码分析-自动装配

自定义starter包的知识盲区@Configuration配置类解析ConfigurationClassPostProcessor Spring的SPI机制SPI全称为Service Provider Interface 服务提供接口。 在SpringBoot的自动装配过程中,最终会加载META-INF/spring.factories文件,而加载的过程是...

阅读全文

SpringBoot源码分析-启动过程

SpringBoot源码分析 - 启动过程基于SpringBoot 2.3.4 main#SpringApplication.run()12345678910111213141516// SpringBoot Web服务入口@SpringBootApplicationpublic class Application { public stat...

阅读全文

Java IO - BIO

BIO,blocking IO,同步阻塞IO。最容易理解、最容易实现的IO工作方式。应用程序向操作系统请求网络IO操作,这时应用程序会一直等待;另一方面,操作系统收到请求后,也会等待,直到网络上有数据传到监听端口;操作系统在收集数据后,会把数据发送到应用程序;最后应用程序收到数据,并解除等待状态。 概念阻塞IO & 非阻塞IO这两个概念是应用程序级别...

阅读全文