博客园 - windlaughinguuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=1431692013-10-07T00:58:50Zwindlaughinghttps://www.cnblogs.com/windlaughing/feed.cnblogs.comhttps://www.cnblogs.com/windlaughing/p/3354615.html《编程珠玑》中“位图排序”引发的一系列实验 - windlaughing问题:一个文件有8*106个正整数,每个数都小于107。文件中所有整数都是唯一的。要求对这些整数排序,按升序把排序的结构输出到磁盘上。
解决问题的方案有很多,下面我们介绍几种典型的方案:
1、位图排序。
2、C标准库qsort(排序)。
3、系统命令排序。
4、C++标准库set容器排序。2013-10-06T13:00:00Z2013-10-06T13:00:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】问题:一个文件有8*106个正整数,每个数都小于107。文件中所有整数都是唯一的。要求对这些整数排序,按升序把排序的结构输出到磁盘上。
解决问题的方案有很多,下面我们介绍几种典型的方案:
1、位图排序。
2、C标准库qsort(排序)。
3、系统命令排序。
4、C++标准库set容器排序。 <a href="https://www.cnblogs.com/windlaughing/p/3354615.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3346421.htmlJava : 传值or传引用? - windlaughing那看看这句经典名言:O'Reilly's Java in a Nutshell by David Flanagan (see Resources) puts it best: "Java manipulates objects 'by reference,' but it passes object references to methods 'by value.'"1、对象是按引用操纵的2、Java 应用程序有且仅有的一种参数传递机制,即按值传递按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本按引用传2013-09-29T14:07:00Z2013-09-29T14:07:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】那看看这句经典名言:O'Reilly's Java in a Nutshell by David Flanagan (see Resources) puts it best: "Java manipulates objects 'by reference,' but it passes object references to methods 'by value.'"1、对象是按引用操纵的2、Java 应用程序有且仅有的一种参数传递机制,即按值传递按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本按引用传 <a href="https://www.cnblogs.com/windlaughing/p/3346421.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3346413.htmlconst 指针 - windlaughing使用指针时要涉及两个目标,即指针本身和指针所指的对象。关于const指针变量,可归结为以下三种: 1.指向常量的指针变量; 2.常指针变量; 3.指向常量的常指针变量。一、指向常量的指针变量:声明格式: const type * var_name; 或 type const * var_name;特点:可改值。 将指针声明冠以const,使指向的对象为常量,而不是指针为常量。注意:指向常量的指针不一定指向真正的常量,它也可以指向变量,只是从该指针的角度来看,它所指向的对象是常量,通过该指针不能修改它指向的对象。它还可以指向其它的对象,可以不初始化。例1: int a = 0...2013-09-29T14:01:00Z2013-09-29T14:01:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】使用指针时要涉及两个目标,即指针本身和指针所指的对象。关于const指针变量,可归结为以下三种: 1.指向常量的指针变量; 2.常指针变量; 3.指向常量的常指针变量。一、指向常量的指针变量:声明格式: const type * var_name; 或 type const * var_name;特点:可改值。 将指针声明冠以const,使指向的对象为常量,而不是指针为常量。注意:指向常量的指针不一定指向真正的常量,它也可以指向变量,只是从该指针的角度来看,它所指向的对象是常量,通过该指针不能修改它指向的对象。它还可以指向其它的对象,可以不初始化。例1: int a = 0... <a href="https://www.cnblogs.com/windlaughing/p/3346413.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3289552.html三种数据库访问——Spring3.2 + Hibernate4.2 - windlaughing本文继续介绍第三种数据库访问的解决方案:Spring3.2 + Hibernate4.2。
Hibernate是一个开源的ORM框架,能自动为对象生成相应SQL并透明的持久化对象到数据库。
ORM全称对象关系映射(Object/Relation Mapping),指将Java对象状态自动映射到关系数据库中的数据上,从而提供透明化的持久化支持。
接下来,我们还是通过一个实际的项目实践Spring+Hibernate框架访问数据库。假设该项目的功能有:保存用户信息、查询用户信息。2013-08-29T09:12:00Z2013-08-29T09:12:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】本文继续介绍第三种数据库访问的解决方案:Spring3.2 + Hibernate4.2。
Hibernate是一个开源的ORM框架,能自动为对象生成相应SQL并透明的持久化对象到数据库。
ORM全称对象关系映射(Object/Relation Mapping),指将Java对象状态自动映射到关系数据库中的数据上,从而提供透明化的持久化支持。
接下来,我们还是通过一个实际的项目实践Spring+Hibernate框架访问数据库。假设该项目的功能有:保存用户信息、查询用户信息。 <a href="https://www.cnblogs.com/windlaughing/p/3289552.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3287750.html三种数据库访问——Spring JDBC - windlaughingSpring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发。Spring主要提供JDBC模板方式、关系数据库对象化方式、SimpleJdbc方式、事务管理来简化JDBC编程。
接下来,通过一个示例项目来展示如何使用Spring的JDBC框架访问数据库。假设该项目的功能有:保存用户信息、查询用户信息。
事务是企业应用开发的重要组成部分,它使软件更加可靠。它们确保一种要么全有 要么全无的行为,防止数据不一致而导致的不可预测的错误发生。 事务同时也支持并发,防止并发应用线程在操作同一数据时互相影响。2013-08-28T10:14:00Z2013-08-28T10:14:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发。Spring主要提供JDBC模板方式、关系数据库对象化方式、SimpleJdbc方式、事务管理来简化JDBC编程。
接下来,通过一个示例项目来展示如何使用Spring的JDBC框架访问数据库。假设该项目的功能有:保存用户信息、查询用户信息。
事务是企业应用开发的重要组成部分,它使软件更加可靠。它们确保一种要么全有 要么全无的行为,防止数据不一致而导致的不可预测的错误发生。 事务同时也支持并发,防止并发应用线程在操作同一数据时互相影响。 <a href="https://www.cnblogs.com/windlaughing/p/3287750.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3287501.html数据库连接池:Druid - windlaughingJava连接数据库方法概述java.sql提供了一些接口和类,用于支持数据库增删改查等相关操作。该jar包定义了java访问各种不同数据库(mysql,oracle,sqlserver...)的统一接口和标准。同时,各个数据库厂商都提供了各个接口的实现类,称之为“jdbc driver”。1、使用java.sql API 利用该包提供的各种接口和类直接访问数据库。2、使用数据库连接池目前存在多个开源的java数据库连接池,这些连接池都是在java.sql基础上编写而成。1)连接池的解决的问题是: 当使用java.sql中提供的api创建数据库连接时候,需要耗费很大的资源。如果在程序中,每次..2013-08-28T08:29:00Z2013-08-28T08:29:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】Java连接数据库方法概述java.sql提供了一些接口和类,用于支持数据库增删改查等相关操作。该jar包定义了java访问各种不同数据库(mysql,oracle,sqlserver...)的统一接口和标准。同时,各个数据库厂商都提供了各个接口的实现类,称之为“jdbc driver”。1、使用java.sql API 利用该包提供的各种接口和类直接访问数据库。2、使用数据库连接池目前存在多个开源的java数据库连接池,这些连接池都是在java.sql基础上编写而成。1)连接池的解决的问题是: 当使用java.sql中提供的api创建数据库连接时候,需要耗费很大的资源。如果在程序中,每次.. <a href="https://www.cnblogs.com/windlaughing/p/3287501.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3286699.html三种数据库访问——原生JDBC - windlaughing原生的JDBC编程主要分一下几个步骤:(原生的JDBC编程指,仅应用java.sql包下的接口和数据库驱动类编程,而不借助任何框架)
1. 加载JDBC驱动程序;2. 负责管理JDBC驱动程序的类 DriverManager 会识别加载的驱动程序,用 DriverManager 类的方法 getConnection()来创建一个数据库连接类的实例对象;3. 获取Connection对象的实例,用Connection对象的方法创建一个 Statement 对象实例,执行标准的SQL语句,对数据库、表进行相关操作。4. 返回的结果用 ResultSet 类来处理。5、出现异常时,对事物进行回滚。
特点:应用原生的JDBC访问数据库的代码冗长、重复,容易忘记某一步骤从而导致出错,并且需要显示的控制事务。2013-08-28T02:50:00Z2013-08-28T02:50:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】原生的JDBC编程主要分一下几个步骤:(原生的JDBC编程指,仅应用java.sql包下的接口和数据库驱动类编程,而不借助任何框架)
1. 加载JDBC驱动程序;2. 负责管理JDBC驱动程序的类 DriverManager 会识别加载的驱动程序,用 DriverManager 类的方法 getConnection()来创建一个数据库连接类的实例对象;3. 获取Connection对象的实例,用Connection对象的方法创建一个 Statement 对象实例,执行标准的SQL语句,对数据库、表进行相关操作。4. 返回的结果用 ResultSet 类来处理。5、出现异常时,对事物进行回滚。
特点:应用原生的JDBC访问数据库的代码冗长、重复,容易忘记某一步骤从而导致出错,并且需要显示的控制事务。 <a href="https://www.cnblogs.com/windlaughing/p/3286699.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3241776.html介绍4款json的java类库 及 其性能测试 - windlaughingJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。
下面介绍四款处理json的java类库:Json-lib、Gson、Jackson、Fastjson2013-08-06T13:29:00Z2013-08-06T13:29:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。
下面介绍四款处理json的java类库:Json-lib、Gson、Jackson、Fastjson <a href="https://www.cnblogs.com/windlaughing/p/3241776.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3227155.html云存储(Swift+Keystone)部署策略 - windlaughingSwift是OpenStack的对象存储模块,Keystone是OpenStack的权限验证模块。可以于这两个模块搭建一个较为完善的云存储系统。1、官方方案云存储的服务器分三种类型:验证节点 Auth node – 运行 Auth service (keystone )代理节点 Proxy node – 运行 Proxy services存储节点 Storage node – 运行 Account, Container, and Object services此方案是官方文档上的方案,部署图如下:此方案中,有1个Proxy node ,运行 swift-proxy-server。 proxy 2013-07-31T02:19:00Z2013-07-31T02:19:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】Swift是OpenStack的对象存储模块,Keystone是OpenStack的权限验证模块。可以于这两个模块搭建一个较为完善的云存储系统。1、官方方案云存储的服务器分三种类型:验证节点 Auth node – 运行 Auth service (keystone )代理节点 Proxy node – 运行 Proxy services存储节点 Storage node – 运行 Account, Container, and Object services此方案是官方文档上的方案,部署图如下:此方案中,有1个Proxy node ,运行 swift-proxy-server。 proxy <a href="https://www.cnblogs.com/windlaughing/p/3227155.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3225498.htmlOpenStack Identity(Keystone)概述及示例 - windlaughingOpenStack 的验证服务有两个主要功能: 1. 用户管理(租户、用户、权限) 2. Service catalog,管理服务的目录和它们的endpoint。相关概念1. User User即用户,他们代表访问openstack的人或程序。Users通过认证信息(credentials,如密码、API Keys等)进行验证。2. Tenant Tenant即租户,它是各个服务中的一些可以访问的资源集合。在Swift,资源是以tenant为单位进行划分的。Users默认的总是绑定到某些tenant上。3. Role Role即角色,Roles代表一组用户可以访问的资源权限。Role...2013-07-30T09:18:00Z2013-07-30T09:18:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】OpenStack 的验证服务有两个主要功能: 1. 用户管理(租户、用户、权限) 2. Service catalog,管理服务的目录和它们的endpoint。相关概念1. User User即用户,他们代表访问openstack的人或程序。Users通过认证信息(credentials,如密码、API Keys等)进行验证。2. Tenant Tenant即租户,它是各个服务中的一些可以访问的资源集合。在Swift,资源是以tenant为单位进行划分的。Users默认的总是绑定到某些tenant上。3. Role Role即角色,Roles代表一组用户可以访问的资源权限。Role... <a href="https://www.cnblogs.com/windlaughing/p/3225498.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3224021.htmlOpenStack Object Storage(Swift)概述 - windlaughingOpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一,被称为对象存储,提供了强大的扩展性、冗余和持久性。 Swift并不是文件系统或者实时的数据存储系统,它称为对象存储,用于永久类型的静态数据的长期存储,这些数据可以检索、调整,必要时进行更新。最适合存储的数据类型的例子是虚拟机镜像、图片存储、邮件存储和存档备份。因为没有中心单元或主控结点,Swift提供了更强的扩展性、冗余和持久性。Swift前身是Rackspace Cloud Files项目,随着Rackspace加入到OpenStack社区,于2010年7月贡献给OpenStack,作为该开源项目的一部分。2013-07-30T04:59:00Z2013-07-30T04:59:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一,被称为对象存储,提供了强大的扩展性、冗余和持久性。 Swift并不是文件系统或者实时的数据存储系统,它称为对象存储,用于永久类型的静态数据的长期存储,这些数据可以检索、调整,必要时进行更新。最适合存储的数据类型的例子是虚拟机镜像、图片存储、邮件存储和存档备份。因为没有中心单元或主控结点,Swift提供了更强的扩展性、冗余和持久性。Swift前身是Rackspace Cloud Files项目,随着Rackspace加入到OpenStack社区,于2010年7月贡献给OpenStack,作为该开源项目的一部分。 <a href="https://www.cnblogs.com/windlaughing/p/3224021.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3224782.htmlOpenStack 组成 架构 - windlaughingComponents of OpenStackOpenStack is on a mission: to provide scalable, elastic cloud computing for both public and private clouds, large and small. There are currently seven core components of OpenStack: Compute, Object Storage, Identity, Dashboard, Block Storage, Network and Image Service.• Object 2013-07-30T03:32:00Z2013-07-30T03:32:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】Components of OpenStackOpenStack is on a mission: to provide scalable, elastic cloud computing for both public and private clouds, large and small. There are currently seven core components of OpenStack: Compute, Object Storage, Identity, Dashboard, Block Storage, Network and Image Service.• Object <a href="https://www.cnblogs.com/windlaughing/p/3224782.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3224567.html云计算 概述 - windlaughingIn data centers today, many computers suffer the same under-utilization利用不足 in computing power and networking bandwidth. For example, projects may need a large amount of computing capacity to complete a computation, but no longer need the computing power after completing the computation. You want cl2013-07-30T02:38:00Z2013-07-30T02:38:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】In data centers today, many computers suffer the same under-utilization利用不足 in computing power and networking bandwidth. For example, projects may need a large amount of computing capacity to complete a computation, but no longer need the computing power after completing the computation. You want cl <a href="https://www.cnblogs.com/windlaughing/p/3224567.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3224050.htmlOpenStack概述 - windlaughingOpenStackOpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.1、OpenStack Co2013-07-29T14:18:00Z2013-07-29T14:18:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】OpenStackOpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.1、OpenStack Co <a href="https://www.cnblogs.com/windlaughing/p/3224050.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3178032.htmlC语言位运算、移位运算 经典示例 - windlaughingC语言的位级运算可以运用到任何“整数”的数据类型上,如char、short、int、long、long long、或者unsigned这样的限定词。基本的位运算有与、或、非、异或等等。
C语言的位移运算有两种:左移、右移。左移运算:xk 表示x向左移动k位,丢弃最高的k位,并在右端补k个0。右移运算:分逻辑右移 和 算术右移。
逻辑右移:在左端补k个0;
算术右移:在左端补k个最高有效位的值(它对有符号整数数据的运算非常有用);2013-07-08T07:09:00Z2013-07-08T07:09:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】C语言的位级运算可以运用到任何“整数”的数据类型上,如char、short、int、long、long long、或者unsigned这样的限定词。基本的位运算有与、或、非、异或等等。
C语言的位移运算有两种:左移、右移。左移运算:xk 表示x向左移动k位,丢弃最高的k位,并在右端补k个0。右移运算:分逻辑右移 和 算术右移。
逻辑右移:在左端补k个0;
算术右移:在左端补k个最高有效位的值(它对有符号整数数据的运算非常有用); <a href="https://www.cnblogs.com/windlaughing/p/3178032.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3157531.htmlPython数据库访问之SQLite3、Mysql - windlaughing现有的数据库管理系统有很多种,本文选择介绍两种DBMS:SQLite 3 和 Mysql。。SQLite 3是Python 3预装的、相当完备、无需配置的基于SQL的数据库管理系统。Mysql是非常流行的开源关系性数据库。
Python数据库API 提供了一种标准机制,可以针各种各样的数据库管理系统,包括SQLite。不管使用什么后台数据库,代码所遵循的过程都是一样的:连接 -> 创建游标 -> 交互(利用游标,使用SQL管理数据)->提交/回滚 ->关闭2013-06-26T13:42:00Z2013-06-26T13:42:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】现有的数据库管理系统有很多种,本文选择介绍两种DBMS:SQLite 3 和 Mysql。。SQLite 3是Python 3预装的、相当完备、无需配置的基于SQL的数据库管理系统。Mysql是非常流行的开源关系性数据库。
Python数据库API 提供了一种标准机制,可以针各种各样的数据库管理系统,包括SQLite。不管使用什么后台数据库,代码所遵循的过程都是一样的:连接 -> 创建游标 -> 交互(利用游标,使用SQL管理数据)->提交/回滚 ->关闭 <a href="https://www.cnblogs.com/windlaughing/p/3157531.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/p/3153848.htmlpython实现基于CGI的Web应用 - windlaughing本文用一个“网上书店”的web应用示例,简要介绍如何用Python实现基于CGI标准的Web应用,介绍python的cgi模块、cigtb模块对编写CGI脚本提供的支持。CGI(通用网关接口),是一个Internet标准,允许Web服务器运行一个服务器端程序,称为CGI脚本。2013-06-24T14:51:00Z2013-06-24T14:51:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】本文用一个“网上书店”的web应用示例,简要介绍如何用Python实现基于CGI标准的Web应用,介绍python的cgi模块、cigtb模块对编写CGI脚本提供的支持。CGI(通用网关接口),是一个Internet标准,允许Web服务器运行一个服务器端程序,称为CGI脚本。 <a href="https://www.cnblogs.com/windlaughing/p/3153848.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/archive/2013/06/07/3125358.htmlJetty架构解析及应用示例 - windlaughingJetty 是一个 Web server/servlet container, 支持 SPDY,WebSocket,OSGi,JMX,JNDI,JAAS 。Jetty非常高效而且灵活,Google App Engine 选择了Jetty,而放弃了Tomcat,或是其他的服务器。 Jetty的口号是:“不要把你的程序部署到Jetty里,而是把Jetty部署到你的程序里”,意味着,你可以把Jetty当成程序的一个HTTP模块放到你的程序里。
本文先通过一个简单的HelloWorld示例,展示了java应用中的Jetty是如何启动的;接着详细分析了Jetty的整体架构;最后展示了用Jetty启动一个标准的Java web app。2013-06-07T14:26:00Z2013-06-07T14:26:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】Jetty 是一个 Web server/servlet container, 支持 SPDY,WebSocket,OSGi,JMX,JNDI,JAAS 。Jetty非常高效而且灵活,Google App Engine 选择了Jetty,而放弃了Tomcat,或是其他的服务器。 Jetty的口号是:“不要把你的程序部署到Jetty里,而是把Jetty部署到你的程序里”,意味着,你可以把Jetty当成程序的一个HTTP模块放到你的程序里。
本文先通过一个简单的HelloWorld示例,展示了java应用中的Jetty是如何启动的;接着详细分析了Jetty的整体架构;最后展示了用Jetty启动一个标准的Java web app。 <a href="https://www.cnblogs.com/windlaughing/archive/2013/06/07/3125358.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/archive/2013/05/27/3101650.htmlJVM内存模型及内存分配过程 - windlaughingJVM主要管理两种类型内存:堆(Heap)和非堆(Permanent区域)。Heap是运行时数据区域,所有类实例和数组的内存均从此处分配。Heap区分两大块,一块是 Young Generation,另一块是Old Generation:1)在Young Generation中,有一个叫Eden Space的空间,主要是用来存放新生的对象,还有两个Survivor Spaces(from,to),它们的大小总是一样,它们用来存放每次垃圾回收后存活下来的对象。2)在Old Generation中,主要存放应用程序中生命周期长的内存对象。 Permanent Generation,主要是存储的是java的类信息,包括解析得到的方法、属性、字段等等。永久带基本不参与垃圾回收。Permanent generation 不是Heap的一部分。2013-05-27T07:08:00Z2013-05-27T07:08:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】JVM主要管理两种类型内存:堆(Heap)和非堆(Permanent区域)。Heap是运行时数据区域,所有类实例和数组的内存均从此处分配。Heap区分两大块,一块是 Young Generation,另一块是Old Generation:1)在Young Generation中,有一个叫Eden Space的空间,主要是用来存放新生的对象,还有两个Survivor Spaces(from,to),它们的大小总是一样,它们用来存放每次垃圾回收后存活下来的对象。2)在Old Generation中,主要存放应用程序中生命周期长的内存对象。 Permanent Generation,主要是存储的是java的类信息,包括解析得到的方法、属性、字段等等。永久带基本不参与垃圾回收。Permanent generation 不是Heap的一部分。 <a href="https://www.cnblogs.com/windlaughing/archive/2013/05/27/3101650.html" target="_blank">阅读全文</a>https://www.cnblogs.com/windlaughing/archive/2013/05/26/3100362.htmlPython命名空间的本质 - windlaughingPython的命名空间是Python程序猿必须了解的内容,对Python命名空间的学习,将使我们在本质上掌握一些Python中的琐碎的规则。
接下来我将分四部分揭示Python命名空间的本质:一、命名空间的定义;二、命名空间的查找顺序;三、命名空间的生命周期;四、通过locals()和globals() BIF访问命名空间
重点是第四部分,我们将在此部分观察命名空间的内容。2013-05-26T12:55:00Z2013-05-26T12:55:00Zwindlaughinghttps://www.cnblogs.com/windlaughing/【摘要】Python的命名空间是Python程序猿必须了解的内容,对Python命名空间的学习,将使我们在本质上掌握一些Python中的琐碎的规则。
接下来我将分四部分揭示Python命名空间的本质:一、命名空间的定义;二、命名空间的查找顺序;三、命名空间的生命周期;四、通过locals()和globals() BIF访问命名空间
重点是第四部分,我们将在此部分观察命名空间的内容。 <a href="https://www.cnblogs.com/windlaughing/archive/2013/05/26/3100362.html" target="_blank">阅读全文</a>