引用计数,这是 Python 的垃圾回收策略。补充一下。解释器(也就是你说的 Shell)负责跟踪对象的引用计数,垃圾收集器负责释放内存。如何释放?可以通过销毁对象的引用,使引用计数减少至 0。假设 x = 3,以下情况会使 3 这个整型对象的引用计数减少;函数运行结束,所有局部变量都被销毁,对象的引用计数也就随之减少。例如 foo(x) 运行结束,x……继续阅读 » 搞java代码 3年前 (2022-05-21) 17浏览 0评论0个赞
redis、memcahce 比较相似,但与 mongodb 完全不同,几乎没有可比性。总的来说 redis/memcache 是基于内存的,讲究的是性能,多用作缓存层,比如说存放session。而 mongodb 是面向文档的,存储的是类似JSON的非结构化数据,查询起来非常方便,开发效率高,比较类似传统SQL关系型数据库。从以下几个维度,对redis……继续阅读 » 搞java代码 3年前 (2022-05-21) 83浏览 0评论0个赞
xml.dom.minidom模块实现创建一个XML文档。创建XML的过程1、内存数据产生2、产生xml内存对象(也就是DOM树)3、产生根对象4、往根对象里加数据5、把xml内存对象写到文件下面是一个创建xml文档的简单实例:import xml.dom.minidom#在内存中创建一个空的文档doc = ……继续阅读 » 搞java代码 3年前 (2022-05-21) 36浏览 0评论0个赞
不同于C/C++,像Python这样的语言是不需要程序员写代码来管理内存的,它的GC(Garbage Collection)机制 实现了自动内存管理。GC做的事情就是解放程序员的双手,找出内存中不用的资源并释放这块内存。 下面我们来看看Python的GC是怎么做的:Python自带的解释器CPython主要使用了三种垃圾回收机制(引用计数为主,标记-清除和……继续阅读 » 搞java代码 3年前 (2022-05-21) 16浏览 0评论0个赞
python对于电脑硬件基本没什么要求,下载python安装程序的时候,注意看下自己电脑属性是64位系统还是32位系统,再下载对应的python安装程序。现在电脑的各种配置均可以用来学习python,老的赛扬、奔腾4 256 m 内存或者512内存即可,20g以上硬盘。 一般来说能跑动winxp或者linux 就可以。 最简单的是使用树莓派。单纯学P……继续阅读 » 搞java代码 3年前 (2022-05-21) 48浏览 0评论0个赞
像Java程序一样,虽然Python本身也有垃圾回收的功能,但是同样也会产生内存泄漏的问题。在Python程序里,内存泄漏是由于一个长期持有的对象不断的往一个dict或者list对象里添加新的对象, 而又没有即时释放,就会导致这些对象占用的内存越来越多,从而造成内存泄漏。另外,对象的交叉引用也会造成内存无法释放的问题。那么如果在Python里发现了内存泄漏……继续阅读 » 搞java代码 3年前 (2022-05-21) 27浏览 0评论0个赞
在很多的其他语言中在传递参数的时候允许程序员选择值传递还是引用传递(比如c语言加上*号传递指针就是引用传递,而直接传递变量名就是值传递),而python只允许使用引用传递,但是它加上了可变类型和不可变类型,让我们感觉有点混乱了。听说python只允许引用传递是为方便内存管理,因为python使用的内存回收机制是计数器回收,就是每块内存上有一个计数器,表示当前……继续阅读 » 搞java代码 3年前 (2022-05-21) 21浏览 0评论0个赞
引入进程和线程的概念及区别threading模块提供的类: Thread, Lock, Rlock, Condition, [Bounded]Semaphore, Event, Timer, local。1.什么是进程计算机程序只不过是磁盘中可执行的二进制(或其他类型)的数据。它们只有在被读取到内存中,被操作系统调用的时候才开始……继续阅读 » 搞java代码 3年前 (2022-05-21) 119浏览 0评论0个赞
内存泄漏:你使用malloc或new向 内存申请了一块内存空间,但没有用free以及delete对该块内存进行释放,造成程序失去了对该块内存的控制。内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。导致程序运行速度减……继续阅读 » 搞java代码 3年前 (2022-05-21) 27浏览 0评论0个赞
Python中的变量也是对象,函数也是对象,类也是对象,Python中一切皆对象。变量的概念变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。变量赋值Python 中的变量赋值不需要类型……继续阅读 » 搞java代码 3年前 (2022-05-21) 40浏览 0评论0个赞