内存 成员 语言 结构

【Java难点攻克】「NIO和内存映射性能提升系列」彻底透析NIO底层的内存映射机制原理与Direct Memory的关系

Java类库中的NIO包相对于IO包来说有一个新功能就是 【内存映射文件】,在业务层面的日常开发过程中并不是经常会使用,但是一旦在处理大文件时是比较理想的提高效率的手段,之前已经在基于API和开发实战角度介绍了相关的大文件读取以及NIO操作的实现,而本文主要想结合操作系统(OS)底层中相关方面的内容... ......
内存 难点 底层 NIO 原理

Kafka技术专题之「性能调优篇」消息队列服务端出现内存溢出OOM以及相关性能调优实战分析

本篇文章介绍Kafka处理大文件出现内存溢出 java.lang.OutOfMemoryError: Direct buffer memory,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。 ......
性能 实战分析 队列 实战 内存

【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?

我有一个在主机中运行的Docker容器(也有在同一主机中运行的其他容器)。该Docker容器中的应用程序将会计算数据和流式处理,这可能会消耗大量内存。 该容器会不时退出。我怀疑这是由于内存不足,但不是很确定。我需要找到根本原因的方法。那么有什么方法可以知道这个集装箱的死亡发生了什么? ......
节点 容器 故障 内存 心得

Mqttnet内存与性能改进录

1 MQTTnet介绍 MQTTnet是一个高性能的 .NET MQTT库,它提供MQTT客户端和MQTT服务器的功能,支持到最新MQTT5协议版本,支持.Net Framework4.5.2版本或以上。 MQTTnet is a high performance .NET library for ......
内存 性能 Mqttnet

Jvm上如何运行其他语言?JSR223规范最详细讲解

一 在Java的平台里,其实是可以执行其他的语言的。包括且不仅限于jvm发展出来的语言。 有的同学可能会说,在java项目里执行其他语言,这不吃饱了撑着么,java体系那么庞大,各种工具一应俱全,放着好好的java不写,还要去执行其他语言干嘛。 写java的都知道,java是需要事先编译的,这意味着 ......
语言 Jvm JSR 223

看完这篇,还不懂JAVA内存模型(JMM)算我输

