posts - 101,comments - 5,views - 14万

随笔分类 -  JAVA

1 2 3 4 5 下一页
Springboot graceful shutdown
摘要:很多情况下,在应用程序启动后需要关闭时候,直接shutdown会导致正在处理的请求中断,而采用graceful shutdown可以实现不再接受新的请求,并将已接收到的请求处理完毕再关闭程序释放资源 Springboot graceful shutdown应用场景 Springboot中提供了优雅停 阅读全文
posted @ 2023-06-26 10:46 colorfulworld 阅读(244) 评论(0) 推荐(0) 编辑
ELK
摘要:ELK是当前比较流行的一套框架,主要用于日志的采集和查询 ELK:ElasticSearch+Logstash+Kibana ElasticSearch:全文搜索引擎 Logstash:日志采集系统,可以从多个来源采集并转换数据,然后将数据输出到指定存储单元中(官方推荐的存储单元位ElasticSe 阅读全文
posted @ 2023-06-25 11:05 colorfulworld 阅读(62) 评论(0) 推荐(0) 编辑
Mongo与MySql区别
摘要:1. MongoDB mongoDB是一种分布式文档型数据库,具有分布式架构设计。mongoDB分布式架构包含:分片、副本和分布式查询路由 1.1 分片 MongoDB分片技术将数据分割成多个分片(shard),每个分片存储部分数据。分片可以按照数据的范围、has值、分片键等方式进行分配。在分片集群 阅读全文
posted @ 2023-06-25 08:40 colorfulworld 阅读(229) 评论(0) 推荐(0) 编辑
RPC接口与Https接口
摘要:RPC(remote procedure call)远程过程调用;Http:超文本传输协议。RPC是一种方法,http是一种协议。RPC服务主体要工作在tcp协议上,而http服务工作在http协议上,由于http协议基于tcp协议,所以rpc服务比http更轻量,效率更高 RPC远程过程调用 RP 阅读全文
posted @ 2023-06-24 15:48 colorfulworld 阅读(221) 评论(0) 推荐(0) 编辑
Spark基础
摘要:Spark是一种基于内存的快捷、通用、可扩展的大数据分析引擎 1. Spark模块 Spark Core: Spark核心模块,包含RDD、任务调度、内存管理、错误恢复、与存储系统交互等 Spark SQL:用于处理结构化数据的一个模块,提供了2个编程抽象:DataFrame DataSet,并且作 阅读全文
posted @ 2023-06-24 15:07 colorfulworld 阅读(35) 评论(0) 推荐(0) 编辑
GC种类
摘要:youngGC(Minor GC): 对新生代垃圾回收。新建对象一般放在新生代的Eden区进行分配,如果Eden区没有足够的空间就会触发youngGC。youngGC出发频率很频繁,回收速度也很快 FullGC: 回收整个新生代、老年代、永久代无用对象。FullGC较YoungGC stw时间更长至 阅读全文
posted @ 2023-06-23 17:41 colorfulworld 阅读(55) 评论(0) 推荐(0) 编辑
锁的划分 Synchronized ReentrantLock区别
摘要:共享锁 多个事务的读操作可以同时进行,互不阻塞,但某个事务持有共享锁,其他事务不允许修改 如readWriteTrantLock就是共享锁 排他锁 当前持有锁的事务没有完成前,其他事务读、写都会阻塞。这样就能确保在给定时间内,只有一个事务能执行写入 如ReentrantLock、就是排他锁 在非Se 阅读全文
posted @ 2023-06-23 10:23 colorfulworld 阅读(14) 评论(0) 推荐(0) 编辑
懒加载@Lazy
摘要:默认情况下,Spring在程序启动时创建所有通过注解声明或者xml注解的单例bean,这样做好处是在启动时即可以检测所有可能的错误,而不是在运行的时候。但是有些情况我们需要的时候创建一个bean,而不是在程序启动的时候,此时需要用到@Lazy来进行懒加载。 懒加载主要针对单例bean,仅当第一次使用 阅读全文
posted @ 2023-04-13 09:47 colorfulworld 阅读(97) 评论(0) 推荐(0) 编辑
自定义SpringBoot Starter
摘要:1. Starter加载原理 Springboot通过SpringBootApplication注解启动项目,springboot启动的时候,会将项目中所有声明为bean对象的实例加载到IOC容器。除此之外也会将starter里的bean信息加载到ioc容器,从而做到0配置,开箱即用。 1.1加载s 阅读全文
posted @ 2023-04-11 15:15 colorfulworld 阅读(76) 评论(0) 推荐(0) 编辑
死锁
摘要:1. 死锁概念 也就是两个线程在各自拥有锁的情况下,又去尝试获取对方的锁,从而造成的一直阻塞的情况。 如下,如果此时有一个线程A,按照先锁a再获得锁b的的顺序获得锁,而在此同时又有另外一个线程B,按照先锁b再锁a的顺序获得锁 2. 如何查看是否死锁 死锁代码 public class TestLoc 阅读全文
posted @ 2023-04-11 11:35 colorfulworld 阅读(22) 评论(0) 推荐(0) 编辑
Future vs FutureTask vs ComplatableFuture
摘要:1. Future 异步计算结果,提供了一些方法来检验任务是否完成,get()都是阻塞的。 1.1 Future接口方法: // 取消任务 boolean cancel(boolean mayInterruptIfRunning); // 判断任务是否已取消 boolean isCancelled( 阅读全文
posted @ 2023-04-05 21:16 colorfulworld 阅读(22) 评论(0) 推荐(0) 编辑
SpringWebFlux~webclient响应式HttpClient
摘要:1. webClient Spring WebFlux包括WebClient对Http请求的响应式,非阻塞。 WebClient实例创建方式: 1.1 通过静态工厂方法创建响应式WebClient实例 WebClient.create() WebClient.create(String baseUr 阅读全文
posted @ 2023-04-04 16:00 colorfulworld 阅读(784) 评论(0) 推荐(0) 编辑
Mongo主从同步原理
摘要:1. Mongo主从同步原理 Mongo主从同步原理是基于复制集(replicate set).复制集是一组mongodb实例,其中一个实例为主节点,其他实例为从节点。主节点负责所有数据写操作,并将写操作的结果复制到从节点。从节点只能读取数据,不能写入数据 在mongo中,主节点和从节点之间的数据同 阅读全文
posted @ 2023-04-04 08:43 colorfulworld 阅读(301) 评论(0) 推荐(0) 编辑
Dubbo
摘要:1. Dubbo架构 节点角色说明 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务注册与发现的注册中心 Monitor 统计服务的调用次数和调用时间的监控中心 Container 服务运行容器 Dubbo Consumer并不是直接通过ht 阅读全文
posted @ 2023-03-29 21:09 colorfulworld 阅读(47) 评论(0) 推荐(0) 编辑
Redis保证缓存数据和数据库一致
摘要:1 Redis 在分布式环境下的数据一致性主要是通过以下几种方式来保证的: Redis 在分布式环境下的数据一致性是通过 Redis Cluster 实现的。Redis Cluster 是 Redis 的分布式解决方案,它将数据分散在多个节点上存储,通过一定的协调机制保证数据的一致性。以下是 Red 阅读全文
posted @ 2023-03-23 15:57 colorfulworld 阅读(3226) 评论(0) 推荐(0) 编辑
本地缓存 GuavaCache & Caffeine
摘要:1. Guava Cache Guava Cache是一個全内存的本地缓存实现,提供了线程安全实现机制 1.1 GuavaCache数据结构 底层类似ConcurrentlHashMap,所以是线程安全的(分段锁) 1.2 Guava Cache优势 设置过期时间,并提供数据过多时淘汰机制 线程安全 阅读全文
posted @ 2023-03-19 12:02 colorfulworld 阅读(2241) 评论(0) 推荐(0) 编辑
Spring Bean初始化
摘要:1. bean初始化简介 spring服务启动,诸如@Configuration @Component注解的类注册到IOC容器,注解描述的bean就完成了初始化。 所谓初始化,就是bean的元信息加载进容器,具体地说就是bean信息从注解中读取出来,加载为BeanDefinition,再通过Bean 阅读全文
posted @ 2023-03-09 18:48 colorfulworld 阅读(423) 评论(0) 推荐(0) 编辑
单例模式
摘要:1. 构造函数 构造函数是在对象创建(new)时候运行,给对象初始化:包括属性,执行方法中语句; 而一般函数是在对象调用时候才执行。 一个对象建立构造函数只执行一次,而一般函数可以被对象调用多次 如果某个类中没有声明构造函数,默认是public类型构造函数 私有构造函数: 某个类中构造函数是私有的, 阅读全文
posted @ 2023-03-08 15:41 colorfulworld 阅读(32) 评论(0) 推荐(0) 编辑
装饰者模式
摘要:装饰者模式/包装模式是指在不改变原有对象基础上,将功能附加到对象上。提供了比继承更有弹性的替代方案。 装饰者模型核心是不改动原先业务内容,但又给原来业务增加额外职责东西。 装饰者模式框架图: 原先主业务接口以及实现类 修饰者基类 implements InterfaceComponent 修饰者具体 阅读全文
posted @ 2023-03-07 13:44 colorfulworld 阅读(10) 评论(0) 推荐(0) 编辑

1 2 3 4 5 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示