最新内容

收下膝盖!入职阿里2年的堂姐教我Java多线程-线程的概念和创建

前言声明:该文章中所有测试都是在JDK1.8的环境下。该文章是我在学习Java中的多线程这方面知识时,做的一些总结和记录。如果有不正确的地方请大家多多包涵并作出指点,谢谢!一、基础概念我们知道CPU执行代码都是一条一条顺序执行的,所以本质上单核CPU的电脑不会在同一个时间点执行多个任务。但是在现实中,我们在使用电脑的时候,可以一边聊微信,一边听歌。那这是怎么 …

一种轻量分表方案-MyBatis拦截器分表实践

作者:京东零售 张均杰背景部门内有一些亿级别核心业务表增速非常快,增量日均100W,但线上业务只依赖近一周的数据。随着数据量的迅速增长,慢SQL频发,数据库性能下降,系统稳定性受到严重影响。本篇文章,将分享如何使用MyBatis拦截器低成本的提升数据库稳定性。业界常见方案针对冷数据多的大表,常用的策略有以2种:1. 删除归档旧数据。2. 分表。归档删除旧数据 …

Java 21正式发布,15大特性一览

Java 开发工具包(JDK) 21 是 Oracle 标准 Java 实现的最新长期支持 (LTS) 版本,现已推出生产版本。比较实用的我看就5个,字符串模板、有序集合、记录模式、switch的模式匹配、虚拟线程,其他一般也用不大到。1. JEP 430:字符串模板对现有Java字符串处理进行增强。包括两个模板处理器STR和FMT。简单示例:STR模板处理 …

实现延迟队列,这些你知道吗?

何为延迟队列队列,即先进先出的数据结构,就和食堂打饭一样,排在最前面的先打饭,打完饭就走;延迟队列即队列中的元素相比以往多了一个属性特征:延迟。延迟队列中的每个元素都指定了延迟时间,表示该元素到达指定时间之后将出队进行处理。其实从上述定义来看,与其说是延迟队列,不如说它是一个以时间为权重的最小堆结构。那么延迟队列有什么用呢?我们生活中其实平时接触到很多可以使 …

Netty 时间轮源码解析

定时任务在中间件和业务系统中有很多应用,比如:注册中心中定期上报状态的心跳机制。RPC 框架中定期扫描请求列表移除超时请求。延迟队列提交未来时间的任务。业务系统每日凌晨跑批处理或报表任务。Java 原生提供 Timer 和 ScheduledThreadPoolExecutor 类实现定时任务;Netty、akka、Kafka 等框架扩展时间轮算法实现定时任 …

Lucene就是这么简单

什么是Lucene??Lucene是apache软件基金会发布的一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写,它是一个全文检索引擎的架构,提供了完整的创建索引和查询索引,以及部分文本分析的引擎,Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的 …

如何利用 xUnit 框架对测试用例进行维护?

先看 Wikipedia 上的解释:xUnit 是一系列测试框架的统称,最开始来源于一个叫做 Smalltalk 的 SUnit 框架,现在各种面向对象的语言,如 Java、Python 的鼻祖就是 Smalltalk,后来这些语言都借助了 Sunit 框架的理念,有很多通用的规范和特征,也就统称为 xUnit。Java : JUnit、TestNGPyth …