深入解析 Elasticsearch 的写入原理Elasticsearch 是一个基于 Lucene 构建的分布式搜索引擎,广泛应用于日志分析、全文检索和实时数据处理场景中。它以灵活的数据建模能力和强大的查询性能著称。然而,其背后的写入流程设计才是支撑高可用、高吞吐的关键。2024-04-204989 字17 分钟650 次ElasticSearch
Elasticsearch搜索优化实战:从基础查询到精准排序的完整实践在最近的项目中,我们基于Elasticsearch(以下简称ES)搭建了一套全文检索系统。开发过程中发现经常搜不到想要的内容,或者明明关键词匹配,结果却杂乱无章,新内容被旧内容压在后面,核心字段匹配的文档反而排在边缘。经过一系列针对性优化,搜索准确率提升了60%以上。这篇文章就把整个优化过程拆解开来,希望能够帮助到在看文章的你。2024-03-183804 字13 分钟733 次ElasticSearch
JSR-107缓存规范总结JSR是Java Specification Requests的缩写,意思是 Java 规范提案。2012年10月26日 JSR 规范委员会发布了 JSR 107(JCache API的首个早期草案)。JCache 规范定义了一种对Java对象临时在内存中进行缓存的方法,包括对象的创建、共享访问、假脱机(spooling)、失效、各JVM的一致性等,可被用于缓存JSP内最经常读取的数据。2023-09-0710374 字35 分钟553 次
浅谈实时多人在线游戏客户端服务器协调技术在多人在线游戏中,为了让多名玩家能够看到相同的状态表现,服务器和客户端需要紧密结合以同步游戏世界中的对象。同步并不是服务器与生俱来的能力,需要通过一系列技术来尽量地让玩家能够看到相同的游戏世界。2023-08-183192 字11 分钟397 次游戏服务器
浅析游戏AI行为与设计思想游戏AI十分常见,从小时候玩的五子棋人机对战再到现在大型游戏中的各种仿真AI,例如追逐战中追着我们不放的怪物、游戏中天空的鸟群以及能够与玩家做出交互的NPC。游戏的AI随着时代不停地在发展,近期随着ChatGPT大语言模型的兴起,游戏的AI有了更加前沿的探索。不过,在目前的游戏中,我们常说的AI还是偏向于工业AI,并非学术上典型的AI。所以本文将详细讨论游戏工业中的AI。2023-08-113481 字12 分钟390 次人工智能游戏服务器
JIT即时编译技术在JVM中的应用及分析JIT(Just In Time),即时编译技术,它能够将Java中的字节码实时地编译成本地机器码并执行。JIT编译器并不止在Java中存在,在其他语言的VM中也可能存在JIT编译器。JIT的作用是将高级语言代码转换成本地机器码,以提高程序的执行效率和性能。通过解释执行与编译执行的结合,JIT编译器可以使得虚拟机更高效地运行代码。2023-07-305177 字18 分钟661 次JavaJVM
【开源&原创】轻量级的高性能事件总线——EventBusEventBus 是一个原创的开源轻量级高性能的事件总线,适用于 Java 以及 Spring/SpringBoot 框架。EventBus 是一个发布/订阅模式的实现,它可以用来替代传统的 Java 监听器模式,实现组件间的解耦,让你的代码更加灵活,易于维护。2023-04-012099 字7 分钟409 次JavaSpringBoot
Redis 常见知识点及面试题近万字总结Redis 是一个用 C 语言开发的数据,并且 Redis 的数据是存储在内存中的,读写速度非常快,几乎不受 CPU 和磁盘 I/O 的影响。 Redis 被广泛应用在缓存方面,它支持多种数据类型如字符串、列表、集合、有序集合、哈希等;还支持事务,且操作遵循原子性;并且拥有其他强大的功能如持久化、主从复制、集群等。2022-06-2612281 字41 分钟358 次Redis面试数据库Java
数据库常见知识点以及面试题总结本文主要对数据库常见底层知识点进行总结,整理了包括范式、索引、事务、引擎、日志等常见数据库模块的内容。2022-06-0810435 字35 分钟255 次数据库MySQL面试Java