自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 使用Pyinstaller给python多文件工程打包

pyinstaller打包多文件夹项目pyinstaller打包项目tix等库缺失解决办法

2022-09-22 15:07:18 823 1

转载 八股文完:消息队列&Redis&Nginx

八、MQ 消息队列1、场景作用削峰填谷,异步解耦。2、如何保证消息不被重复消费呢?这个问题可以换个思路,保证消息重复消费,其实是保证程序的幂等性。无论消息如何重复,程序运行的结果是一致的。比如消费消息后做数据库插入操作,为了防止消息重复消费,可以在插入前先查询一下有没有对应的数据。3、怎么保证从消息队列里拿到的数据按顺序执行?消费端在接收到消息后放入内存队列,然后对队列中的消息进行有序消费。4、如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积

2021-04-07 23:35:58 678

转载 八股文六:Spring

六、Spring 相关1、Bean 的作用域|:---|:---| | 类别 | 说明 | |singleton| 默认在 Spring 容器中仅存在一个实例 | |prototype| 每次调用 getBean() 都重新生成一个实例 | |request| 为每个 HTTP 请求生成一个实例 | |session| 同一个 HTTP session 使用一个实例,不同 session 使用不同实例 |2、Bean 生命周期简单来说四步: 实例化 Instantiation

2021-04-07 22:02:58 598

原创 八股文七:计网

七、计算机网络1、TCP/IP 五层模型2、浏览器输入地址后做了什么?3、三次握手与四次挥手三次握手 四次挥手 4、TIME_WAIT 与 CLOSE_WAIT5、TCP 滑动窗口TCP 流量控制,主要使用滑动窗口协议,滑动窗口是接受数据端使用的窗口大小,用来告诉发送端接收端的缓存大小,以此可以控制发送端发送数据的大小,从而达到流量控制的目的。这个窗口大小就是我们一次传输几个数据。对所有数据帧按顺序赋予编号,发送方在发...

2021-04-04 22:06:08 862 1

转载 八股文五:数据库

五、MySQL (Inno DB)1、聚簇索引与非聚簇索引都使用 B+ 树作为数据结构 聚簇索引中数据存在主键索引的叶子结点中,得到 key 即得到 data ;非聚簇索引的数据存在单独的空间。 聚簇索引中辅助索引的叶子结点存的是主键;非聚簇索引中叶子结点存的是数据的地址; 聚簇索引的优势是找到主键就找到数据,只需一次磁盘 IO ;当 B+ 树的结点发生变化时,地址也会发生变化,这时非聚簇索引需要更新所有的地址,增加开销。2、为何使用 B 树做索引而不是红黑树?索引很大,..

2021-04-04 20:33:36 670

原创 八股文四:JVM虚拟机

四、Java 虚拟机1、Java 内存结构堆 由线程共享,存放 new 出来的对象,是垃圾回收器的主要工作区域。 栈 线程私有,分为 Java 虚拟机栈和本地方法栈,存放局部变量表、操作栈、动态链接、方法出口等信息,方法的执行对应着入栈到出栈的过程。 方法区 线程共享,存放已被加载的类信息、常量、静态变量、即时编译器编译后的代码等信息,JDK 1.8 中方法区被元空间取代,使用直接内存。2、Java 类加载机制加载 加载字节码文件。 链接 验证 验证字节...

2021-04-03 19:07:34 168

转载 八股文三:多线程