欢迎关注专栏【JAVA并发】 前言 开篇一个例子,我看看都有谁会?如果不会的,或者不知道原理的,还是老老实实看完这篇文章吧。 @Slf4j(topic = "c.VolatileTest") public class VolatileTest { static boolean run = true; ......
模型 内存 JAVA JMM

一步步带你设计MySQL索引数据结构

前言 MySQL的索引是一个非常重要的知识点,也基本上是面试必考的一个技术点,所以非常重要。那你了解MySQL索引的数据结构是怎么样的吗?为什么要采用这样的数据结构? 现在化身为MySQL的架构师,一步步迭代设计出MySQL的索引结构,保证你再也忘记不了索引的结构了,轻松通过面试。 索引介绍 MyS ......
数据结构 索引 结构 数据 MySQL

RocketMQ Schema——让消息成为流动的结构化数据

RocketMQ Schema 提供了对消息的数据结构托管服务,同时为原生客户端提供了较为丰富的序列化/反序列化 SDK ,补齐了 RocketMQ 在数据治理和业务上下游解耦方面的短板,让数据成为流动的结构化数据,那么快来了解下实现原理吧~ ......
RocketMQ 消息 结构 数据 Schema

深入理解 Python 的对象拷贝和内存布局

在本篇文章当中主要给大家介绍了 python 当中对象的拷贝和内存布局,以及对对象内存地址的验证,最后稍微介绍了一下 cpython 内部实现列表的结构体,帮助大家深入理解列表对象的内存布局。 ......
拷贝 布局 对象 内存 Python

数据结构高阶--AVL(平衡二叉树)(图解+实现)

AVL树(平衡二叉树) 概念 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。因此为了解决这个问题,两位俄罗斯的数学家发明了一种方法:当向二叉搜索树中插入新结点后,如果能保证每个结点的左右子树高度之差的绝对值不超过1(需要 ......
数据结构 高阶 结构 数据 AVL

数据结构初阶--二叉树介绍(基本性质+堆实现顺序结构)

树的基本概念和结构 树的相关概念 **节点的度:**一个节点含有的子树的个数称为该节点的度; 如上图:A的为2 叶节点或终端节点:度为0的节点称为叶节点; 如上图:D、F、G、H为叶节点 **非终端节点或分支节点:**度不为0的节点; 如上图:A、B…等节点为分支节点 **双亲节点或父节点:**若一 ......
结构 数据结构 顺序 性质 数据

Java实现递归查询树结构

我们在实际开发中,肯定会用到树结构,如部门树、菜单树等等。Java后台利用递归思路进行构建树形结构数据,返回给前端,能以下拉菜单等形式进行展示。今天,咱们就来说说怎么样将List集合转换成TreeList。 一、jar依赖 为了简化代码,引入Lombok的Jar包,可省略实体类set()、get() ......
结构 Java

数据结构高阶--二叉搜索树(原理+实现)

二叉搜索树 概念 二叉搜索树又称为二叉排序树,因为这棵树的中序遍历是有序的。二叉搜索树总结起来有以下几个性质: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于于根节点的值 它的左右子树都是二叉搜索树 这棵树中没有重复的元素 举个例子: 二 ......
数据结构 高阶 原理 结构 数据

数据结构初阶--单链表(讲解+类模板实现)

单链表 **概念:**链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。 值得注意的是: 1.链表的在逻辑是连续的,物理上不一定是连续的; 2.现实中节点是从堆上申请的。 链表的实现 链表的单个结点的定义 就像这个图一样,一个空间用了存放数据(数 ......
数据结构 模板 结构 数据

数据结构初阶--栈和队列(讲解+类模板实现)

栈 栈的概念和结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)加粗样式的原则。 入栈:从栈顶放入数据的操作。 出栈:从栈顶取出元素的操作。 栈的实现 ......
数据结构 队列 模板 结构 数据

数据结构初阶--双向循环链表(讲解+类模板实现)

带头双向链表的结构 看下面的图,就是我今天要给大家分享有结构——带头双向循环链表。这里的头是不存放任何数据的,就是一个哨兵卫的头结点。 用代码来表示每一个节点就是这样的: 数据域和指针域 两个指针,一个指向前驱结点,一个指向后继结点 给定两个构造函数,有参和无参,分别对结点的指针域和数据域进行初始化 ......
数据结构 双向 模板 结构 数据

PyTorch Geometric Temporal 介绍 —— 数据结构和RGCN的概念

Introduction PyTorch Geometric Temporal is a temporal graph neural network extension library for PyTorch Geometric. PyTorch Geometric Temporal 是基于PyTo ......

数据结构初阶--二叉树(前中后序遍历递归+非递归实现+相关求算结点实现)

二叉树链式结构 前一篇博客介绍了二叉树的顺序结构,是通数组来存储的,这里我们通过创建链式结构来存储,在堆上申请空间,结构如下: template <class DateType> struct BinaryTreeNode { DateType data;//数据域 BinaryTreeNode* ......
结点 数据结构 结构 数据

【Java并发入门】02 Java内存模型:看Java如何解决可见性和有序性问题

如何解决其中的可见性和有序性导致的问题,这也就引出来了今天的主角——Java 内存模型。 一、什么是 Java 内存模型? 导致可见性的原因是缓存,导致有序性的原因是编译优化,那解决可见性、有序性最直接的办法就是禁用缓存和编译优化,但这样虽然解决了问题,但也导致带来的性能优化都没了。 因此,解决方案 ......
有序性 Java 模型 内存 问题

Android 内存缓存框架 LruCache 的实现原理,手写试试?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在之前的文章里,我们聊到了 LRU 缓存淘汰算法,并且分析 Java 标准库中支持 LUR 算法的数据结构 LinkedHashMap。当时,我们使用 LinkedHashMap 实 ......
缓存 框架 LruCache 原理 内存

谁说.NET没有GC调优?只改一行代码就让程序不再占用内存

经常看到有群友调侃“为什么搞Java的总在学习JVM调优?那是因为Java烂!我们.NET就不需要搞这些!”真的是这样吗?今天我就用一个案例来分析一下。 昨天,一位学生问了我一个问题:他建了一个默认的ASP.NET Core Web API的项目,也就是那个WeatherForecast的默认项目模 ......
一行 内存 代码 程序 NET

【开源】全网首个支持国密算法的微信支付 C#/.NET SDK(附 SM2/SM3/SM4 跨语言联调的踩坑要点)

前言 前文回顾:《【开源】这可能是封装微信 API 最全的 C#/.NET SDK 了》 自 2021 年 8 月公开发布后,本项目已开源一年有余。在此期间,受到了很多开发者的关注和使用,也接收了很多热心开源的开发者给予的帮助,无论是上报了缺陷或建议,还是发起了 PR,亦或是在社群内回答他人的提问, ......
全网 算法 要点 SM 语言

【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(上)

在我们日常的工作当中,通常应用都会采用Kubernetes进行容器化部署,但是总是会出现一些问题,例如,JVM堆小于Docker容器中设置的内存大小和Kubernetes的内存大小,但是还是会被OOMKilled。在此我们介绍一下K8s的OOMKilled的Exit Code编码。 ......
内存 问题 容器 Kubernetes JVM

【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(下)

之前文章根据《【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(上)》我们知道了如何进行设置和控制对应的堆内存和容器内存的之间的关系,所以防止JVM的堆内存超过了容器内存,导致容器出现OOMKilled的情况... ......
内存 问题 容器 Kubernetes JVM

(四) 一文搞懂 JMM - 内存模型

4、JMM - 内存模型 1、JMM内存模型 JMM与happen-before 1、可见性问题产生原因 下图为x86架构下CPU缓存的布局,即在一个CPU 4核下,L1、L2、L3三级缓存与主内存的布局。 每个核上面有L1、L2缓存,L3缓存为所有核共用。 因为存在CPU缓存一致性协议,例如MES ......
模型 内存 JMM

记一次 .NET 某工控软件 内存泄露分析

一:背景 1.讲故事 上个月 .NET调试训练营 里的一位老朋友给我发了一个 8G 的dump文件,说他的程序内存泄露了,一时也没找出来是哪里的问题,让我帮忙看下到底是怎么回事,毕竟有了一些调试功底也没分析出来,说明还是有一点复杂的,现实世界中的dump远比课上说的复杂的多。 还是那句话,找我分析是 ......
内存 软件 NET

记一次 .NET 某电子厂OA系统 非托管内存泄露分析

一:背景 1.讲故事 这周有个朋友找到我,说他的程序出现了内存缓慢增长,没有回头的趋势,让我帮忙看下到底怎么回事,据朋友说这个问题已经困扰他快一周了,还是没能找到最终的问题,看样子这个问题比较刁钻,不管怎么说,先祭出 WinDbg。 二:WinDbg 分析 1. 托管还是非托管泄露 一直关注这个系列 ......
电子厂 内存 系统 电子 NET

Dart语言简介

简单介绍Dart语言 Dart是一种针对客户优化的语言,亦可在任何平台上快速开发的应用陈旭。 目标是为多平台开发提供最高效的变成语言,并为应用程序框架搭配了领会的运行时执行平台。 Dart特点 Dart语言 类型安全,使用静态型检查来确保变量的值 始终与变量的静态类型相匹配 健全的空值安全,只有声明 ......
语言 简介 Dart

加强堆结构说明

加强堆结构说明 作者:Grey 原文地址: 博客园:加强堆结构说明 CSDN:加强堆结构说明 关于堆和堆排序的说明 可以参考这篇博客:与堆和堆排序相关的问题 基础的堆结构可以实现数据入堆和出堆以后(即: 调用堆的 pop 和 push 方法),使用O(logN)的时间复杂度可以将堆调整好,如果使用的 ......
结构

java并发数据结构之CopyOnWriteArrayList

CopyOnWriteArrayList是一个线程安全的List实现,其在对对象进行读操作时,由于对象没有发生改变,因此不需要加锁,反之在对象进行增删等修改操作时,它会先复制一个对象副本,然后对副本进行修改,最后将修改后的副本对象写回,从而保证操作的线程安全,下面我们看一下具体的代码实现。 构造函数 ......