当前位置: 首页 > news >正文

网站开发设计作业及代码wordpress 主题更改语言

网站开发设计作业及代码,wordpress 主题更改语言,设计合理的网站网页归档,北京的网站设计一、内存的理解你可以将计算机中的内存理解为一本为短期存储而设计的书。这本书中现在什么都没写#xff0c;但最终不同的“作者”会来寻求空间#xff0c;写入他们想写的故事。由于他们之间不能彼此覆盖#xff0c;他们在开始写入之前一定要向这本书的管理者申请#xff0…一、内存的理解你可以将计算机中的内存理解为一本为短期存储而设计的书。这本书中现在什么都没写但最终不同的“作者”会来寻求空间写入他们想写的故事。由于他们之间不能彼此覆盖他们在开始写入之前一定要向这本书的管理者申请由管理者来决定他们写入到哪里。由于这本书会存在很长的时间书中的很多故事可能已经不再有意义。当没有人读或者引用故事这些无意义的故事就会被删除给新的故事腾出空间。本质上电脑内存很像是一本空的书。实际上内存通常被叫做“固定长度的连续内存块”所以这个类比是很贴切的。作者就像是不同的应用程序或者进程需要在内存中存储数据。决定作者写内容位置的管理者则扮演各种各样内存管理器的角色。清除旧故事给新作者提供空间的人就是垃圾回收机制。二、内存管理从硬件到软件内存管理是应用读取、写入数据的流程。内存管理机制决定了在哪里存储应用数据。就像是我们上面以书为类比内存块也是有限的管理机制必须要找出可用的空间并且将其提供给应用。这个提供内存的过程一般被称作内存分配。另一方面当数据不再被需要那么数据可以被删除或者被释放。但是释放到哪里呢这个内存从哪里来的在你的计算机的某个位置当你运行你的Python程序时有一个实体硬件在存储数据。但是在对象实际到达硬件之前Python代码要经过很多抽象层。在硬件之上其中一个主要的抽象层是默认的Python实现在OS中内置或者你从http://python.org中下载Python代码中的内存管理是由Python应用程序处理的。本文聚焦Python应用程序在内存管理中使用的结构和算法。三、默认的Python实现默认的Python实现CPython是使用C语言写的。是不是很震惊一种语言是用另一种语言写的好吧这不是真的但多少有点。Python语言在Python参考文档里有详细的讲解但是光靠文档并不能覆盖一切我们还是需要一些东西来编译实际代码。我们也需要在计算机上实际执行编译后的代码。默认的Python实现满足这两个要求它将你的Python代码转化为指令并且将其运行在虚拟机上。Python是解释型语言你的Python代码实际上被编译成更底层更对计算机友好的bytecode指令。当你运行你的代码时这些指令被虚拟机编译了。你见过.pyc文件或者__pycache__文件夹吗那就是被虚拟机编译后的bytecode代码。必须指出除了CPython之外还有别的Python实现。Ironpython编译后在Microsoft 的公共语言运行时上运行。Jython编译后成为Java bytecode在Java虚拟机上运行还有PyPy但这个Python实现值得用一篇文章专门介绍此处不提。为了理解Python内存管理我们将聚焦于Python的默认实现——Cpython中所实现的内存管理。本文中涉及到的知识适用于目前的通用版本——Python3.7好了我们知道CPython是用C写的并且编译为Python bytecode这和内存管理有什么联系呢是这样的——内存管理算法和结构存在于CPython代码中用C写的。为了理解Python中的内存管理我们需要对CPython有一些基本了解。CPython是用C写的它本身并不支持面向对象编程。正因如此在CPython中有很多有趣的设计。你可能听说过Python中一切皆是对象甚至诸如int、str这样的类型。确实在CPython的实现级别是这样的。有一个结构叫做PyObject在CPython中其他object都在使用它。C中的一个或者多个结构是将不同数据类型组合在一起的自定义数据类型。与面向对象的语言相比就像是具有属性且没有方法的类。PyObject所有Python中对象的老祖宗仅仅包含如下两个部分ob_refcnt引用计数ob_type: 指针 引用计数用于垃圾回收机制。你现在有一个指针指向实际对象类型。该对象类型只是另一种用于描述Python对象的结构例如dict或者int每个对象都有自己的特定对象的内存分配器该分配器知道如何获取存储该对象的内存每个对象也有特定对象的内存释放器用于释放不再被需要的内存。在我们所有关于分配和释放内存的讨论中有一个重要的因素。内存是计算机中被共享的资源如果不同的进程同时写入同一位置糟糕的事情就会发生。四、全局解释器锁GILGIL是在解决共享资源像是内存这类型的共性问题的有效解决办法。当两个线程同时想要修改相同的资源他们可能会互相“踩脚趾”最终的结果可能是乱码在乱码中两个线程都没有得到想要的结果。再考虑一下我们那个用书比作内存的比喻。假设两个作者都固执地一定认为该轮上他来写了而且他们都要写到书的同一页上。他们忽略了其他人也在创作故事那么结果就是一页上两个故事相互重叠整个页面完全不可读。这个问题的解决办法之一是在一个线程与共享资源交互时使用单一的全局解释器锁将该资源上锁。也就是说同一时间只有一个作者可以写作。Python的全局解释器锁通过锁住整个解释器来实现这一点。这意味着另一个线程不可能踩到当前的解释器。当CPython处理内存时使用GIL锁来确保安全。这种方法有利有弊也在Python社区引起了激烈讨论。关于全局解释器锁What is the Python Global Interpreter Lock (GIL)? – Real Python​realpython.com
http://www.zqtcl.cn/news/500300/

相关文章:

  • 公司的网站建设价格wordpress付费阅读文章功能
  • 飞鸽网站建设建设网站什么软件比较好
  • 网站名称 规则网站seo完整seo优化方案
  • 昆明网站建设高端定制wordpress建站课程
  • 建网站外包wordpress 便利贴
  • 硅胶 技术支持 东莞网站建设网站互联网接入商
  • 太平洋建设21局网站微信网页版登录手机版
  • 站长统计芭乐鸭脖小猪电商平台哪个最好
  • 女与男爱做电影网站免费企业公司网站建设方案
  • 尚品本色木门网站是哪个公司做的大庆建设公司网站
  • 做网做网站建设的网站怎么用别人网站做模板
  • 电子商务网站购物车怎么做网站站点创建成功是什么意思
  • 如何做招聘网站的评估新浪微博可以做网站吗
  • 加强网站建设的制度wordpress如何清空
  • 轻松筹 的网站价格做网站建设意识形态
  • 有.net源码如何做网站湖南宣传片制作公司
  • dede网站模板怎么安装教程青岛需要做网站的公司
  • 静态双语企业网站后台源码北京网站关键词优化
  • 石家庄手机网站建设公司wordpress侧边栏显示子分类文字数
  • 公司网站客户案例个人做 网站2019
  • 个人网站怎么申请销售策划
  • 网站被黑 禁止js跳转企业为什么要建立集团
  • 建设网站的各种问题上海品牌女装排行榜前十名
  • seo优化搜索引擎网站优化推广网络关键词优化-乐之家网络科技商城网站备案能通过吗
  • 江门网站建设推广策划网站改版的宣传词
  • 网站建设三大部分国外购物平台网页界面设计
  • 公司商城网站建设方案wordpress旗舰
  • 京东云服务器怎么做网站企业宣传网站怎么做
  • 如何自学网站建设云南网爱我国防知识竞赛
  • 什么网站可以做投资设计接单