内存 模式
java内存分配(堆,栈,方法区,常量池)图解
大家都知道,java程序是运行在jvm(java虚拟机)上的,因此Java的内存分配是在JVM中进行的。那么在程序内存分配上面,大致分为:本地方法栈、程序计数器、虚拟机栈、java堆、方法区。这五类,本次主要讲解的是虚拟机栈、java堆和方法区中的内容。 栈:存放基本数据类型的数据、引用数据类型的变 ......
java语言基础--对象内存图解
在JVM内存里面主要分布有以下三个区域: 栈:存放基础数据和自定义对象的引用 堆:主要存储创建的对象,即new出来的对象。 方法区:加载存放class文件(字节码文件) 创建一个对象: 通过上图来看,程序是这样执行的: 将StudentTest01.class文件加载到方法区 将Student.cl ......
java--内存与数据结构
JVM 内存划分 栈一种数据结构特点:先进后出(FILO)入栈:把元素放到栈里栈顶:栈中的第一个元素栈底:栈中的最后一个元素出栈:把元素从栈里移除 基本数据类型–值传递 引用类型–地址传递 堆数组在堆中存储 若堆中的内存空间没有被引用的时候,就会变成垃圾,等着垃圾回收器回收 垃圾回收机制 对象在堆中 ......
记录常用设计模式
策略模式+工厂模式 1.四种玩法,玩法出入参类型一致,根据类型区分具体玩法。 /** * 玩法枚举类 * * @author jiangym * @version 1.0 * @date 2022/9/28 20:10 */ public enum TricksEnum { /** * vip身份用 ......
虚拟内存
看完B站清华大学的操作系统虚拟内存这一部分,进行总结一下。 虚拟内存的起因 (1)目录起因覆盖技术(早期)/交换技术(早期)/虚存技术虚拟内存技术:目标/程序局部性原理/基本概念/基本特征/虚拟页式内存管理 (2)起因 经常出现内存不够了。程序规模的增长大于存储器容量的增长。理想的存储器:更大,更快 ......
软件设计模式系列之十一——装饰模式
装饰模式属于结构型设计模式,它通过将对象包装在装饰器类中来动态地添加额外的行为,而不需要修改原始对象的代码。这个模式以透明的方式向对象添加功能,从而使您可以根据需要组合各种功能。 ......
HeadFirst设计模式学习之责任链模式
- 在责任链模式中,多个处理器依次处理同一个请求。
- 一个请求先经过 A 处理器处理,然后再把请求传递给 B 处理器,B 处理器处理完后再传递给 C 处理器,以此类推,形成一个链条
- 链条上的每个处理器各自承担各自的处理职责。 ......
可执行程序加载时系统分配的内存可以分为哪几段
可执行程序加载时系统分配的内存可以分为以下几段: 代码段(Text Segment): 特点:代码段是只读的,存储了程序的机器代码(即程序的指令)。这部分内存是用于存放程序的可执行指令,不可被程序进行写操作。 作用:代码段是程序的执行指令所在,程序在运行时会按照指令顺序执行代码段中的指令。 数据段( ......
进程注入之Extra Window Memory(额外窗口内存)注入——利用用户自定义的数据注入恶意代码
Extra Window Memory(额外窗口内存)注入是一种在Windows环境下隐藏恶意代码的技术。这种技术的基本思想是利用Windows的窗口子系统(Window Subsystem)中的一个特性:每个窗口都可以有一段额外的内存,这段内存可以用来存储用户自定义的数据。在Extra Windo ......
【HarmonyOS】一文教你如何通过内存图片方式使用image组件加载网络图片资源
【关键字】 内存图片方式、image组件、网络图片资源、api6、服务卡片 1、写在前面 之前写过一篇元服务卡片的开发指导,有需求的可以参考以下文章: 【HarmonyOS】低代码开发之FA卡片开发流程 在2.6 初始化卡片部分,我们实现了加载网络资源的图片,但是直接使用image组件加载网络资源 ......
工厂模式
1:工厂方法模式: public class FactoryTest { //定义抽象产品类 public abstract class Phone { public abstract String brandName(); } //定义具体实现类 public class Huawei exten ......
记一次 .NET 某餐饮小程序 内存暴涨分析
一:背景 1. 讲故事 前些天有位朋友找到我,说他的程序内存异常高,用 vs诊断工具 加载时间又太久,让我帮忙看一下到底咋回事,截图如下: 确实,如果dump文件超过 10G 之后,市面上那些可视化工具分析起来会让你崩溃的,除了时间久之外这些工具大多也不是用懒加载的方式,比如 dotmemory 会 ......
.Net 6搭建仓储模式框架学习(一)
仓储模式 .NET仓储模式是一种软件设计模式,用于将应用程序的数据访问逻辑与业务逻辑分离。它通过将数据访问操作封装在一个单独的仓储类中,使得业务逻辑层可以独立于具体的数据存储技术。 在.NET仓储模式中,仓储类负责处理与数据存储相关的操作,例如数据的增删改查、数据的持久化和查询等。它提供了一组公共的 ......
6.3 应用动态内存补丁
动态内存补丁可以理解为在程序运行时动态地修改程序的内存,在某些时候某些应用程序会带壳运行,而此类程序的机器码只有在内存中被展开时才可以被修改,而想要修改此类应用程序动态补丁将是一个不错的选择,动态补丁的原理是通过`CreateProcess`函数传递`CREATE_SUSPENDED`将程序运行起来... ......
6.2 Sunday搜索内存特征
Sunday 算法是一种字符串搜索算法,由`Daniel M.Sunday`于1990年开发,该算法用于在较长的字符串中查找子字符串的位置。算法通过将要搜索的模式的字符与要搜索的字符串的字符进行比较,从模式的最左侧位置开始。如果发现不匹配,则算法将模式向右`滑动`一定数量的位置。这个数字是由当前文本... ......
mmap:Python内存映射文件操作
前言 内存映射通常可以提高I/O的性能,因为使用内存映射时,不需要对每个访问都建立一个单独的系统调用,也不需要在缓冲区之间复制数据,内核和用户都能很方便的直接访问内存。 本篇,将详细介绍Python内存映射库:mmap。 mmap(读文件) 使用mmap()函数可以创建一个内存映射文件。该函数的第1 ......
外观模式
外观模式 案例引入 要求,组建一个家庭影院,DVD播放器,投影仪,自动屏幕,环绕立体声,爆米花机,实现家庭影院的功能。过程为,直接用遥控器,统筹各设备开关,开爆米花机,放下屏幕,开投影仪,开音响,开dvd,选dvd,取爆米花,调暗灯光,播放电影,观影结束后,关闭各设备。 传统方式实现案例 无具体代码 ......
单例模式
main.java public class main { static public void main(String[] a){ only_one k=only_one.get(); k.mess(); } } only_one.java public class only_one { stat ......
单例模式 静态内部类方式
public class FolderV3Singleton { private FolderV3Singleton() { } private static class DeviceHolder { private static FolderV3Singleton ourInstance = ne ......
INT13H 是一个基本的硬盘控制器中断,用于在实模式下进行对硬盘的读写操作。它提供了多个功能来操控硬盘,包括磁盘读、磁盘写、磁盘参数查询等。以下是一些常见的 INT13H 功能
INT13H 是一个基本的硬盘控制器中断,用于在实模式下进行对硬盘的读写操作。它提供了多个功能来操控硬盘,包括磁盘读、磁盘写、磁盘参数查询等。以下是一些常见的 INT13H 功能: 磁盘读取: 功能号 2:从磁盘上读取扇区到内存缓冲区。 寄存器 AH = 02h,AL 表示要读取的扇区数量,CH 表 ......
单例模式(手撕代码)
一、单例模式 单例模式是常见的一种软件设计模式,单例对象的类只能实例化一个对象。 该类负责创建对象,同时保证只能创建一个对象。并提供一个访问它的全局访问点,该实例被所有程序模块共享。 一般应用与工具类的实现或者消耗资源的场景。 特点: 类构造函数私有 持有自己类的引用 对外获取实例的静态方法 代码: ......
软件设计模式系列之十——组合模式
组合模式是一种结构型设计模式,用于将对象组合成树形结构以表示部分-整体层次结构。这个模式允许客户端以一致的方式处理单个对象和对象组合,因此它将单个对象和组合对象视为可互换的。
组合模式允许你将对象组合成树状结构来表示"部分-整体"的层次结构。组合模式使得客户端可以统一地处理单个对象和组合对象,无需关... ......
设计模式之单例模式
单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。 在Java中,实现单例模式有多种方式,以下是其中两种常见的实现方式: 饿汉式单例模式(Eager Initialization): 在类加载时就创建实例,并且该实例在整个程序生命周期内都是唯一的。 public clas ......
非连续式内存分配
本文中的图片均来自B站清华大学的操作系统课程 为什么提出了非连续式内存分配: 1.连续式内存分配的缺点 (1)分配给一个程序的物理内存是连续的 (2)内存利用率低 (3)有外碎片/内碎片的问题 2.非连续内存分配的优点 (1)能够分配一个程序的物理内存是不连续的 (2)能够更好进行内存的利用和管理 ......
连续式内存分配
应用程序的逻辑地址是如何映射到物理地址 CPU方面来说 1.运算器ALU需要在逻辑地址的内存内容(CPU要逻辑地址) 2.内存管理单元MMU寻找在逻辑地址和物理地址之间的映射(然后MMU找逻辑和物理地址的关系) 3.控制器从总线发送在物理地址的内存内容的请求(关系找到后,去找对应物理地址) 内存方面 ......
redis三主三从哨兵模式 redis三主三从集群
转自:https://blog.51cto.com/u_16213559/7033634 conf 复制/usr/local/src/redis-6.2.6文件夹下redis.conf文件到/usr/local/src/master-slave文件夹中命名为redis6381.conf 1 # 允许 ......
详解Redis三大集群模式,轻松实现高可用!
转自:https://zhuanlan.zhihu.com/p/624144774 1. Redis集群简介 1.1 什么是Redis集群 Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同节点上同时提供服务,提高整体性能和可靠性。 ......