内存 模式

一次压力测试引起的内存溢出排查(apollo)

项目从nacos配置中心适配apollo后,线上压测运行4个小时,内存告警,FGC达到了惊人的100+次 拿到压测dump文件使用mat分析发现com.ctrip.framework.apollo.spring.property.SpringValueRegistry占比达到91.68%,很明显Sp ......
内存 压力 apollo

读书笔记——《软件需求模式》其一

《软件需求模式》是Stephen Withall撰写的一本重要著作,旨在探讨和提供关于软件需求工程的模式和技术。本书深入剖析了软件需求工程的各个方面,并通过引入一系列软件需求模式,为软件开发人员提供了解决常见问题和挑战的实用解决方案。 作者首先强调了需求工程的重要性,指出清晰、准确的需求是软件项目成 ......
需求 模式 笔记 软件

python检查服务器CPU,硬盘,内存使用率脚本

[root@zabbix-agent files]# cat xun.py# -*- coding:utf-8 -*- - import os, time last_worktime=0last_idletime=0 def get_cpu(): global last_worktime, last ......
使用率 脚本 内存 硬盘 服务器

记录一次内存泄漏排查过程

某天收到运维线上警报,服务器内存告警,需要处理一下。此时通过浏览器打开页面,系统可以正常访问,但是有明显卡顿。为了不影响客户使用,先重启了服务释放了内存。由于该项目平时访问量并不大,因此随着程序运行内存占用率的增长比较缓慢,直到第三天才发现从原本的10%跳到了45%。初步怀疑有内存泄漏问题需要进行线 ......
内存 过程

python脚本获取进程使用内存情况

[root@zabbix-server ~]# cat mem.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ # 收集程序所占用的物理内存大小,占所有物理内存的比例 # Python: 2.7.6 import sys import os from ......
脚本 进程 内存 情况 python

c#中switch常用模式

