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

    Java 10 - 内存模型

    内存模型 主存储器与工作存储器 主存储器 方法区(Method Area) 方法区用于存储类的信息, 常量, 静态变量, 即时编译器编译后的代码. 当方法区无法满足内存分配需求时, 将抛出OutOfMeoryError. 堆(Heap) 堆在虚拟器启动时创建, 是JVM所管理的内存中最大的一块, 主要用于存放对象实例, 几乎所有的对象实例都在这里进行分配. 这也是GC的主要区域, 因此也教做GC堆, 如果堆中没有内存完成实例分配, 堆也无法进行扩展时, 将会抛出OutOfMemoryErrir异常. 栈(Java Virtual Machine Stacks) 代表着Java方法执行的内存模型, 每个方法执行时都会创建一个栈帧来存储方法的变量表, 操作数栈, 动态链接方法, 返回值, 返回地址等信息

    37720发布于 2021-08-11
  • 来自专栏CSIG质量部压测团队

    Jmeter限制打量QPS上限

    所以这里的定时器需要注意如果是只想限制一个线程组,需要将定时器放入线程组中 可能对上述基于计算吞吐量中的5个选项不太理解,这里对每个选项进行详细说明 只有此线程: 我们这里目标吞吐量填写60,基于计算吞吐量选择“只有此线程”,线程数设置为10 线程,这里的总吞吐量应该为60➗60(s)✖️10=10/sec(如果使用分布式jmeter,那总吞吐量为节点数乘以限制的吞吐量) image.png image.png 实际结果如下: image.png 所有活动线程: 我们这里目标吞吐量填写60,基于计算吞吐量选择“所有活动线程”,线程数设置为10线程,这里的总吞吐量应该为60➗60(s)=1/sec(如果使用分布式jmeter,那总吞吐量为节点数乘以限制的吞吐量 当前线程组中的所有活动线程: 我们这里目标吞吐量填写60,基于计算吞吐量选择“当前线程组中的所有活动线程”,线程数设置为10线程,这里的总吞吐量应该为60➗60(s)=1/sec(如果使用分布式jmeter

    6.5K21编辑于 2021-12-08
  • 来自专栏mukekeheart的iOS之旅

    OC学习10——内存管理

    内存泄漏非常严重时,会导致内存不够用,程序就会崩掉。因此,内存管理是学习面向对象语言中非常重要也是非常头疼的一个问题。 2、内存管理其实主要就是两个方面的内容:内存分配和内存回收。 内存分配:当程序创建对象时需要为对象分配内存,采用合理的实际,尽量减少对象的创建,并减少创建过程中的内存开销。 而且,内存的分配操作相对而言非常简单,当程序创建对象时,系统会自动为这些对象分配内存内存回收:当程序不再需要对象时,系统必须及时回收这些对象所占用的内存,以便程序可以再次使用这些内存。 4 //引用计数加1,为2 5 [person retain]; 6 //引用计数减1,为1 7 [person release]; 8 9 //打印结果是1 10 10、在正常情况下,如果某个函数很长,且在该函数运行过程过程中出现很多中间变量,占据了大量的内存,或者程序在执行过程中创建了大量的临时对象(比喻在循环中创建对象),程序可能需要多次释放这些临时对象,这次程序可以考虑将

    78950发布于 2018-02-27
  • 来自专栏johnhuster

    sentinel在controller上限

    关于spring-cloud-alibaba-dependencies的版本一定要特别注意,springboot2.0以下建议用0.1.2.RELEASE等其他较低版本,否则启动会报错

    95310编辑于 2022-03-28
  • 来自专栏大数据生态

    Elasticsearch 分片文档达到上限

    本文描述问题及解决方法同样适用于 腾讯云 Elasticsearch Service(ES)。

    43911编辑于 2025-07-31
  • 来自专栏炼丹笔记

    负样本修正:既然数据是模型的上限,就不要破坏这个上限

    在清洗数据构造正负样本时,由于日志的延迟上报问题,在点击事件的问题中构造样本时,往往会出现将曝光未点击数据误以为是负样本的情况,可真实的负样本真的是这样吗?

    1.6K10发布于 2021-05-14
  • 来自专栏计算机视觉理论及其实现

    Label Assign:提升目标检测上限

    好的label assign方式可以提升目标检测器的上限。ATSSATSS的paper中进而提出了一种更加合适的label assign方式,称为ATSS。 验证了好的采样方式能够提升目标检测精度的上限。FreeAnchor?将检测训练过程看成一个极大似然估计问题?构造极大似然估计问题的recall和precision似然函数?转变成损失函数??

    2.4K10编辑于 2022-09-02
  • 来自专栏游戏杂谈

    关于setTimeout的最大延时上限

    alert(1); 8: }, tmpTime); 9: </script> 如果在alert时间之后马上alert 1出来,则表示已经超过它的上限

    1.4K20发布于 2018-11-15
  • 来自专栏菲珠ma的感悟

    腾讯云cvm公网IP带宽上限

    见文档 https://cloud.tencent.com/document/product/213/12523 出网带宽上限(上行带宽) image.png image.png 入网带宽上限(上行带宽 用户购买的固定带宽大于10Mbps时,腾讯云会分配与购买的带宽相等的外网入方向带宽。 用户购买的固定带宽小于10Mbps时,腾讯云会分配10Mbps外网入方向带宽。 不同类型的带宽峰值,其含义略有不同,具体区别如下: 按流量计费 按带宽计费(包括按小时带宽和包月带宽) 带宽峰值仅作为带宽最高上限峰值,不作为承诺指标。当出现带宽资源争抢时,带宽峰值可能会受到限制。

    35K20发布于 2020-07-31
  • 来自专栏机器学习与统计学

    数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。

    有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?

    8.5K30发布于 2019-05-14
  • 来自专栏算法之美

    每日一问10 虚拟内存

    什么是虚拟内存? 虚拟内存是对内存抽象,在逻辑上让进程认为拥有一片连续完 虚拟地址空间,在通过虚拟地址访问时候,物理内存被认为磁盘的一个缓存,用来储活跃页数据,如果不存在 缺页中断从磁盘(swap文件)加载一页vm页进行替换物理内存一页 进程的虚拟内存如何管理的 主要有堆 栈 栈是 函数调用/协程切换必须空间,在创建线程时候中需要提前分配 堆申请mmap和brk2个方式,后者出现内存碎片 内存分配三个状态 我们可以写一个程序,来创建很多个线程 ,然后观察内存占用,在我的笔记本上,创建10000个线程后,通过htop命令我观察到,virtual memory使用了80G,resident memory试用了240M,这两个指标的区别在哪呢? 我的笔记本内存只有8G,虚拟内存为什么能用出80G呢? 遗留问题: 当内存不够时候,出现ooM,这是时候不是swap交互吗? 之间什么关系,

    41550发布于 2021-01-05
  • 来自专栏c++与qt学习

    操作系统 内存使用与分段--10

    操作系统 内存使用与分段--10 如何让内存用起来? 程序员眼中的程序 不是将整个程序,是将各段分别放入内存 这个表似曾相识… 真正故事:GDT+LDT 如何让内存用起来? 内存使用:将程序放到内存中,PC指向开始地址 那就让首先程序进入内存 让程序从磁盘加载到内存中来,首先需要考虑要将程序代码安放在内存的什么位置 如果把入口地址直接放在0地址处,然后调用主方法main 小结: 编译时重定位的程序只能放在内存固定位置 载入时重定位的程序一旦载入内存就不能动了 程序载入后还需要移动… 内存中存放的是常驻程序,但是如果某个进程长时间阻塞,不使用CPU和内存资源,如果继续让该进程滞留在内存中 不是将整个程序,是将各段分别放入内存 程序分段放入内存能够更加高效的提升对内存的利用,例如: 如果不进行分段,如果程序栈空间不足,需要扩展,就需要将整个程序的代码重新copy到新分配好的更大的内存空间才行

    73630编辑于 2022-08-23
  • 来自专栏Miigon's Blog

    笔记 Lab10: Mmap | 文件内存映射

    Lab 10: mmap (hard) 实现 *nix 系统调用 mmap 的简单版:支持将文件映射到一片用户虚拟内存区域内,并且支持将对其的修改写回磁盘。 这里涉及的操作系统基本概念是「虚存」,mmap 指令除了可以用来将文件映射到内存上,还可以用来将创建的进程间共享内存映射到当前进程的地址空间内。本 lab 只需实现前一功能即可。 由于进程本身所使用的内存空间是从低地址往高地址生长的(sbrk 调用)。 return 0; } 这里首先通过传入的地址找到对应的 vma 结构体(通过前面定义的 findvma 方法),然后检测了一下在 vma 区域中间“挖洞”释放的错误情况,计算出应该开始释放的内存地址以及应该释放的内存字节数量 计算出来释放内存页的开始地址以及释放的个数后,调用自定义的 vmaunmap 方法(vm.c)对物理内存页进行释放,并在需要的时候将数据写回磁盘。

    1.9K20编辑于 2022-10-27
  • 来自专栏Vamei实验室

    Java进阶10 内存管理与垃圾回收

    整个教程中已经不时的出现一些内存管理和垃圾回收的相关知识。这里进行一个小小的总结。 Java是在JVM所虚拟出的内存环境中运行的。内存分为栈(stack)和堆(heap)两部分。 这带来的一个问题是,如果我们不断的创建新的对象,内存空间将最终消耗殆尽。 垃圾回收 垃圾回收(garbage collection,简称GC)可以自动清空堆中不再使用的对象。 程序员需要手动释放堆中的内存。 由于不需要手动释放内存,程序员在编程中也可以减少犯错的机会。利用垃圾回收,程序员可以避免一些指针和内存泄露相关的bug(这一类bug通常很隐蔽)。 随后,JVM需要扫描整个堆,找到剩余的对象,并清空这些对象所占据的内存。 另一种是"copy and sweep"。这种机制下,堆被分为两个区域。对象总存活于两个区域中的一个。 世代越久远的对象,在内存中存活的时间越久。 根据对Java程序的统计观察,世代越久的对象,越不可能被垃圾回收(富人越富,穷人越穷)。因此,当我们在垃圾回收时,要更多关注那些年轻的对象。

    79970发布于 2018-01-18
  • 来自专栏凯哥Java

    Linux 查看占用内存10的命令

    Linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PI|sort -rn -k +3|head Linux下获取占用内存资源最多的 10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head 命令组合解析(针对CPU的,MEN也同样道理): 拍摄aux

    17.1K30编辑于 2022-12-16
  • 来自专栏技术杂记

    c1000k TCP 连接上限测试

    前言 c1000k 是一套用来测试本地OS TCP连接上限的C/S小工具。

    86510编辑于 2022-04-23
  • 来自专栏全栈程序员必看

    linux文件句柄数上限_怎么清除文件句柄

    网上说什么的也有,你抄我的我抄你的,也是醉了,故自己综合查阅的资料,根据自己的理解和判断以及部分的实践整理下吧,也不敢保证都是对的,如果有比较大的错误,希望看到这篇文章的你提出来,大家共同进步!

    6.2K140编辑于 2022-11-02
  • 来自专栏全栈程序员必看

    解决win10开机内存占用大,内存持续升高的方法

    背景:i5,双核四线程,8G内存,系统盘是固态硬盘,版本是win10企业版。 1.系统本来开机特别快,显示是7秒开机,但是内存在开机后占用会很高。C盘占用大。 2.首先进行内存测试 控制面板-》管理工具-》windows内存诊断。完毕重启,直接开机30多秒,内存降低到25%。C盘占用降低2G。 这样配置完毕,如果内存在使用中还是会逐渐升高,处理办法是 一、关闭家庭组 家庭组是占用硬盘的重要原因之一。有网友反映,在关闭家庭组后,硬盘占用率从90%降到10%左右 ,这不是耸人听闻。 win8/8.1默认开启虚拟内存,他会把部分应用的内存转储到硬盘中,避免物理内存不够用的情况。中低端的电脑开启虚拟内存,可以提高运行效率。 不过,在物理内存充沛的情况下,用虚拟内存不仅没有效果,反而会有硬盘占用率高的“副作用”,因此,推荐物理内存4G或4G以上的用户关闭虚拟内存。以下是具体解决法案。

    16.4K20编辑于 2022-09-07
  • 来自专栏冰河技术

    10分钟搞懂各种内存溢出案例!!

    今天,我们就以Java代码的方式来列举几个典型的内存溢出案例,希望大家在日常工作中,尽量避免写这些low水平的代码。 小伙伴们点赞,在看,留言,走起呀 我们先来看看今天要介绍哪些内存溢出案例,冰河这里总结了一张图,如下所示。 ? 说干就干,咱们开始吧!! ? ExecutorService executors = Executors.newFixedThreadPool(50); int i=0; while(i++<10 public void run() { } }); } } } 这个的原理就是不断创建线程池,而每个线程池都创建10 ExecutorService executors = Executors.newFixedThreadPool(50); int i=0; while(i++<10

    53610发布于 2021-06-21
  • 来自专栏瓜农老梁

    Netty10# 堆外内存底盘PlatformDependent

    前言 前言 非池化/池化内存如何分配的?该撸这块了,奈何到处都在调用PlatformDependent类的方法,要不各种判断,要不分配堆外内存。反正到处都能看到它,得,索性先把这个撸一把。 重要方法走查 PlatformDependent0提供的方法,主要判断Unsafe是否可用、Unsafe分配堆外内存、Unsafe从堆外内存获取数据等。下面挑几个走查下。 = null; } @3 堆外内存分配 /** * malloc()返回获得内存空间的首地址,失败返回null * 根据返回的内存地址构造DirectBuffer * @param capacity CLEANER 可以用于堆外内存回收 UNINITIALIZED_ARRAY_ALLOCATION_THRESHOLD 堆外内存分配阈值,默认为1024(字节);小于该阈值分配堆内存,大于分配堆外内存; 、获取堆外内存数据、释放堆外内存等。

    94910发布于 2021-02-24
领券