Irene181 Irene181
3年前
一篇文章带你了解Python递归函数
一、什么是递归函数?在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。二、函数的递归调用原理实际上递归函数是在栈内存上递归执行的,每次递归执行一次就会耗费一些栈内存。栈内存的大小是限制递归深度的重要因素三、案例分析1.求阶乘计算阶乘n!1x2x3x…xn,可以用
Wesley13 Wesley13
3年前
java多线程——volatile
这是java多线程第三篇:《java多线程—线程怎么来的》(https://my.oschina.net/u/1859679/blog/1517807)《java多线程内存模型》(https://my.oschina.net/u/1859679/blog/1525343)上一篇《java多线程—内存模型》已经讲解了java
Easter79 Easter79
3年前
tbox新增stackless协程支持
tbox之前提供的stackfull协程库,虽然切换效率已经非常高了,但是由于每个协程都需要维护一个独立的堆栈,内存空间利用率不是很高,在并发量非常大的时候,内存使用量会相当大。之前考虑过采用stacksegment方式进行内存优化,实现动态增涨,但是这样对性能还是有一定的影响,暂时不去考虑了。最近参考了下boost和protothreads的st
Wesley13 Wesley13
3年前
java SQL常用语句总结大全(超详细)
数据库数据库定义:\\数据库:\\存储数据的仓库.其本质是一个文件系统,数据库按照特定的格式将数据存储到文件中,使用者可以对数据库中的数据进行增加,修改,删除及查询操作。存储位置优点缺点内存例如:集合,实体类对象数据是放在内存中存取速度很快不能永久的保存,程序停止时,内存释放数据消失文件例如
Stella981 Stella981
3年前
ClickHouse和他的朋友们(10)MergeTree Write
原文出处:https://bohutang.me/2020/08/18/clickhouseandfriendsmergetreewal/最后更新:20200918数据库系统为了提高写入性能,会把数据先写到内存,等“攒”到一定程度后再回写到磁盘,比如MySQL的bufferpool机制。因为数据先写到内存,为了数
Stella981 Stella981
3年前
Jvm类的加载机制
1.概述虚拟机加载Class文件(二进制字节流)到内存,并对数据进行校验、转换解析和初始化,最终形成可被虚拟机直接使用的Java类型,这一系列过程就是类的加载机制。2.类的加载时机类从被虚拟机加载到内存开始,直到卸载出内存为止,整个生命周期包括:加载——验证——准备——解析——初始化——使用——卸载这7个阶段。其中验
Stella981 Stella981
3年前
JVM系列(二) — Java垃圾收集介绍
这篇文章主要从以下几个方面介绍垃圾收集的相关知识  一、判断对象是否已死  二、主流垃圾收集算法  三、内存分配与回收策略  本章节主要从以下几个思考点着手介绍垃圾回收的相关知识:哪些内存需要回收?什么时候回收?如何回收?这也是经典的学习一个知识点的3h方法:what?when?how?上一个章节已经介绍jvm运行时数据区的内存分布,
Stella981 Stella981
3年前
JVM常用命令参数
(1)Xms20M表示设置JVM启动内存的最小值为20M,必须以M为单位  m:memory(2)Xmx20M表示设置JVM启动内存的最大值为20M,必须以M为单位。将Xmx和Xms设置为一样可以避免JVM内存自动扩展。(3)verbose:gc表示输出虚拟机中GC的详细情况(4)Xss128k表示可以设置虚拟机栈的大
Stella981 Stella981
3年前
JavaScript:垃圾收集机制
  JavaScript具有自动垃圾收集机制。也就是说,执行环境会负责管理代码执行过程中使用的内存。开发人员不必关心内存分配和回收问题。  垃圾收集机制的原理:找到不再继续使用的变量,然后进行释放其占用的内存。所以,垃圾收集器会按照固定的时间间隔(或代码执行中设定的收集时间)持续执行这一操作。  垃圾收集器会跟踪哪些变量有用哪些变量没用,对没用的变量
小万哥 小万哥
10个月前
C 语言指针完全指南:创建、解除引用、指针与数组关系解析
C语言中的指针创建指针我们可以使用引用运算符&获取变量的内存地址:cintmyAge43;//一个int变量printf("%d",myAge);//输出myAge的值(43)printf("%p",&myAge);//输出myAge的内存地址(0x7ff