自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 7月19日收获

一些基础知识

2022-07-31 22:51:09 143

原创 7.13收获

数据库、漏洞扫描

2022-07-18 07:23:15 221

原创 2022.7.4收获

mysql语句的一些收获

2022-07-08 20:40:51 213

原创 ubuntu下项目的redis配置与安装-6.30

redis在项目中的应用

2022-07-01 08:45:47 455

原创 npm与cnpm的区别,swagger文档及go的一些基础知识-6.29

个人收获

2022-06-30 15:28:38 148

原创 字节跳动面试算法题解析(go)

//题目描述,使用两个线程交替打印“字节跳动2022” //思路解析:使用goroutine协程,由于协程并发 //这里在每个协程添加相应管道,实现交替打印 func main() { iChan1 := make(chan bool, 1) iChan2 := make(chan bool, 1) iChan3 := make(chan bool, 2) iChan2 <- true go print1(iChan1, iChan2, iChan3) go print2(iChan1,

2022-04-10 12:33:37 549

原创 go语言的垃圾回收(GC)机制

Go语言与C/C++语言一个显著不同是Go中对象内存空间的回收是通过GC机制来完成的,不需要C++一样通过程序员的手动申请和释放。 1. 变革 Go V1.3 标记-清除(mark and sweep)法 Go V1.5 的三色并发标记法 Go V1.5 的强三色不变式、弱三色不变式、插入屏障、删除屏障 Go V1.8 的混合写屏障机制 2. 标记-清除法的缺点 STW的过程,需暂停程序 标记需要扫描整个堆 清除数据会产生heap碎片 3.三色并发标记法 三色指的是白色 - 灰色 - 黑色,灰色作

2022-04-06 13:32:27 686

转载 操作系统基础知识(常用面试题)

1.进程和线程有什么区别? 进程(Process)是系统进行资源分配和调度的基本单位,线程(Thread)是CPU调度和分配的基本单位; 线程依赖于进程而存在,一个进程至少有一个线程; 线程有自己的独立地址空间,线程共享所属进程的地址空间; 进程是拥有系统资源的一个独立单位,而线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),和其他线程共享本进程的相关资源如内存、I/O、cpu等; 在进程切换时,涉及到整个当前进程CPU环境的保存环境的设置以及新被调度运行的C

2022-04-03 15:21:47 602

原创 Go语言goroutine、channel(管道)及反射

1. goroutine(协程) Go主线程(有程序直接称为线程):一个Go线程可以起多个协程,协程是轻量级的线程 协程特点:1)有独立的栈空间;2)共享程序堆空间;3)调度由用户控制;4)协程是轻量级的线程。 引入背景:1)主线程是一个物理线程,直接作用在CPU上的,是重量级的,非常消耗CPU资源;2)协程从主线程开启,是轻量级的线程,是逻辑态。对资源消耗相当小;3)golang可轻松开启上万个协程,其它语言的并发机制一般基于线程的,开启过多的线程,资源耗费大,凸显出golang在并发上的优势了。 2

2022-03-31 09:04:22 626

原创 Go语言(面向对象特性)

引言 Golang支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言,Golang支持面向编程特性(继承、封装、多态)。实现方式与其它OOP语言不一样,比如继承,golang没有extend关键字,继承是通过匿名字段实现的。golang没有类(class), 其结构体(struct)与其它编程语言的类(class)有同等的地位,Golang是基于struct来实现OOP特性的。 1.方法 如果一个类型实现了string()这个方法,那么fmt.println默认会使用这个

2022-03-30 12:08:34 786

原创 go语言(基础知识)

go语言(基础知识) 1. 基本数据的转换 Go在不同类型的变量之间赋值时需要显示转换,即golang中数据类型不能自动转换; 被转换的是变量存储的数据(值),变量本身的数据类型没有变化; 范围小向范围大转换时,按溢出处理,不会报错 2. 常见的引用类型与值类型 值类型: int, float, bool, string, 数组, 结构体struct 引用类型:指针、slice切片, map, 管道chan, interface 3. 标识符注意事项 下划线"_" 本身是一个特殊的标识符,用于忽略

2022-03-29 12:40:57 891

原创 关于数组类型的经典解题方法与思考

二分法 在数组有序且无重复的情况下使用,凡是涉及到搜索问题,使用问题都能充分降低时间复杂度,提高算法的执行效率。 核心思想:选定中间步mid;比较中间步数据与对应数据;更新中间步 双指针法 用于删除指定元素,新建一个指针在原数组基础上存储符合条件的元素 滑动窗口 主要在于指针的动态更新,具体可减少许多不必要的条件验证,从而提高效率 模拟行为 如模拟矩阵顺时针旋转,这个时候我们可以新建一个二维数组,不同的值,对应元素走向不同的方向 ...

2021-12-17 19:31:27 149

原创 区块链项目(algorand)开发过程全记录(一)

blog2 这个项目里里外外花了1、2个月才算弄明白,走了许多弯路,将过程记录如下,希望能为老铁们提供些许经验。 这篇文章主要分为go-algorand和go-algorand-sdk两部分,想查看sdk开发过程的小伙伴请移步:区块链项目(algorand)开发过程全记录(二) Algorand介绍 Algorand是一种新的加密货币,确认交易一分钟左右延迟,同时可扩展到许多用户。 Algorand确保用户永远不会就已确认交易的视图产生分歧,即使某些用户是恶意的和网络已临时分区。相反,现有的加密货币允许暂时

2021-04-07 21:10:26 818

原创 区块链项目(algorand)开发过程全记录(二)

使用sdk对algorand区块链进行交易、建立账户等基本操作 可以选用python、js、java、go语言的sdk,我这里使用的是go-sdk,所以我下面执行的主程序都是在go-algorand-sdk环境下运行的 package main import ( "fmt" "github.com/algorand/go-algorand-sdk/crypto" "github.com/algorand/go-algorand-sdk/mnemonic" ) func main() { acc

2021-04-07 21:04:47 837 1

原创 区块链概念、结构与共识入门

关于区块链的一些共识算法 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式

2021-03-04 17:14:29 229 2

空空如也

空空如也

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

TA关注的人

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