内存 模式
从内核世界透视 mmap 内存映射的本质(源码实现篇)
本文基于内核 5.4 版本源码讨论 通过上篇文章 《从内核世界透视 mmap 内存映射的本质(原理篇)》的介绍,我们现在已经非常清楚了 mmap 背后的映射原理以及它的使用方法,其核心就是在进程虚拟内存空间中分配一段虚拟内存出来,然后将这段虚拟内存与磁盘文件映射起来,整个 mmap 系统调用就结束了 ......
Java设计模式之工厂设计模式
1.1.概述 需求:设计一个咖啡店点餐系统。 设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStore),咖啡店具有点咖啡的功能。 具体类的设计如下: 在java中,万物皆对象,这些对 ......
JDK 21新特性---记录模式匹配
记录模式匹配 Record Classes 在JDK 16中加入了Record Class,它自动生成了构造函数、访问器、equals、hashCode、toString等方法,简化代码的编写,类似于lombok插件的@Data注解。 类简化对比: public class MyRecord { p ......
JVM之内存模型
前言 首先说明下JVM内存模型和Java内存模型这是两个不同的概念,不要搞混淆了。 JVM内存模型定义了Java程序在运行时如何分配、使用和释放内存,跟存储和执行相关,也就是常说的运行时数据区域。 Java内存模型(Java Memory Model,简称 JMM)是一种规范,定义了线程和主内存之间 ......
备忘录模式
备忘录模式 案例引入 游戏角色状态恢复问题 游戏角色有攻击力,防御力等,在大战BOSS前保存自身的状态(攻击力,防御力),当大战BOSS后攻击力和防御力下降,从备忘录对象恢复到大站前的状态。 传统方式实现案例 创建一个游戏角色类对应的状态类,给每个游戏角色对象,对应一个对应状态类的对象,用来保存状态 ......
笔记1:环境安装及烧录模式
1.需要安装ADB工具 2.使用RKDevTool.exe 烧录固件 K3568 开发板需要进入 Loader 或 Maskrom 模式才可执行烧写操作。进入 Loader 模式的方法:首先按住开发板上的音量+(V+) 按键(具体位置请参考按键示意图 3.2.3) 不松,给开发板上电或复位,此时 R ......
BenchmarkDotNet-显示内存
在基准测试中, 除了运行耗时之外, 使用内存也是一项比较重要的指标, 下面介绍一下如何在最终的结果中展示内存方面的使用情况 // 由于现在需要展示内存方面的指标, 原来的字符串判空由于使用内存较少, 不适合用来做测试 // 因此定义了以下拥有相同属性的结构体和类 public struct SMod ......
Bridge 桥接模式简介与 C# 示例【结构型2】【设计模式来了_7】
〇、简介 1、什么是桥接模式? 一句话解释: 通过一个类的抽象,与另一个类的抽象关联起来,当做桥。此后不管两个抽象类的实现有多少种,均可以通过这个桥来将两个对象联系起来。 桥接,顾名思义就是用桥来连接河两岸,将原本不关联的两部分联系起来,且不影响两岸的各自演化,演化出来的不同对象仍可以通过这个桥连接 ......
一文打尽设计模式(C++实现)
https://blog.csdn.net/leacock1991/article/details/111713017 文章目录 我从哪里来(设计模式的由来) 我是谁(设计模式是什么) 我要到哪里去(设计模式的作用) 我该如何做(怎么学习设计模式) 关于设计原则与文章推荐 最后说点啥 点击链接访问具 ......
Java设计模式之适配器模式
1.1.概述 如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边 的。因此我们的笔记本电脑,手机在当地不能直接充电。所以就需要一个插座转换器,转换器第1面插 入当地的插座,第2面供我们充电,这样使得我们的插头在当地能使用。生活中这样的例子很多,手机 充电器(将 ......
学习笔记-设计模式-创建型模式-单例模式
单例模式 一个类只有一个实例,并提供一个全局访问此实例的点,哪怕多线程同时访问。 单例模式主要解决了一个全局使用的类被频繁的创建和消费的问题。 单例模式的案例场景 数据库的连接池不会反复创建 spring中一个单例模式bean的生成和使用 在我们平常的代码中需要设置全局的一些属性保存 七种单例模式的 ......
Java设计模式之建造者模式
1.1.概述 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 • 分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况。 • 由于实现了构建和装配的解耦。不同的构建器,相同的装配, ......
ClickHouse内存配置参数
1.max_memory_usage运行单个查询时使用的最大内存量。默认设置为无限(设置为 0)。该设置不考虑可用内存容量或机器上的内存总量。该限制适用于单个服务器中的单个查询。你可以使用SHOW PROCESSLIST查看每个查询的当前内存消耗。此外,每次查询的内存消耗峰值都会被跟踪并写入日志。某 ......
防止strcpy/strncpy内存溢出的my_strncpy
my_strncpy: 1 char *my_strncpy(char *dest, const char *src, size_t size) 2 { 3 if (size <= 0) 4 return dest; 5 6 dest[--size] = '\0'; 7 8 return strnc ......
redis哨兵模式
目录Redis 高可用哨兵模式sentinel 介绍什么是 sentinel?sentinel 的构造sentinel 的功能sentinel 如何发现主库和从库发现其他 sentinel多个 sentinel 之间连接检测实例的状态故障转移 FAILOVER 步骤选举规则Sentinel 自动故障 ......
Redis订阅发布模式
目录Redis 订阅发布模式消息队列消息队列的使用原因消息队列产品拓展VMware 集群化产品Linux 虚拟化产品Redis 发布消息的两种模式任务队列模式(queuing)发布 - 订阅模式 (publish-subscribe)Redis 发布订阅实践订阅发布模型一个发布者多个订阅者模型多个发 ......
C++在HotSpot VM中一种巧妙的内存管理方式
在HotSpot VM中定义了一个Relocation类及相关的子类,可以通过这些类操作不同的重定位数据,如在CodeCache中读写这些数据。这些类需要的内存很小,但是不同的类需要的内存大小又不一样,所以做了如下的设计: #include <cstdlib> #include "iostream" ......
设计模式 (1): 5 种创建型模式 (结合代码详解)
目录1 单例模式饿汉单例懒汉单例双重检验单例静态内部类单例破坏单例 (反射、反序列化)枚举类单例2 工厂模式简单工厂模式工厂方法模式3 抽象工厂模式实现抽象工厂模式对比三种工厂模式如何选择工厂方法和抽象工厂?4 建造者模式5 原型模式 1 单例模式 需考虑的问题: 是否线程安全 是否延迟创建 有无破 ......
华为跟思科配置VLAN与trunk模式切换
华为交换机跟思科交换机设置VLAN跟trunk与access模式切换 在原有交换机基础上配上vlan,vlan是一种隔离技术 1.隔离广播 2.隔离故障 配置交换机(华为) 1. sy 回车,进入配置模式 undo in en 关闭英文提示,好看一点,可以不打。实际工作中,不打。 2. 分别输入vl ......
node-oracledb thin 模式试用
node-oracledb client 已经支持thin 模式了,npm 包小了很多,以下是一个测试 环境准备 基于容器部署的oracle docker-compose version: '3' services: db: image: gvenzl/oracle-xe:21.3.0-slim p ......
Arm Linux内存管理(一)
Arm Linux内存管理(一) 大文 2 人赞同了该文章 一、Arm linux的基本概念 1. Arm Linux物理内存 Arm平台内存大小的定义在DTS设备树中定义 arch/arm/boot/dts/vexpress-v2p-ca9.dts中 内核在启动过程中,需要解析dts文件。代码的调 ......