最近公司有个toG单体应用项目,根据业务需求,需要持久化数据,通常我们都会使用mysql等关系型数据库,但是这个项目只是单机部署,而且对内存使用有较高的要求,所以想在机器上部署个 mysql 数据库,不仅内存占用大,而且比较重,所以,技术选型考虑轻量化的数据库SQLite。
下面我就以 MySQL数据库的InnoDB 为例,和你分析一下其中的索引模型。
接触并发编程的都知道ThreadLocal,简单来说,这个类能使线程中的某个值与保存值的对象关联起来,它提供了get与set等访问接口或方法,这些方法为每个使用该变量的线程都存有一个独立的副本,因此get总是返回由当前执行线程在调用set时设置的最新值。
JVM 算是⾯试中的⾼频问题了,通常情况下总会有⼈问到:请你讲解下 JVM 的内存模型,JVM 的性能调优做过吗?
面对高并发的场景,我们都会使用到Cache来缓存热点数据,避免高并发流量直接查询数据库,比如常用的分布式缓存Redis,用户请求的链路如下图:
在我们的日常开发中,基本都会用到消息队列(MQ),使用场景都大同小异,MQ的技术选型可能不同,比如RabbitMQ、RocketMQ、Kafka、Pulsar等。