声明模式 首先检查value的类型,然后根据类型输出相应的消息 public void ShowMessage(object value) { switch (value) { case int i: Console.WriteLine($"value is int:{i}"); break; ca ......
常用 模式 switch

Java设计模式之桥接模式

桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。 假如你有一个几何形状(Shape)类, 从它能扩展出两个子类: 圆形(Circle)和方形(Square)。你希望对这样的类层次结构进行扩展以使其 ......
模式 设计模式 Java

java设计模式之适配器模式

定义将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。 根据适配器类与适配者类 ......
模式 设计模式 适配器 java

设计模式六大原则

前言 什么是设计模式? 设计模式是软件设计人员、软件开发人员在程序代码编写中总结出来的一套编码规范,设计模式起一个指导作用,用来指导我们写出高内聚低耦合,具有良好的可扩展性和可维护性的代码。 为什么要学设计模式? 当然,设计模式不是非学不可,不了解设计模式一样可以在工作中写出符合产品要求的功能。但是 ......
设计模式 原则 模式

实验9:桥接模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解桥接模式的动机,掌握该模式的结构; 2、能够利用桥接模式解决实际问题。 [实验任务一]:两个维度的桥接模式 用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。 实验要求: 1. 画出对应的类图; ......
模式

实验8:适配器模式

实验8:适配器模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解适配器模式的动机,掌握该模式的结构; 2、能够利用适配器模式解决实际问题。 [实验任务一]:双向适配器 实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。 实验要求: 1. 画出对应的类图; 2.提交源代码; ......
适配器 模式

实验6:原型模式

实验6:原型模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解原型模式的动机,掌握该模式的结构; 2、能够利用原型模式解决实际问题。 [实验任务一]:向量的原型 用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆 ......
原型 模式

实验3:工厂方法模式

实验3:工厂方法模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解工厂方法模式的动机,掌握该模式的结构; 2、能够利用工厂方法模式解决实际问题。 [实验任务一]:加密算法 目前常用的加密算法有DES(Data Encryption Standard)和IDEA(Internat ......
工厂 模式 方法

实验4:抽象工厂模式

实验4:抽象工厂模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解抽象工厂模式的动机,掌握该模式的结构; 2、能够利用抽象工厂模式解决实际问题。 [实验任务一]:人与肤色 使用抽象工厂模式,完成下述产品等级结构: 实验要求: 1. 画出对应的类图; 2.提交源代码; 3.注意编 ......
工厂 模式

实验5:建造者模式

实验5:建造者模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解建造者模式的动机,掌握该模式的结构; 2、能够利用建造者模式解决实际问题。 [实验任务一]:计算机组装 使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起构成计算机,计算 ......
模式

实验7:单例模式

实验7:单例模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解单例模式的动机,掌握该模式的结构; 2、能够利用单列模式解决实际问题。 [实验任务一]:学号的单一 仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。 实验要求: 1. 画出对应的类图; 2.提交源代码; 3 ......
模式

实验2:简单工厂模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解简单工厂模式的动机,掌握该模式的结构; 2、能够利用简单工厂模式解决实际问题。 [实验任务一]:女娲造人 使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Wom ......
工厂 模式

c#中建造者设计模式详解

基础介绍: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 说白了就是将一个复杂的对象拆分成一个一个零件,然后按照既定顺序和规则进行组装,最终形成这个相对复杂的对象。 具体可分为4个角色: Product(产品):复杂对象本身。 Builder(抽象建造者):既可以是抽象 ......
设计模式 模式

设计模式 实验一上

实验1:UML与面向对象程序设计原则 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、掌握面向对象程序设计中类与类之间的关系以及对应的UML类图; 2、理解面向对象程序设计原则。 [实验任务一]:UML复习 阅读教材第一章复习UML,回答下述问题: 面向对象程序设计中类与类的关系都有哪 ......
设计模式 模式

动态分配内存

Dynamic memory allocation C++ 的动态空间分配由关键字 new 和 delete 实现,下面是它们的基本用法。 new new int; 分配一个 int 类型的空间。 new Stash; 分配一个 Stash 类对象的空间,并调用构造函数。 new int[10]; ......
内存 动态

立即模式下的 Egui

title: author: 阿东 keywords: - Rust - Rust Programming Language - egui - eframe - Technique description: Rust 优秀 GUI 库 egui 采用的立即模式到底有什么特点? 为什么选择了它? au ......
模式 Egui

redis的几种部署模式

一,redis有哪几种部署模式 Redis有几种常见的部署模式,包括单机模式、主从模式、哨兵模式和集群模式。 单机模式:这是最简单的部署方式,仅需要在单个机器上启动Redis实例。这种模式适用于数据量较小、业务压力较小的场景。其优点是操作简单、成本低,适用于小型业务和开发测试环境。然而,单机模式存在 ......
模式 redis

JavaScript内存管理——隐藏类

根据JavaScript所在的运行环境,有时候需要根据JavaScript引擎采取不同的性能优化策略。如果代码非常注重性能,那么隐藏类对我们是非常重要的。比如以下的代码: function User() { this.name = "User Name"; } let user1 = new Use ......
JavaScript 内存

设计模式-单例械

// See https://aka.ms/new-console-template for more information //设计模式-单例模式 //目的:唯一性,内存资源,GCtffu //保证整个系统中一个类只有一个对象的实例 using System.Threading.Channels ......
设计模式 模式

python的内存泄漏及垃圾回收机制

python内存泄漏的几种场景: 一,如果打开一个文件,不关闭,是不是就是内存泄漏了? 在Python中,打开的文件对象会一直存在内存中,直到显式地关闭文件或者程序结束时才会被清理。因此,如果打开了一个文件但没有关闭它,那么这个文件对象会一直占用内存,导致内存泄漏。 为了避免内存泄漏问题,建议在使用 ......
机制 内存 垃圾 python

设计模式-策略模式

策略模式:定义一系列的算法,将每个算法分别封装起来,让它们可以互相替换。 策略模式用于算法的自由切换和扩展,它是使用较为广泛的设计模式之一。策略模式对应于解决某一问题的一个算法族,允许用户从该算法中任选一个算法解决某一问题,同时可以方便地更换算法或者增加新算法。 策略模式实现了算法定义和算法使用分离 ......
模式 设计模式 策略

用三种语言实现模板方法模式

本文用三种编程语言来实现模板方法模式。其主旨在于,用不同的思想和视角去看待同一件事情。这种方式可以开阔技术视角,不局限于某一种编程语言和平台。 ......
模板 语言 模式 方法

读程序员的制胜技笔记04_有用的反模式(下)

1. 重新发明轮子 1.1. 发明家的特质就是要用质疑的心态对待所有事物,你从未停下质疑,那你将不可避免地成为一个发明家 1.2. 并非所有的事情都有现成的轮子可以拿来用 1.3. 自己重新写一个新的API,最终调用你使用的库 1.3.1. 你的API应该是极简的,满足你的需求就可以了 1.3.1. ......
程序员 有用 模式 笔记 程序

设计模式和UML基础信息

![](https://img2023.cnblogs.com/blog/2808014/202311/2808014-20231105005318207-1141826883.jpg) ![](https://img2023.cnblogs.com/blog/2808014/202311/2808... ......
设计模式 模式 基础 信息 UML

内存分配

arena 这块区域最大,明显就是用来存放我们最终的对象,里面分成了一个个8K大小的房间,每个房间我们称为page。(这里虽然写了它是512G,但是你心里要有B数,你电脑根本没这么大的内存,其实操作系统只是给了你地址而已)同时几个page组合在一起的大房间又叫做mspan(这个是golang中内存管 ......
内存