文章目录 2.1 类、接口和函数2.1.1 类和接口的注释写在类声明(class ClassName:)所在行的下一行,并向后缩进4个空格2.1.2 公共函数的注释写在函数声明(`def FunctionName(self):`)所在行的下一行,并向后缩进4个空格2.2 属性2.2.1 公共属性的注 ...
文章目录 9.1 异常行为9.1.1 禁止抑制或者忽略已检查异常9.1.2 禁止在异常中泄露敏感信息9.1.3 方法发生异常时要恢复到之前的对象状态9.2 运行环境9.2.1 生产代码不能包含任何调试入口点9.2.2 使用标准的API替代操作系统的系统命令9.2.3 禁止从第3方源下载并使用软件包9 ...
文章目录 8.1 可变参数默认值设为`None`8.2 对子类继承的变量要做显式定义和赋初值8.3 严禁使用注释行等形式仅使功能失效8.4 慎用`copy`和 `deepcopy`8.5 系统路径推荐使用 `pathlib.Path`8.6 使用`subprocess`模块代替`os.system` ...
文章目录 7.1 `List`容量初始化7.2 元素个数确定时推荐使用Tuple7.3 推荐使用局部变量引用频繁使用的外界对象7.4 尽量使用`generator comprehension`代替`listcomprehension`7.5 使用字符串格式化方式代替"+"和"+="操作符7.1 Li ...
接下来将介绍《深入理解java虚拟机》一书中的案例,并解答它所提出的问题。(部分类容来自于书中原文) Tomcat中的类加载器在Tomcat目录结构中,有三组目录(“/common/*”,“/server/*”和“shared/*”)可以存放公用Java类库,此外还有第四组Web应用程序自身的目录“ ...
一、简介 1 概要 模拟蚂蚁觅食行为(最短路径原理)设计的算法。讲蚂蚁群觅食的特点抽象出来转化成数学描述。 ? 蚁群算法(Ant Colony Algorithm, ACA)由Marco Dorigo于1992年在他的博士论文中首次提出。 ? 蚂蚁在寻找食物源时,会在其经过的路径上释放一种信息素,并 ...
一、简介 1 模拟退火算法原理 模拟退火算法来源于固体退火原理,是一种基于概率的算法,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。退火是指将固体加热到足够高的温度,使分子呈随 ...
JNI中jstring转码到std::string其实就是utf16转码到你选择的编码的过程,因为我C++程序要用utf8,所以这里我转成utf8 用到的转码库是utfcpp 这个库的使用方法就是下载source文件夹下全部内容,然后#include "utf8.h"在你的项目 代码: std::s ...
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。即Socket提供了操作上述特殊文件的接口,使用这些接口可以实现网络编程。 Socket通信流程图 TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,在正式通信之前必须建立起 ...
冒泡排序: 数据少时可以用,简单,稳定 具体实现: /** * @param $array * @return mixed */ public function sort($array) { $len = count($array); if ($len 1) { return $array; } / ...
快速排序: 总体最优,数据大时性能最好 具体实现:设置一个基准值,小于基准值放左边,大于基准值放右边,最后递归继续排左右两侧的,最后排完后合并 /** * 快速排序 * * @param $array * @return array */ public function sort($array): ...
选择排序: 数据较少时可以用,缺点:时间复杂度n的平方,优点:空间复杂度小 具体实现: /** * 选择排序 * * @param $array * @return mixed */ public function sort($array) { $len = count($array); if ($ ...
在使用MapReduce的小测试的时候,Driver类启动,或报下面的错误 log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). log4j: ...
一、过滤 对于列表数据要通过字段来进行过滤,就需要添加 django-filter 模块 使用方法: # 1、注册,在app中注册 settings.py INSTALLED_APPS = [ 'django_filters', ] # 2、settings.py 配置 REST_FRAMEWORK ...
SpringBoot支持的缓存组件 在SpringBoot中,数据的缓存管理存储依赖于Spring框架中cache相关的org.springframework.cache.Cache和org.springframework.cache.CacheManager缓存管理器接口。 如果程序中没有定义类型 ...
Go 语言范围(Range) Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。 实例 package main impor ...
Go 语言切片(Slice) Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 定义切片 你可以声明一个未指定大小的 ...
Go 语言结构体 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性: Title :标题 Author : 作者 Subject:学科 ...
Go 语言指针 Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。 接下来让我们来一步步学习 Go 语言指针。 我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。 Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。 以下实例演示了变量 ...