三、Java 多线程1、synchronized修饰代码块 底层实现,通过 monitorenter & monitorexit 标志代码块为同步代码块。 修饰方法 底层实现,通过 ACC_SYNCHRONIZED 标志方法是同步方法。 修饰类 class 对象时,实际锁在类的实例上面。 单例模式public class Singleton { private static volatile Singleton instance = null; private

2021-04-03 17:56:54 383

转载 八股文二:集合框架

二、Java 集合框架(同样引自知乎,未修改完)1、List(线性结构)ArrayList Object[] 数组实现,默认大小为 10 ,支持随机访问,连续内存空间,插入末尾时间复杂度 o(1),插入第 i 个位置时间复杂度 o(n - i)。扩容,大小变为 1.5 倍,Arrays.copyOf(底层 System.ArrayCopy),复制到新数组,指针指向新数组。 Vector 类似 ArrayList,线程安全,扩容默认增长为原来的 2 倍,还可以指定增长空间长度。 Linke

2021-04-03 10:29:54 162

原创 八股文一:Java 基础

一、Java 基础知识(引自知乎:https://zhuanlan.zhihu.com/p/215878135 稍加修改)1、Object 类相关方法getClass 获取当前运行时对象的 Class 对象。 hashCode 返回对象的 hash 码。 clone 拷贝当前对象, 必须实现 Cloneable 接口。浅拷贝对基本类型进行值拷贝,对引用类型拷贝引用; 深拷贝对基本类型进行值拷贝,对引用类型对象不但拷贝对象的引用还拷贝对象的相关属性和方法。两者不同在于深拷贝创建了一个新的对

2021-04-01 21:43:17 463

原创 同步/异步/阻塞/非阻塞解析

同步/异步/阻塞/非阻塞什么事同步异步,什么事阻塞非阻塞呢:举个例子中午吃饭,两个宝宝,我两只手一起喂饭,他们同时吃下就叫做同步;什么叫异步呢,我喂他俩吃饭,一个宝宝闹脾气,不肯吃,另一个听话我就先喂了他,然后哄着另一个吃了饭,虽然不是同时吃的饭,但是中饭时间他俩都吃完了,这就叫做异步,就一段时间内吃完就行;什么叫做阻塞呢,我喂宝宝吃饭,他不肯吃,我就举着勺子一直等待,这就叫阻塞;什么叫非阻塞呢,我喂他吃饭,他不肯吃,我就不等了,我先去玩一会,再来喂他,这就叫非阻塞,我才不等他;同步阻

2021-03-19 21:35:27 64

原创 Mendeley在office2016中无法安装插件

Mendeley在office2016中无法安装插件最近写毕设开题报告碰到的问题,Mendeley安装好后想要安装word插件导出文献引用,结果发现无法找到startup目录。有人说是因为安装了wps导致的,我看了一下应该确实是wps的问题,安装word插件报错的是kingsoft/wps。rt...

2021-01-05 11:48:02 3213

原创 python实现Diffie-Hellman 协议并使用aes256进行加密传输

python实现Diffie-Hellman 协议并使用aes256进行加密传输实验原理参见旧帖子大概说一下代码的思想流程:1.第一阶段实现的是双方就DH协议进行交换得到对称密钥使用的是命令行参数实现的,循环调用命令行控制函数首先得到q,a这两个数。q为大素数,a为其本原根,为了省事直接从网上找了个本原根表,静态定义了这两个数。其次进行socket通信,将两方的根据q,a,自己选择的公钥ya,yb实现得到计算后的公钥YA,YB传输给对方。得到传输的公钥后,发送消息时利用公钥根据DH算法

2020-07-10 00:01:03 1324 1

原创 python3.7安装pycryptodome库

python3.7安装pycryptodome库我使用的环境是python3.7加上pycharm,但是pycharm一般安装不上这个库,所以使用命令行进行安装。因为安装了多个python版本,所以得选择版本进行安装:用 py 命令来区分使用,比如 py -2.6 或 py -3.7 即可运行指定版本。还可以这样选择性用 pip,比如 py -3.6 -m pip -install pycryptodome。安装完成后在pycharm里面调用的时候仍然无法识别图中库。解决办法:

2020-07-03 11:57:55 4167

原创 Pycharm创建工程时显示environment location directory is not empty

Pycharm创建工程时显示environment location directory is not empty 今天使用pycharm创建工程的时候碰到个怪事,创建工程名client,server的时候总是显示environment location directory is not empty,无法点击creat创建工程,然后我尝试了修改文件夹的路径,尝试了修改文件名,只要是工程名字叫做client,server就没用。挺奇怪的我就去网上搜,都是一堆复制粘贴的什么手动删除venv文件...

2020-07-02 10:49:42 7784 1

转载 Diffie-Hellman 协议的实现原理

因为课设需要,保存一下知识,暂时未实现,2星期内考虑贴上代码。Diffie-Hellman 协议:密钥交换协议,不加密,只是交换密钥。感觉上类似于把RSA协议用在了密钥传输的过程中,都是利用大素数和取余(离散对数问题)。核心思想:利用原根与离散对数的特性,在双方第一次接触时即可产生一个密钥。特点是,在不传输密钥的条件下,通信双方又能知道他们两人的共享密钥是什么。由此避免了第三方获知密钥。这里首先借用百科对原根和离散对数进行一个解释:如果a是素数p的一个原根,那么数值 a mod p,a`

2020-06-29 10:54:20 1929

原创 计算机系统安全认证S/KEY协议的认证过程

用于保存学过知识,怕忘记。。计算机系统安全2020.6.7客户端给服务器发送连接请求,服务器返回给客户端seed和sed客户端将password和seed拼在一起16字节,分开成前后8字节,进行异或得到SS进行md4运算1次得到第n个密码,2次得到第n-1个密码,,,,,服务器保存第1个密码,就是运算了n次的那个,客户端连接从第2个密码,就是运算了n-1次的那个开始使用,,客户端发送密码去服务器,服务器将密码进行一次md4运算,如果结果与自己保存的密码相同,就让客户端登录,并保存这次客户

2020-06-07 15:45:26 3100 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除