自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jvm原理

如果一个类加载器接收到了加载类的请求,它首先不会去自己加载这个类,而是委托给父类加载器加载,依次递归。双亲委派模式的好处:JAVA中的类随着它的类加载器一起具备了一种带有优先级的层次关系。例如,java.lang.Object类,无论哪个类加载器加载,最终都会委托给最顶层的启动类加载器加载,因此Object类在程序的各种类加载器环境中都能保证是同一个类。JAVA程序需要通过栈上的reference数据(指向对象的引用)来操作堆上的具体对象,主流的访问方式主要有使用句柄和直接指针两种。四、JVM执行子系统。

2023-10-30 09:51:04 74 1

原创 分布式系统的CAP理论

如上图,是我们证明CAP的基本场景,网络中有两个节点N1和N2,可以简单的理解N1和N2分别是两台计算机,他们之间网络可以连通,N1中有一个应用程序A,和一个数据库V,N2也有一个应用程序B2和一个数据库V。在满足一致性的时候,N1和N2中的数据是一样的,V0=V0。还有一种是保证CP,舍弃A。如上图,是分布式系统正常运转的流程,用户向N1机器请求数据更新,程序A更新数据库Vo为V1,分布式系统将数据进行同步操作M,将V1同步的N2中V0,使得N2中的数据V0也更新为V1,N2中的数据再响应N2的请求。

2023-10-09 09:36:34 70 1

原创 zmq+protobuff使用示例

zmq+protobuff的pythons实现示例

2022-10-12 11:07:54 769 1

原创 Django 创建信号

Django信号

2022-10-11 16:50:35 251

原创 python中scapy模块的使用

python中scapy模块的使用

2022-10-11 15:15:36 4535

原创 gitlab仓储搭建

搭建gitlab仓储

2022-10-11 11:35:58 274

原创 Docker 私有仓库搭建

docker搭建私有仓储

2022-10-11 11:29:00 169

原创 2021-04-25

channel主要是为了实现go的并发特性,用于并发通信的,也就是在不同的协程单元goroutine之间同步通信。下面主要从三个方面来讲解:make channel,主要也就是hchan的数据结构原型;发送和接收数据时,goroutine会怎么调度;设计思考;1.1 make channel我们创建channel时候有两种,一种是带缓冲的channel一种是不带缓冲的channel。创建方式分别如下:// bufferedch := make(chan Task, 3)// unbuffe

2021-04-25 22:37:42 192

原创 2021-04-18

什么是协程对于进程、线程,都是有内核进行调度,有CPU时间片的概念,进行抢占式调度。协程,又称微线程,纤程。英文名Coroutine。协程的调用有点类似子程序,如程序A调用了子程序B,子程序B调用了子程序C,当子程序C结束了返回子程序B继续执行之后的逻辑,当子程序B运行结束了返回程序A,直到程序A运行结束。但是和子程序相比,协程有挂起的概念,协程可以挂起跳转执行其他协程,合适的时机再跳转回来。线程调度原理N:1模型,多个用户空间线程在1个内核空间线程上运行。优势是上下文切换非常快,因为这些线程都在内核

2021-04-18 23:05:15 600

原创 测试理论基础

一,理清测试相关概念1,质量 : 实体特性的总和,满足明确或隐含要求的能力2,软件质量 :软件特性的总和,软件满足规定或潜在用户需求的能力在1991年软件产品质量评价,国标标准ISO9126中定义是:软件满足规定或潜在用户需求特性的总和。到1999年,ISO14598经典的定义是:软件特性的总和,软件满足规定或潜在用户需求的能力。一般对“质量”的理解是一个实体的“属性”,属性好就是质量好,但这不够全面,内在的特性好,不一定能用胜任和完成用户的任务,所以软件质量有三个属性来衡量,在2001年ISO

2021-03-28 21:54:53 260

原创 Mongodb事务

