一、Python中是如何进行内存管理的? 垃圾回收:Python不像C++,Java等语言一样,他们可以不用事先声明变量类型而直接对变量进行赋值。对Python而言,对象的类型和内存都是在运行时确定的。这也是为什么我们称Python语言为动态类型的原因 引用计数:Python采用类似Windows内 ...
分类:
编程语言 时间:
2017-12-08 21:07:05
阅读次数:
233
1、装饰器 装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限验证等场景,装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能 ...
分类:
编程语言 时间:
2017-12-08 21:07:20
阅读次数:
213
在多线程环境中,对共享的变量的访问,可以使用基于Compare And Swap这种lock free的技术进行实现,这种实现的好处是效率高。 一、原子操作摘录 1.1 Android 源码:system/core/libcutils /atomic.c(针对X86): 1 #elif define ...
分类:
编程语言 时间:
2017-12-08 21:07:36
阅读次数:
348
之前一直在研究多线程环境下的编程方法,却很少实战体验,以至于我一提到多线程编程,我总是信心不足,又总是说不出到底哪里不明白。今天工程现场反馈了一个“老问题”,我一直担心的是DAServer的运行机制有什么我不明白的地方,DAS Toolkit中总有一部分是我没有仔细研究的,在我心中有阴影,所以工程出 ...
分类:
编程语言 时间:
2017-12-08 21:07:49
阅读次数:
241
在《多线程编程之Linux环境下的多线程(二)》一文中提到了Linux环境下的多线程同步机制之一的读写锁。本文再详细写一下读写锁的概念和原理。 一、什么是读写锁 读写锁(也叫共享-独占锁)实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源 ...
分类:
编程语言 时间:
2017-12-08 21:08:02
阅读次数:
221
在Windows环境下针对多线程同步与互斥操作的支持,主要包括四种方式:临界区(CriticalSection)、互斥对象(Mutex)、信号量(Semaphore)、事件对象(Event)。下面分别针对这四种方式作说明: (1)临界区(CriticalSection) 每个进程中访问临界资源的那段 ...
分类:
编程语言 时间:
2017-12-08 21:11:47
阅读次数:
241
分类:
编程语言 时间:
2017-12-08 22:09:52
阅读次数:
267
冒泡排序: 第一轮:从下标0到n-1(n 是数组长度),如果前一个元素比后一个元素大,那么,相邻的两两交换,最后数组中最大的元素放在最后一个位置上。 第二轮:从标0到n-2,重复上过程,这样第二大的元素,就放在了倒数第二个位置上。 。。。。。。。 选择排序: 第一轮:从下标0到n-1,找出最小元素的 ...
分类:
编程语言 时间:
2017-12-08 22:50:22
阅读次数:
206
C语言学好,通杀C++。这就是方向之一。 前面看过的读者,是不是觉得很鸡肋的知识,全是基本的运用,可是呢?还是看不出能干吗。 那么下面就用二维数组打造,推箱子小游戏。首先,得问问,有何思路? 光写没有用,没到一部分内容觉得可以了,最好先打印下看看效果,要不然写到都不知道自己有没有写错! 效果如图: ...
分类:
编程语言 时间:
2017-12-08 22:50:47
阅读次数:
180
大整数的四则运算已经是老生常谈的问题了。很多的库也已经包含了各种各样的解决方案。 作为练习,我们从最简单的加减法开始。 加减法的核心思路是用倒序数组来模拟一个大数,然后将两个大数的利用竖式进行运算。 加法函数: 异符号相加时调用减法函数(减法函数后面给出) 同符号相加先确定符号 因为输入输出的为字符 ...
分类:
编程语言 时间:
2017-12-08 22:51:21
阅读次数:
164
Spring注解 Spring的对象访问 Spring面向切面编程 Spring MVC框架1.spring的优点轻量级:基础版本的spring框架大约2mb控制反转(IOC):把生成对象的权利反转给spring框架面向切面(AOP):把可重用的功能提取出来,然后再将这些通用的功能在合适的时候织入到 ...
分类:
编程语言 时间:
2017-12-08 22:53:41
阅读次数:
135
本文实例讲述了Python实现基于二叉树存储结构的堆排序算法。分享给大家供大家参考,具体如下: 既然用Python实现了二叉树,当然要写点东西练练手。 网络上堆排序的教程很多,但是却几乎都是以数组存储的数,直接以下标访问元素,当然这样是完全没有问题的,实现简单,访问速度快,也容易理解。 但是以练手的 ...
分类:
编程语言 时间:
2017-12-08 22:53:55
阅读次数:
213
一、命名规范 1、 项目名全部小写 2、 包名全部小写 3、 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。 如:public class MyFirstClass{} 4、 变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写。 如:int index=0 ...
分类:
编程语言 时间:
2017-12-08 22:55:04
阅读次数:
182
1.Python异常类 Python是面向对象语言,所以程序抛出的异常也是类。常见的Python异常有以下几个,大家只要大致扫一眼,有个映像,等到编程的时候,相信大家肯定会不只一次跟他们照面(除非你不用Python了)。 异常 描述 NameError 尝试访问一个没有申明的变量 ZeroDivis ...
分类:
编程语言 时间:
2017-12-08 22:55:21
阅读次数:
157
今天在看python编程从入门到实践的时候,遇到了 如下问题 然后查找文献找到一个网友 的解决方法,方法是这样的: 对于报错,事实上,pygal.i18n 已经不存在了,现在已经更改成了 pygal_maps_world ,需要单独通过pip下载,我使用的是Python3,因此需要在终端使用 pip ...
分类:
编程语言 时间:
2017-12-08 22:55:59
阅读次数:
8548
描述 本篇文章主要讲解基于windows 10系统搭建java开发环境,主要内容包括如下: (1)安装资料准备 (2)安装过程讲解 (3)测试是否安装成功 (4)Hello Word测试 1 安装材料准备 1 安装材料准备 java开发环境搭建前,需要准备JDK和Eclipse。 1.1 JDK 下 ...
分类:
编程语言 时间:
2017-12-08 22:57:39
阅读次数:
280
列表创建和操作a) 创建列表b) 基本操作c) 遍历与其说 列表 它是一个数据类型,用起来 更像一个灵活多变的数据存储方案 创建列表创建列表例子player = 'mao 80 50'
mao = '100 60 
分类:
编程语言 时间:
2017-12-08 22:57:59
阅读次数:
322
一 、为何要用装饰器 二、 什么是装饰器 三、 装饰器的使用 ...
分类:
编程语言 时间:
2017-12-08 22:58:06
阅读次数:
227
在js代码中加入"use strict";就相当于进入严格模式,严格模式改变了语法和运行时行为,将隐藏的问题转化为错误。 js的严格模式有以下特点: 一、变量声明 全局变量必须显示声明,才能使用,如果没有用var声明,就使用,会报错。 二、函数声明 不能在非函数的代码块内声明函数,比如if语句,循环 ...
分类:
编程语言 时间:
2017-12-08 22:58:16
阅读次数:
123
封装定义: 在程序设计中,封装(Encapsulation)是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其含义是其他程序无法调用。 即“ 封装 ”就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体(即类);封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节 ...
分类:
编程语言 时间:
2017-12-08 22:58:36
阅读次数:
206