如何关闭优雅关闭线程
前言
最近,遇到一个情况,引用的一些外部的cloud的包在调用的时候的时候报错了,看报错的内容是
The current thread was interrupted at xxxxx
后面就是堆栈信息, 在代码中是try catch(Exception e)
这段代码的,但是这个线程最后是阻断了,所以无法继续运行下去
于是...
Java 锁机制
大家有在面试中有遇过这个问题吗?
什么是读(共享)锁?什么是写(独占/互斥/排他)锁?
什么是spi
SPI(Service Provider Interface)是一种用于实现可插拔式架构的机制,它在 Java 中被广泛应用。SPI 机制允许开发者编写可扩展的代码,使得应用程序在运行时可以根据需要动态地加载和使用不同的实现类,而无需修改源代码。本文将详细介绍 SPI 的原理、使用方式以及优缺点。
Java 内存模型
Java 内存模型(Java Memory Model,JMM)是 Java 语言规范中的一套规则,它描述了多线程环境下的线程与内存(主内存和高速缓存)的交互方式,以保证可见性,有序性和原子性,同时它屏蔽了硬件与操作系统的底层差异,使得 Java 程序在所有平台下的内存访问效果一致。
Continue readingMySQL-索引(五)
索引的目的是为了提高查询的效率,有点像字典里的部首和拼音,通过缩小范围,更快找到需要查的字,如果没有索引,你得从头到尾看一遍才能找到你要的字,效率太低了
Continue reading设计模式
CDC和应用场景
一、背景
- 背景:描述此文档的背景和要解决的技术问题
在微服务治理下的应用系统之间形成天然的数据孤岛,项目与项目之间往往会需要某些数据,以目前的方案实现起来相当困难,并且已有的设计方案很难做到高可用(数据一致性问题、业务耦合度过高,性能也不高)
为此我们需要能够集中管理并且能够低延时的同步和查询数据的中间服务
Continue reading布隆过滤器的基本原理和使用
前言
相信大家都做一个需求,需要在一个map里找到存在或者不存在的数据,通常会把数据库load到内存中,然后再进行判断,但是当数据几十万甚至几百万时,这个内存可吃不消,这种情况下,我们如何在不占用很多内存的情况下很好实现这个需求呢?
Continue readingDDD
首先就有一个疑问,什么是DDD?
用英文的全称是Domain-Driven Design,领域驱动设计,其主要的思想是,我们在设计软件时先从业务出发,理解真实的业务含义,再将业务中的一些概念吸收到软件建模中来,其实网上一搜一大把,概念其实很抽象,但实际上又是很贴合真实的开发,为啥我们好像从来没听过但又为何提起来呢?
Continue reading