聊聊JDK1.0到JDK20的那些事儿

最近小组在开展读书角活动,我们小组选的是《深入理解JVM虚拟机》,相信这本书对于各位程序猿们都不陌生,我也是之前在学校准备面试期间大致读过一遍,emm时隔多日,对里面的知识也就模糊了。这次开始的时候从前面的JDK发展史和JVM虚拟机家族着手,之前都是粗略读过,这次通过查阅相关资料并收集在每一个JDK版本演化期间所发生的的一些趣闻,发现还是比较有意思的,以下是关于有关JDK发展史的总结分享。

缓存空间优化实践

缓存Redis,是我们最常用的服务,其适用场景广泛,被大量应用到各业务场景中。也正因如此,缓存成为了重要的硬件成本来源,我们有必要从空间上做一些优化,降低成本的同时也会提高性能。下面以我们的案例说明,将缓存空间减少70%的做法。

【架构与设计】常见微服务分层架构的区别和落地实践

软件工程的方方面面都遵循一个最基本的道理:没有银弹,架构分层模型更是如此,每一种都有各自优缺点,所以请根据不同的业务场景,并遵循简单、可演进这两个重要的架构原则选择合适的架构分层模型即可。

楠姐技术漫话:图计算的那些事 | 京东云技术团队

不知道大家在平时的工作中有没有听说过“图计算”这个名词,但大家一定在各工作汇报,技术分享中听说过“智能化”,“人工智能”这样的字眼,而我们今天要唠的这个图计算就是人工智能领域内近几年炙手可热的前沿宠儿

MySQL存储过程、索引、分表对比

MySQL存储过程、索引和分表是用于提高查询效率的三种不同方法,它们各自对查询效率有不同的影响和应用场景。以下是它们的对比: MySQL存储过程: 影响查询效率: 存储过程通常不直接影响查询效率,因为它们是用于封装查询逻辑和执行多个SQL语句的数据库对象。存储过程主要有助于减少网络通信的开销,特别是

GitHub Star 数量前 12 的开源无代码工具

相关文章:GitHub Star 数量前 15 的开源低代码项目 在本篇文章中,我们将探索 12 款在 GitHub 上星级排名前列的开源无代码工具。 每款工具都旨在简化和加速开发过程,但各自侧重于不同的应用场景。 从动态表单生成的 Formily,到高度可定制的 NocoBase 用于复杂业务系统

Langchain 与 LlamaIndex:LLM 应用开发框架的比较与使用建议

Langchain 和 Llamaindex 是两种广泛使用的主流 LLM 应用开发框架。两者有什么不同?我们该如何使用?以下我根据各类资料和相关文档做了初步选型。 一、Langchain 1. 适用场景 (1)需要构建灵活、可扩展的通用应用程序。 (2)需要复杂的工作流程支持。 (3)需要复杂的交

我是如何从零到成为 Apache 顶级项目的 Committer

最近收到了 Apache Pulsar 和 Apache HertzBeat社区的邀请邮件,成为了这两个项目的 Committer。 一路走来我从最开始的打游击战的闲散人员到如今活跃在各个开源项目里的“老兵”,用现在流行的话来说 Apache 的这两个 Committer 就相当于是拿到了编制,进入

【一天一点.NET小知识】运用向量Vector加速求和计算

随着 .NET 版本的演进,从 .NET Standard 2.0 版本开始,支持 Vector 类型。 从 .NET 8.0 版本开始,大量在 Runtime 提供的各个组件中运用向量计算,​特别是 Linq。 Vector 类型:表示指定数值类型(适用于并行算法的低级别优化)的单个向量。

我跟你说@RefreshScope跟Spring事件监听一起用有坑!

本文记录一下我在 Spring 自带的事件监听类添加 @RefreshScope 注解时遇到的坑,原本这两个东西单独使用是各自安好,但当大家将它们组合在一起时,会发现我们的事件监听代码被重复执行。希望大家引以为鉴,避免重复踩坑。耐心看完,你一定会有所收获! 前置描述 最近有一个用户拉新的需求,需要在

你真的了解Java内存模型JMM吗?

面试连环call: 1. 什么是Java内存模型(JMM)? 为什么需要JMM? 2. Java线程的工作内存和主内存各自的作用? 3. Java缓存一致性问题? 4. Java的并发编程问题?

张高兴的 MicroPython 入门指南:(二)GPIO 的使用

目录什么是 GPIO使用方法使用微动开关点亮板载 LED硬件需求电路代码参考 什么是 GPIO GPIO 是 General Purpose Input Output 的缩写,即“通用输入输出”。 Raspberry Pi Pico 左右两侧各有一列 GPIO 引脚, Pico 通过这两列引脚进行一

GuavaCache、EVCache、Tair、Aerospike 缓存框架比较

Guava Cache、EVCache、Tair、Aerospike 是不同类型的缓存解决方案,它们各有特点和应用场景。下面我会逐一分析这些缓存系统的优势、应用场景,并提供一些基本的代码示例。

有手就会的 Java 处理压缩文件

@目录前言背景第一步:编写代码1.1 请求层1.2 业务处理层1.3 新增配置第二步:解压缩处理2.1 引入依赖2.2 解压缩工具类总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、 提示:以下是本篇文章正文内容,下面案例可供参考 背景 在项目出现上传文件,其中文件包含压缩包,并

[golang]在Gin框架中使用JWT鉴权

什么是JWT JWT,全称 JSON Web Token,是一种开放标准(RFC 7519),用于安全地在双方之间传递信息。尤其适用于身份验证和授权场景。JWT 的设计允许信息在各方之间安全地、 compactly(紧凑地)传输,因为其自身包含了所有需要的认证信息,从而减少了需要查询数据库或会话存储

Linux 特权 SUID/SGID 的详解

导航 0 前言 1 权限匹配流程 2 五种身份变化 3 有效用户/组 4 特权对 Shell 脚本无效 5 Sudo 与 SUID/SGID 的优先级 6 SUID、SGID、Sticky 各自的功能 0、前言 Linux最优秀的地方之一,就在于他的多人多工环境。而为了让各个使用者具有较保密的档案资

Linux 中 uid、gid、euid、egid、groups 之间的关系

导航 1 权限匹配流程 2 五种身份变化 3 有效用户/组 4 特权对 Shell 脚本无效 5 Sudo 与 SUID/SGID 的优先级 6 SUID、SGID、Sticky 各自的功能 Linux最优秀的地方之一,就在于他的多人多工环境。而为了让各个使用者具有较保密的档案资料,因此档案的权限管

记一次RocketMQ消费非顺序消息引起的线上事故

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工单创建完成的消息事件(异步消息)、MQ消费者收到消息之后、会通知各处理器处理该消息、各处理器处理完后都会发布一条将该工单写入搜索引擎的消息、最终该工单出现在搜索引擎、被工单处理人检索和处理。 事故异常体现 1、异常体现 从工单的流转记录发现、

背包DP——多重背包

多重背包也是 0-1 背包的一个变式。与 0-1 背包的区别在于每种物品有 k 个,而非一个。 朴素 直接把相同的每个物品视作各个单独的物品,没有关联,仅条件相同; 转换后直接用01背包的状态转移方程 注意:在大数据下容易爆空间时间 二进制分组优化 与朴素相比,优化利用二进制原理(任意数可以由多个不

R语言遍历文件夹求取其中所有栅格文件的平均值

本文介绍基于R语言中的raster包,遍历读取多个文件夹下的多张栅格遥感影像,分别批量对每一个文件夹中的多个栅格图像计算平均值,并将所得各个结果栅格分别加以保存的方法~