首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏软件方法

    UML建模工具2021年8-11月更新(1)

    UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx

    76220编辑于 2021-12-14
  • 来自专栏软件方法

    UML建模工具2021年8-11月更新(2)UModel 2022

    UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx

    65220编辑于 2021-12-17
  • 来自专栏软件方法

    UML建模工具2021年8-11月更新(共15款)

    UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx

    1.4K20编辑于 2021-12-17
  • 来自专栏编程技术沉思录

    linux实现shell脚本监控磁盘内存达到阈值时清理catalina.out日志

    想在服务器上写一个shell脚本,在磁盘使用率达到80%时,自动清理掉一些没有用的日志文件,根据这个想法,在生产环境上写了一个以下脚本,按照该流程,可实现在linux环境做一个定时任务来执行shell脚本,监控磁盘内存 * * cmd 3 4 实例2:每小时的第3和第15分钟执行 5 3,15 * * * * cmd 6 7 实例3:在上午8点到11点的第3和第15分钟执行 8 3,15 8- 11 * * * cmd 9 10 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 11 3,15 8-11 */2 * * cmd 12 13 实例5:每周一上午8点到11 点的第3和第15分钟执行 14 3,15 8-11 * * 1 cmd 15 16 实例6:每晚的21:30执行 17 30 21 * * * cmd 18 19 实例7:每月1、10、

    1.2K20发布于 2020-07-28
  • 来自专栏一枝花算不算浪漫的专栏

    GuavaCache学习笔记二:Java四大引用类型回顾

    软引用 (SoftReference) 如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。 看例子: /** * @Description: 模拟Java四种引用类型的方法 * @Author: wangmeng * @Date: 2018/12/8-11:10 */ public class 在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。 /** * @Description: 模拟Java四种引用类型的方法 * @Author: wangmeng * @Date: 2018/12/8-11:10 */ public class /** * @Description: 模拟Java四种引用类型的方法 * @Author: wangmeng * @Date: 2018/12/8-11:10 */ public class

    77630发布于 2018-12-24
  • 来自专栏VBA 学习

    VBA多维数组转一维数组

    这样就造成不得不另外使用一个数组的内存空间来保存数据,同时还要进行For循环处理,浪费了时间和空间。 在数据类型Array中,我们知道了数组的底层结构,其中cDims就是指明数组维度的,那么,我们只需要通过修改内存中cDims的值,以及SafeArray中rgsabound记录的元素的个数,那么就可以实现将多维的数组转换为一维数组 Printf "b = 0x% x", b Dim ptr As Long CopyMemory VarPtr(ptr), VarPtr(b(8)), 4 ' - 0x20 8- 11存的是数组地址 ' - 0x60 8-11存的是数组地址的地址 If b(1) = &H60 Then CopyMemory VarPtr(ptr), ptr, 4

    3.6K20发布于 2021-06-22
  • 来自专栏VBA 学习

    VBA数据类型Variant

    我以前一直好奇为什么能有什么数据都可以保存的类型,现在对内存知识有了一定了解才知道,其实说到底,Variant底层也是一种数据结构,16个字节分别会有不同的意义,对于一些VBA里的对象复制给Variant 前8字节 b0:标识数据类型(也就是VarType返回的数字) b1:标识后8字节是数据还是指针 - 0x00 8-15数据类型的是数据本身,String是地址 - 0x40 8-11存的是数据地址 ,String是地址的地址 - 0x20 8-11存的是数组地址 - 0x60 8-11存的是数组地址的地址 后8字节8-15:数据或地址 Sub TestVariant() Dim

    2.2K30发布于 2020-07-28
  • 来自专栏测试基础

    内存篇:JVM内存结构

    Java虚拟机规范规定,Java堆可以处于物理上不连续的内存空间中,只要逻辑上是连续的即可。也就是说堆的内存是一块块拼凑起来的。 所以它是一个“线程私有”的内存区域。此内存区域是唯一一个在JVM规范中没有规定任何OutOfMemoryError情况的区域。 ? 因此,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间的计数器互不影响,独立存储,我们称这类内存区域为“线程私有”的内存。 很多开发人员会把Java内存分为堆内存(Heap)和栈内存(Stack),这种划分的流行只能说明大多数开发人员最关注、与对象内存分配关系最密切的内存区域是这两块,其中所指的“堆”在后面会讲到,而所指的“ 元空间存在于本地内存,意味着只要本地内存足够,它不会出现像永久代中“java.lang.OutOfMemoryError: PermGen space”这种错误。

    8.2K33发布于 2020-09-16
  • 来自专栏皮皮星球

    golang 内存分析内存泄漏

    内存泄露 内存泄露指的是程序运行过程中已不再使用的内存,没有被释放掉,导致这些内存无法被使用,直到程序结束这些内存才被释放的问题。 基于抽样和它跟踪的是已分配的内存,而不是使用中的内存,(比如有些内存已经分配,看似使用,但实际以及不使用的内存,比如内存泄露的那部分),所以不能使用内存profiling衡量程序总体的内存使用情况。 只能通过heap观察内存的变化,增长与减少,内存主要被哪些代码占用了,程序存在内存问题,这只能说明内存有使用不合理的地方,但并不能说明这是内存泄露。 heap在帮助定位内存泄露原因上贡献的力量微乎其微。能通过heap找到占用内存多的位置,但这个位置通常不一定是内存泄露,就算是内存泄露,也只是内存泄露的结果,并不是真正导致内存泄露的根源。 此外goroutine执行过程中还存在一些变量,如果这些变量指向堆内存中的内存,GC会认为这些内存仍在使用,不会对其进行回收,这些内存谁都无法使用,造成了内存泄露。

    10.4K21发布于 2020-09-23
  • 来自专栏yang0range

    内存溢出和内存泄露

    内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 就是分配的内存不足以放下数据项序列,称为内存溢出. 以发生的方式来分类,内存泄漏可以分为4类: 1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存

    6.1K10发布于 2018-10-15
  • 来自专栏嵌入式与Linux那些事

    内存管理】内存布局介绍

    我们先看下1GB的内核空间是怎么划分的,32位的系统中,通常配置的物理内存通常是大于1GB的,所以物理内存会划分为两部分,低端内存称为线性映射区,高端内存称为高端映射区。 高端内存的映射就没有线性映射那么简单了,使用高端内存时需要完成动态映射。 我们先看下1GB的内核空间剩下都做什么使用了。 vmalloc区域:分配的内存在虚拟地址是连续的,物理页面可以是离散的。 从进程的角度看内存布局 readelf 查看程序段 接下来,我们通过一个C语言程序学习下内存布局,这个例子很简单,用malloc函数分配了内存内存,然后使用memset将该区域清零。 vmemmap区域:内存的物理地址如果不连续的话,就会存在内存空洞(稀疏内存),vmemmap就用来存放稀疏内存的page结构体的数据的虚拟地址空间。 memory根据实际物理内存大小做了限制,所以memroy显示了实际能够访问的内存区。

    1.4K10编辑于 2024-07-04
  • 来自专栏菜鸟成长学习笔记

    内存溢出和内存泄漏

    什么是内存溢出? 通俗的讲就是设备内存不够了。就好比我们的手机,运行内存是4G的,当我们运行了太多的程序时,在运行其他的软件时就会很卡或者提示xx运行停止。 什么是内存泄漏? 内存泄漏就是一些资源利用之后没有得到及时的释放,导致这种垃圾资源占用内存越来越多,导致内存可用资源越来越少。 导致内存溢出的情况有哪些?  内存中加载的数据量过于庞大,如一次从数据库取出过多数据;  集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;  代码中存在死循环或循环产生过多重复的对象实体;  使用的第三方软件中的 BUG;  启动参数设定的过小; 怎么解决内存泄漏?

    4.8K50发布于 2019-07-22
  • 来自专栏在水一方

    内存溢出和内存泄漏

    关于内存泄漏和内存溢出这个部分的知识点容易混淆,以下来做一个梳理 内存泄漏: 内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费 ️容易引起内存泄漏的原因(待验证) 1 声明为静态(static 注意事项:内存泄漏的出现主要源于程序编写过程中没有规范化管理所导致,开发人员需要结合内存监测工具来有效监控自己的程序,这样才能尽可能地避免出现这个问题。 内存溢出 内存溢出(Out Of Memory,简称OOM)是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存 如果虚拟机动态拓展无法申请到足够的内存将会出现 重启电脑或者软件后释放掉一部分内存又可以正常运行该软件或游戏一段时间

    4.7K20编辑于 2022-06-14
  • 来自专栏软件工程

    内存泄漏和内存溢出

    java内存泄漏和内存溢出 概念 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现 out of memory; 内存泄露 memory leak,是指程序在申请内存后 ,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 类似于内存上不可用的漏洞. 内存泄漏场景 a)创建和应用生命周期一样的单例对象 不正确使用是引起内存泄露的一个常见问题,单例对象在被初始化后将在JVM的整个生命周期中存在(以静态变量的方式),如果单例对象持有外部对象的引用,那么这个外部对象将不能被 内存溢出参考OOM OOM的几种可能情况 遵循 CC 4.0 BY-SA 版权协议参考

    5K10编辑于 2022-05-13
  • 来自专栏VBA 学习

    VBA实现自己的ArrayPtr取数组地址函数

    是的,我们只要把1个数组赋值给1个Variant,然后去读取Variant里面的b8-11位,那获取的就是数组的地址或者是地址的地址了: - 0x20 8-11存的是数组地址 - 0x60 8-11存的是数组地址的地址 实现代码: Sub TestMyArrayPtr() Dim Arr() As Byte ReDim Arr(3) As Byte Dim ptr Printf "b = 0x% x", b Dim ptr As Long CopyMemory VarPtr(ptr), VarPtr(b(8)), 4 ' - 0x20 8- 11存的是数组地址 ' - 0x60 8-11存的是数组地址的地址 If b(1) = &H60 Then CopyMemory VarPtr(ptr), ptr, 4

    1.9K20发布于 2020-07-28
  • 来自专栏全栈程序员必看

    聊聊内存屏障_内存栅栏

    本文转载自聊聊内存屏障 导语 在之前文章聊聊JMM,说到了内存屏障,内存屏障在Java语言实现一致性内存模型上起到了重要的作用,本文我们一起聊一聊内存屏障 内存屏障是什么 在cpu执行指令的过程中, 来保证单线程程序运行的正确性,同时也提升了CPU的执行效率,合理的利用了CPU等待时间, 在多核CPU的情况下,因为多核CPU上的指令同时执行,如果涉及到共享变量的修改,这种优化会影响多线程运行的正确性,而内存屏障 (memory barrier/memory fence)是硬件层面提供的一系列特殊指令,当CPU处理到这些指定时,会做一些特殊的处理,可以使处理器内的内存状态对其它处理器可见,在不同的平台上支持的内存屏障也会有差异 ,又带来了内存重排序和可见性问题。 内存屏障分类与作用 在X86平台提供了几种主要的内存屏障 lfence – 加载屏障 清空无效化队列,根据无效化队列中内容的内存地址,将相应处理器上高速缓存中的缓存条件状态置为I,使后续对该地址的读取时

    1.4K30编辑于 2022-09-20
  • 面试题:Redis服务为何突然变慢了

    解析客户端的读写操作 0, 2, 4, 6 BIO 线程 bio_cpulist 1,3 执行耗时的后台任务(关闭文件、AOF fsync) 1, 3 AOF 重写子进程 aof_rewrite_cpulist 8- 解析客户端的读写操作 0, 2, 4, 6 BIO 线程 bio_cpulist 1,3 执行耗时的后台任务(关闭文件、AOF fsync) 1, 3 AOF 重写子进程 aof_rewrite_cpulist 8- rewrite child process to cpu affinity 8,9,10,11: # aof rewrite child # number:1 # aof_rewrite_cpulist 8- 非均匀内存访问 ( NUMA ) 是一种用于多处理系统的计算机内存设计,其内存访问时间取决于内存相对于处理器的位置 ✅ 发生了什么,为什么程序偶尔慢的情况 从网卡读取请求,到处理请求举例,看数据的位置 曾经做过测试,和访问 CPU Socket 本地内存相比,跨 CPU Socket 的内存访问延迟增加了 18%,这自然会导致 Redis 处理请求的延迟增加 哪里做验证【来自Redis核心技术与实战】

    37700编辑于 2025-04-26
  • 来自专栏互联网大杂烩

    内存和栈内存

    在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。 当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。 堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。 引用变量是普通变量,定义时在栈中分配内存,引用变量在程序运行到作用域外释放。 这个也是java比较占内存的主要原因。

    2K30发布于 2018-08-22
  • 来自专栏IT技术订阅

    redis内存分析,内存优化

    毋庸置疑,是内存。 一、reids 内存分析 redis内存使用情况:info memory 示例: 可以看到,当前节点内存碎片率为226893824/209522728≈1.08,使用的内存分配器是jemalloc。 二、redis 内存使用 redis的内存使用分布:自身内存,键值对象占用、缓冲区内存占用及内存碎片占用。 redis 空进程自身消耗非常的少,可以忽略不计,优化内存可以不考虑此处的因素。 四、redis 内存管理 redis的内存管理主要分为两方面:内存上限控制及内存回收管理。 1、内存上限:maxmemory 目的:缓存应用内存回收机制触发 + 防止物理内存用尽(redis 默认无限使用服务器内存) + 服务节点内存隔离(单服务器上部署多个redis服务节点) 在进行内存分配及限制时要充分考虑内存碎片占用影响

    2.3K40编辑于 2022-05-11
  • 来自专栏入门小站

    收集linux中常用123个crontab表达式

    crontab 常用表达式 描述 表达式 每1分钟执行一次 * * * * * 每小时的第3和第15分钟执行 3,15 * * * * 在上午8点到11点的第3和第15分钟执行 3,15 8-11 * * * 每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * 每个星期一的上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 每晚的21:30执行 30 分执行 30 7 8 * * 指定每年的6月8日5:30执行 30 5 8 6 * 指定每星期日的6:30执行 30 6 * * 0 每月10号及20号的3:30执行 30 3 10,20 * * 每天8- 11点的第25分钟执行 25 8-11 * * * 每15分钟执行一次 */15 * * * * 每个月中,每隔10天6:30执行一次 30 6 */10 * * 每天早上8点30分执行 30 08 * 11 */2 * * 每周一上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 每晚的21:30执行 30 21 * * * 每月1,10,22日的4:45执行 45 4 1,10,22

    1.6K10编辑于 2022-06-02
领券