上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 110 下一页
摘要: 安装:brew cask install java8 如果存在多个java,可以设置JAVA_HOME指定java版本 打开终端,执行/usr/libexec/java_home -V 查看MAC下JDK默认安装路径,如图显示安装了两个版本。使用brew cask install java8安装,默 阅读全文
posted @ 2018-12-25 22:14 脚本小娃子 阅读(3296) 评论(0) 推荐(0) 编辑
摘要: 可以使用brew安装很多应用,比如java,idea,iterms,sublime 注意:使用brew install java 是找不到java的安装源的. brew cask search java 搜索java版本信息 brew cask info java brew cask install 阅读全文
posted @ 2018-12-25 21:56 脚本小娃子 阅读(12201) 评论(0) 推荐(0) 编辑
摘要: 安装Oh-My-ZSH: zsh的设置文件:用户目录下的.zshrc文件 在用户目录下的.oh-my-zsh里面有各种主题themes和插件plugins 主题:通过下面可以浏览主题效果,并可以下载主题 https://github.com/robbyrussell/oh-my-zsh/wiki/t 阅读全文
posted @ 2018-12-25 20:47 脚本小娃子 阅读(4646) 评论(0) 推荐(0) 编辑
摘要: 函数内部的变量,如果和函数被调用的外部的变量一样的话,就被PyCharm中叫做shadows name 这样的话,容易引发不容易觉察到的,由于函数内部和外部的变量名一致而引发的一些问题: 比如:内部函数名引用时不小心写错了时,就会导致其实调用了外部变量名,从而导致逻辑错乱。 所以解决办法是: 确保函 阅读全文
posted @ 2018-12-24 22:28 脚本小娃子 阅读(27998) 评论(0) 推荐(6) 编辑
摘要: 当创建对象时Python立即向操作系统请求内存。每当对象的引用数减为0,Python垃圾回收器立刻挺身而出,立即将其释放,把内存还给操作系统。在Python中,每个对象都保存了一个称为引用计数的整数值,来追踪到底有多少引用指向了这个对象。无论何时,如果我们程序中的一个变量或其他对象引用了目标对象,P 阅读全文
posted @ 2018-12-19 17:48 脚本小娃子 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 标记清理是用来解决循环引用的。分代回收针对所有的新创建即进入0代的对象和进入1、2代的对象。。这样就解释了python“引用计数为主。标记清理+分代回收为辅”的垃圾回收原理,因为循环引用毕竟是少数情况。 这篇文章:https://python3-cookbook.readthedocs.io/zh_ 阅读全文
posted @ 2018-12-19 17:06 脚本小娃子 阅读(1521) 评论(0) 推荐(0) 编辑
摘要: Python采用的是引用计数机制为主,标记-清理和分代收集两种机制为辅的策略。 1、引用计数 python中一切皆对象,所以python底层计数结构地就可以抽象为: 是不是简单明了。现在我们先去考虑一下,什么情况下引用计数+1,什么情况下-1,当引用次数为0时,肯定就是需要进行回收的时刻。 引用计数 阅读全文
posted @ 2018-12-19 16:02 脚本小娃子 阅读(4147) 评论(2) 推荐(6) 编辑
摘要: 如图所示: 执行: In [591]: gc.get_stats() 可以看到, 1代已经回收(collected)的对象为3652个,已经进行(collections)了61次回收操作 执行:In [592]: gc.collect(1) 对1代进行一次垃圾回收,总共回收了21个垃圾对象 再次执行 阅读全文
posted @ 2018-12-19 15:59 脚本小娃子 阅读(996) 评论(0) 推荐(0) 编辑
摘要: 最后容易造成内存问题的通常就是全局单例、全局缓存、长期存活的对象 引用计数(主要), 标记清除, 分代收集(辅助) 引用计数为0则会被gc回收。标记删除可以解决循环引用的问题。分代:0代--年轻代;1代--中年代;2代--老年代,存活越久被回收的频率越低。 通过gc机制基本解决内存回收的问题。 不要 阅读全文
posted @ 2018-12-19 09:58 脚本小娃子 阅读(1808) 评论(0) 推荐(0) 编辑
摘要: 当项目中的模块过多,或功能划分不够清晰时会出现循环引用的问题,如下 有两个模块moduleA 和 moduleB: #moduleA from moduleB import b def a(): print 'aaaaaaaa' b() def c(): print 'cccc' if __name 阅读全文
posted @ 2018-12-18 21:44 脚本小娃子 阅读(2947) 评论(1) 推荐(0) 编辑
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 110 下一页