在前一篇《理解数据库的事务,ACID,CAP和一致性》我已经将数据库的一些基本概念包括事务,ACID,CAP,一致性,隔离性等都深入的介绍了一遍,而此篇主要是针对MongoDB数据库系统做一下深入的了解,主要希望弄清楚如下几个问题:MongoDB是如何实现事务的?有哪些局限?MongoDB的一致性是如何保证的?MongoDB的事务首先我们需要知道MongoDB是有多种存储引擎的,不同的存储引擎在实现ACID的时候,使用不同的机制。而Mongodb从3.0开始默认使用的是WiredTiger引擎,本文

2021-03-21 20:56:10 1455

原创 算法题

1.二维数组中的查找题目: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。**思路:**遍历每一行,查找该元素是否在该行之中。class Solution:# array 二维列表def Find(self, target, array):# write code herefor line in array:if target in line:r

2021-01-31 20:39:30 80

原创 哈希算法

计算与数据结构篇 - 哈希算法 (Hash)哈希算法的定义和原理非常简单,基本上一句话就可以概括了。将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。构成哈希算法的条件:从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法)对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到的哈希值也大不相同;散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小;哈希算法的执行效率要尽量高效,针对较长的文

2021-01-23 21:13:17 421

原创 2021-01-17

写过js的都知道,subscribe在很多地方都能看到它的身影,并且起到了很重要的作用。侦听http请求的返回,页面间传递参数… …说起订阅,就不能不提Observable,说起Observable就不能不提Subscribable… …等等,扯太远了。回到正题,subscribe是Observable类下的一个函数。从Observable的中文名:"可观察的"就能看出,Observable的作用是可以起到类似监听的作用,但它的监听往往都是在跨页面中,举个栗子:TypeScript code// 父页面

2021-01-17 16:17:55 86

原创 vue

前端VueVue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式。本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js来构建一个中大型的前端项目,同时做好相应的部署与优化工作。文章将以PPT图片附加文字介绍的形式展开,不会涉及知识点的具体代码,点到为止。有兴趣的同学可以查看相应的文档进行了解。Vue.js简介Vue.js简介从上图的介绍中我们不难发现Vue.js是一款轻量级的以数据驱动的前端JS框架,其和

2021-01-10 20:01:56 98

原创 DOM

1、DOMDOM全称 Document Object Model,即文档对象模型,它允许脚本(js)控制Web页面、窗口和文档。对象你知道吧,一个人就是一个对象。那么动物呢,一条狗也是对象,作为高大尚的人怎么可以和动物扯在一块,这个时候,是不是就要分类啦比如人类呀,动物啦,植物啦,等等… 所以就有了w3c里面介绍的那样咯,DOM 标准被分为 3 个不同的部分:核心 DOM - 针对任何结构化文档的标准模型XML DOM - 针对 XML 文档的标准模型HTML DOM - 针对 HTML 文档的标准

2021-01-03 21:17:38 74

原创 BOM

***BOM:什么是: Browser Object Model专门操作浏览器窗口的API —— 没有标准DHTML对象模型:window 2个角色:1. 代替global作为全局作用域对象所有全局函数和全局变量都是window的成员2. 封装所有DOM和BOM的API包括:①history 当前窗口打开后成功访问的历史记录 (window.history)②location 当前窗口正在打开的URL (window.location)③document DOM树的根节点,包含所有.

2020-12-26 17:16:39 86 2

原创 《数据结构与算法》

《数据结构与算法》数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。数据结构是为算法服务的,算法是要作用再特定的数据结构上的。最常用的数据结构预算法:数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Tire树算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法复杂度分析法则1)单段代码看高频:比如循环。2)多段代码取最大:比如一段代码中有单循环和多重循环,那么取多重循环的复杂度。3)嵌套代码求乘积:比如递归

2020-12-19 14:52:09 115 1

空空如也

空空如也

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

TA关注的人

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