- 博客(196)
- 收藏
- 关注
原创 操作系统面试知识点
当一个进程需要分配内存时,动态分区分配算法将选择一个合适的内存分区,并将其分配给该进程。算法思想:为了解决最佳适应算法的问题—即留下太多难以利用的小碎片,可以在每次分配时优先使用最大的连续空闲区,这样分配后剩余的空闲区就不会太小,更方便使用。当时间片用完时,由计时器发出时钟中断,调度程序便停止该进程的执行,并将它送往就绪队列的末尾,同时继续把 CPU 时间分配给队首的进程。有名管道(FIFO文件,借助文件系统):有名管道也是半双工的通信方式,但是允许在没有亲缘关系的进程之间使用,管道是先进先出的通信方式。
2023-07-03 22:19:24
421
原创 Leetcode 75算法题( 下)(使用C++实现)
给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。例如,如果未来 7 天股票的价格是 [100,80,60,70,60,75,85],那么股票跨度将是 [1,1,1,2,1,4,6]。
2023-07-02 22:16:35
858
原创 Spring mybatis
注解用于标识一个接口类是MyBatis的映射器(Mapper)。在MyBatis中,通过定义接口的方式来编写SQL映射,使用。这样可以简化MyBatis的配置,避免手动编写映射配置文件。注解可以告诉MyBatis框架该接口是一个映射器,需要进行相关的代理实现。通过@MapperScan可以指定要扫描的Mapper接口类的包路径。是MyBatis框架中的注解,用于简化数据库操作的映射配置。注解用于告诉MyBatis框架要扫描的包路径,并将。在MyBatis的配置文件中,需要将扫描到的。
2023-06-27 10:37:48
623
原创 C++来实现排序算法
2、选择排序(Selection Sort)3、插入排序(Insertion Sort)8、计数排序(Counting Sort)1、冒泡排序(Bubble Sort)10、基数排序(Radix Sort)4、希尔排序(Shell Sort)5、归并排序(Merge Sort)6、快速排序(Quick Sort)9、桶排序(Bucket Sort)7、堆排序(Heap Sort)
2023-06-26 23:02:23
622
原创 Java面试
2、单例模式Singleton:在Java中 即指单例设置模式,探视软件开发最常用的设置模式之一单:唯一例:实例单例设计模式,即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式例如:代表JVM运行环境的Runtime类要点:一是某个类只能有一个实例 构造器私有化二是他必须自行创建实例 含有一个该类的静态变量来保存这个唯一的实例三是它必须自行向整个系统提供这个实例 对外提供获取该类实例对象的方式。
2023-06-18 19:20:27
865
原创 Redis面试知识点
Redis是一个,不过与传统数据库不同的是Redis的数据库是存在中,所以,因此 Redis被广泛应用于方向。除此之外,Redis也经常用来做分布式锁,Redis提供了多种数据类型来支持不同的业务场景。除此之外,Redis 支持事务持久化、LUA脚本、LRU驱动事件、多种集群方案。
2023-06-17 22:06:32
1254
原创 C++:基础知识
内联函数:是一种特殊的函数,编译器会尝试将其内联展开,而不是通过函数调用的方式执行。内联函数通常用于执行简单的操作或者频繁调用的函数,以减少函数调用的开销和提高性能。在使用时,宏只做简单字符串替换(编译前而内联函数可以进行参数类型检查(编译时),且具有返回值。内联函数在编译时直接将函数代码嵌入到目标代码中,省去函数调用的开销来提高执行效率,并且进行参数类型检查,具有返回值,可以实现重载。宏定义时要注意书写(参数要括起来)否则容易出现歧义,内联函数不会产生歧义。
2023-06-17 18:32:37
875
原创 C++:构造函数和析构函数
如果对象在构造函数中打开了文件或建立了其他资源的连接,析构函数应该在销毁时关闭文件、断开连接等。根据对象的需求,析构函数可以执行其他清理操作,如发送最后一条日志消息、写入最后的状态等。根据需要,构造函数可以执行一些额外的操作来设置对象的状态,如打开文件、建立网络连接等。如果对象在构造函数中分配了动态内存,析构函数应该在对象销毁时释放这些内存。一个构造函数可以调用同类的其他构造函数,以便复用共同的初始化代码。构造函数可以使用初始化列表或在函数体内对成员变量进行初始化。用于在对象销毁时进行清理操作。
2023-06-17 16:17:08
401
原创 C++:函数重载和函数重写
纯虚函数是在基类中声明的虚函数,但没有提供实现,通过在函数声明末尾加上 "= 0" 来指定它为纯虚函数。总而言之,虚函数提供了一种默认的实现,允许派生类进行覆盖,而纯虚函数则强制要求派生类提供自己的实现。在运行时,通过指向派生类对象的基类指针或引用调用虚函数时,将根据对象的实际类型调用相应的函数。派生类可以重写虚函数,即在派生类中重新定义和实现基类的虚函数。虚函数可以有实现(非纯虚函数)也可以没有实现(纯虚函数)。派生类必须实现基类中的纯虚函数,才能实例化派生类的对象。带有纯虚函数的类被称为。
2023-06-17 11:19:23
579
原创 C++:引用和指针
引用指针定义和声明方式int a = 5;引用使用&符号进行定义和声明:int& ref = a;指针使用*符号进行定义和声明:int* ptr = &a;空值引用不能为null,它必须在声明时初始化,并且一指针可以为null,可以在声明后赋值为null,也可以指向不同的对象。变量别名,对引用的修改会影响原始变量的值。指针是一个,通过指针可以访问或修改所指向的变量。语法和操作引用在使用时不需要使用解引用操作符*,直即可。指针需要使用解引用来访问所指向的值。引用只有一级。
2023-06-17 11:04:43
444
原创 django-models类索引外键时候的related_name属性作用
其实可以就理解为,一对多关系拿对象的解决可以把引用理解为主从关系主引用从,即一对多 , 注意外键字段是放在多的一端的,比如一个班级class 有很多同学 students,那么就在students类里面设置class字段值是外键类型从students拿class数据很好拿, studet.class就拿到了但是从class 拿students数据 就不好拿了,当然也可以拿,默认的方式是cl...
2019-08-22 02:15:26
509
原创 django框架中表单
参考官方文档,太详细了(https://docs.djangoproject.com/zh-hans/2.1/topics/forms/)
2019-08-21 15:26:03
250
原创 django框架中的模型
模型模型是您的数据唯一而且准确的信息来源。它包含您正在储存的数据的重要字段和行为。一般来说,每一个模型都映射一个数据库表。基础:每个模型都是一个 Python 的类,这些类继承 django.db.models.Model模型类的每个属性都相当于一个数据库的字段。综上诉说,Django 给你一个自动生成访问数据库的 API;请参阅 进行查询。关联关系Many-to-one rel...
2019-08-20 16:20:32
344
原创 [python进阶]12.继承的优缺点
本章探讨继承和子类化,重点是说明对 Python 而言尤为重要的两个细节:子类化内置类型的缺点多重继承和方法解析顺序12.1 子类化内置类型很12.2 多重继承和方法解析...
2019-08-20 13:47:23
276
原创 [python进阶]11接口:从协议到抽象基类
本章讨论的话题是接口:从鸭子类型的代表特征动态协议,到使接口更明确、能验证实现是否符合规定的抽象基类(Abstract Base Class,ABC)。首先,本章说明抽象基类的常见用途:实现接口时作为**超类(父类,基类)**使用。然后,说明抽象基类如何检查具体子类是否符合接口定义,以及如何使用注册机制声明一个类实现了某个接口,而不进行子类化操作。最后,说明如何让抽象基类自动“识别”任何符合...
2019-08-20 11:28:35
229
原创 Django model中的 class Meta 详解
参考(1)https://www.cnblogs.com/tongchengbin/p/7670927.html
2019-08-20 09:31:18
252
原创 python中带*(单星号)的变量和**(双星号)的变量
一、*args的使用方法 *args 用来将参数打包成tuple给函数体调用二、**kwargs的使用方法 **kwargs 打包关键字参数成dict给函数体调用注意点:参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。单星号变量实例(*)单星号(*)的其它作用:单星号变量不仅仅能...
2019-08-14 19:59:04
1531
原创 Python3中的可变与不可变类型
在描述变量是否是可变类型时,可变与否实际上说的是对变量进行“修改”时变量的内存地址是否会发生变化,而非值是否可变。在Python中,对不可变的变量进行“修改”实际上是重新赋值,对可变的变量进行修改才是真正的修改,因为其内存地址并未发生变化。我们可以简单总结出以下几点:1.对不可变类型的变量进行修改实际上是对其重新赋值;2.在Python中’='并不是复制,而是将变量指向另一个变量的值的内存地...
2019-08-13 19:47:46
211
原创 [python 进阶] 9. 符合Python风格的对象
文章目录9.1 对象表示形式9.2 再谈向量类本章包含以下话题:支持用于生成对象其他表示形式的内置函数(如 repr()、bytes(),等等)使用一个类方法实现备选构造方法扩展内置的 format() 函数和 str.format() 方法使用的格式微语言实现只读属性把对象变为可散列的,以便在集合中及作为 dict 的键使用利用 slots 节省内存。我们将开发一个简单的二...
2019-08-11 21:31:01
369
原创 【排序】算法(python实现)
python 排序算法1 插入排序1.1 直接插入排序直接插入排序的核心思想就是:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过。因此,从上面的描述中我们可以发现,直接插入排序可以用两个循环完成:第一层循环:遍历待比较的所有数组元素第二层循环:将本轮选择的元素(selected)与已经排好序的元素(ordered...
2019-08-08 10:17:34
187
原创 [python 进阶] 第7章 函数装饰器和闭包
文章目录7.1 装饰器基础知识7.2 Python何时执行装饰器函数装饰器用于在源码中“标记”函数,以某种方式增强函数的行为。这是一项强大的功能,但是若想掌握,必须理解闭包。nonlocal 是新近出现的保留关键字,在 Python 3.0 中引入。除了在装饰器中有用处之外,闭包还是回调式异步编程和函数式编程风格的基础。本章的最终目标是解释清楚函数装饰器的工作原理,包括最简单的注册装饰器和...
2019-08-05 04:45:49
510
原创 算法【二分查找】(数组)
1 .山脉数组的巅峰索引信息我们把符合下列属性的数组 A 称作山脉:A.length >= 3存在 0 < i < A.length - 1 使得A[0] < A[1] < … A[i-1] < A[i] > A[i+1] > … > A[A.length - 1]给定一个确定为山脉的数组,返回任何满足 A[0] < A[1] ...
2019-08-02 17:30:19
460
原创 Flask 从入门到熟悉(不敢称为精通)
文章目录2.1 Flask介绍及其安装2.2 Virtualenv3.1 一个最小的应用3.2 外部课件服务器3.3 调试模式4.1 路由介绍4.2 变量规则4.3 构建URL4.4 HTTP 方法4 总结5.1 静态文件5.2 渲染模板5.3 练习66.1 接收请求数据6.2 请求对象6.3 文件上传6.4 Cookies6 总结2.1 Flask介绍及其安装Flask 是一个轻量级的 ...
2019-07-24 23:19:38
1093
原创 cookie,session的区别和联系(补充token)
http为什么是无状态的cookie,session,token的区别Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中。Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。实际上大多数的应用都是用 Cookie 来实现Session跟踪的参考:https://zhuanlan.zhi...
2019-07-23 17:02:54
151
原创 ubuntu18 常用命令
文章目录卸载和安装卸载和安装1.打开一个终端,输入dpkg --list ,按下Enter键,终端输出以下内容,显示的是你电脑上安装的所有软件。2. 在终端上输入命令sudo apt-get --purge remove 包名(–purge是可选项,写上这个属性是将软件及其配置文件一并删除,如不需要删除配置文件,可执行sudo apt-get remove 包名) ,此处我要删除的是poli...
2019-07-22 14:02:43
435
原创 python中一些特殊方法的作用
我们先暂且称呼为特殊方法。单下划线开头(_foo)双下划线开头的(__foo)双下划线开头和结尾的( __foo__)代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;代表类的私有成员代表python里特殊方法专用的标识,如 _init_()代表类的构造函数文章目录1 __repr__方法2 __str__ ...
2019-07-17 20:02:07
667
原创 关于python3中的包operator(支持函数式编程的包)
文章目录1.functools2.operator.itemgetter3.operator.attrgetter虽然 Guido 明确表明,Python 的目标不是变成函数式编程语言,但是得益于 operator 和functools 等包的支持,函数式编程风格也可以信手拈来。接下来的两节分别介绍这两个包。1.functools示例1 使用 reduce 函数和一个匿名函数计算阶乘f...
2019-07-12 06:39:20
961
原创 关于range方法,如果你觉得python很简单就错了
前言:在系统学习迭代器之前,我一直以为 range() 方法也是用于生成迭代器的,现在却突然发现,它生成的只是可迭代对象,而并不是迭代器!1、range() 是什么?对于 range() 函数,有几个注意点:(1)它表示的是左闭右开区间;(2)它接收的参数必须是整数,可以是负数,但不能是浮点数等其它类型;(3)它是不可变的序列类型,可以进行判断元素、查找元素、切片等操作,但不能修改元素;...
2019-07-12 05:29:53
364
原创 关于python中函数传参数的小栗子
1def tag(name, *content, cls=None, **attrs): if cls is not None: attrs['class'] = cls if attrs: attr_str = ''.join(' %s="%s"' % (attr, value) for attr, value in sorted(attrs.i...
2019-07-10 23:05:27
157
原创 python【进阶】5.一等函数(注销)
在 Python 中,函数是一等对象。编程语言理论家把“一等对象”定义为满足下述条件的程序实体:在运行时创建能赋值给变量或数据结构中的元素能作为参数传给函数能作为函数的返回结果在 Python 中,所有函数都是一等对象。5.1 把函数视作对象>>> def d(n):... '''return n!'''... return 1 if n<2...
2019-07-04 15:53:29
206
原创 python【进阶】4.文本和字节序列
文章目录1. 字符、码位和字节表述4.1字符问题2. bytes、bytearray 和 memoryview 等二进制序列的独特特性3. 全部 Unicode 和陈旧字符集的编解码器4.避免和处理编码错误5.处理文本文件的最佳实践6.默认编码的陷阱和标准 I/O 的问题7.规范化 Unicode 文本,进行安全的比较8.规范化、大小写折叠和暴力移除音调符号的实用函数9.使用 locale 模块和...
2019-07-04 13:22:25
482
原创 python文件操作
文章目录3.文件名模式匹配4.遍历目录树5.创建临时文件和目录6.删除文件和目录7.复制、移动和重命名文件和目录8.创建和解压ZIP和TAR档案9.使用fileinput 模块打开多个文件0. Python文件数据的读和写1.获取目录1.1.获取目录列表1.2.列出目录中的所有文件1.3.列出子目录1.4 创建目录1.4.1 创建单个目录1.4.2.创建多个目录2. 获取文件属性3.文件名模式匹配...
2019-07-03 16:13:10
2944
原创 mysql技术内幕《读书笔记》
文章目录1. mysql 体系结构和存储引擎1.5 连接mysql1.5.11. mysql 体系结构和存储引擎1.5 连接mysql连接mysql操作是一个连接进程和mysql数据库实例进行通信。本质是进程通信,常用的进程通信方式有管道,命名管道,命名字,TCP/IP套接字,unix域套接字。1.5.1...
2019-06-11 17:52:00
128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人