Go
2022-01-05
52
基础面试go的调度GPM是Go语言运行时(runtime)层面的实现,是go语言自己实现的一套调度系统。区别于操作系统调度OS线程。G很好理解,就是个goroutine的,里面除了存放本goroutine信息外 还有与所在P的绑定等信息。
P管理着一组goroutine队列,P里面会存储当前goroutine运行的上下文环境(函数指针,堆栈地址及地址边界),P会对自己管理的goroutine队列做一些调度(比如把占用CPU时间较长的goroutine暂停、运行后续的goroutine等等)当自己的队列消费
2022-01-05
43
LCP 34. 二叉树染色这道题理解错题意了 改了n久 自己好菜题目
小扣有一个根结点为 root 的二叉树模型,初始所有结点均为白色,可以用蓝色染料给模型结点染色,模型的每个结点有一个 val 价值。小扣出于美观考虑,希望最后二叉树上每个蓝色相连部分的结点个数不能超过 k 个,求所有染成蓝色的结点价值总和最大是多少?
解题思路
设 dp[k] 表示在当前节点染色了k的最大值。
则 dp[0] = max(left,right),dp[k]=max(dp_left[n],dp_right[k-n-1])
2022-01-05
58
Golang数组与切片
数组的声明
func main() {var arr1 [3]intfmt.Println(arr1)var arr2 = [3]int{1, 2, 3}var arr3 = [...]int{1, 2, 3}fmt.Println(arr2, arr3)
}[0 0 0]
[1 2 3] [1 2 3]Golang中的数组属于静态数组,不允许动态扩展Golang中数组会默认初始化值
可以通过[...]int{1,2,3}的方式初始化数组数组的传值Golang中数组与C++中的容器
2022-01-05
382
参考链接: Go-字符串最近在做性能优化,有个函数里面的耗时特别长,看里面的操作大多是一些字符串拼接的操作,而字符串拼接在 golang 里面其实有很多种实现。 实现方法 1. 直接使用运算符 func BenchmarkAddStringWithOperator(b *testing.B) { hello := "hello" world := "world" for i :=
2022-01-05
567
参考链接: Go-数据类型#使用.(type)及reflect.TypeOf() func main() { demo.TypeOf(1) demo.TypeOf("golang") demo.TypeOf(true) demo.TypeOf(1.2)}func TypeOf(param interface{}) { // 打印数据类型 fmt.Println(param, reflect.TypeOf(param)) // 判断数据类型 switch pa
2022-01-05
75
参考链接: Go语言-错误处理错误处理机制 当程序发生错误,程序就会崩溃,所以,引进错误处理机制,当发生错误后,可以捕获错误,并进行处理,保证程序正常执行,并返回给管理员错误的信息提示。 异常处理 Go中抛出一个panic的异常,然后在关键字defer中通过recover()函数捕获这个异常,最后正常处理。 defer语句的作用是不管程序是否出现异常,均在函数退出时自动执行相关代码。 程序案例 package mainimport ( "fmt")func test() { //
2022-01-05
49
* 提炼你的个人技能,而不是把所有你听过的技术都加上去。* 按熟练程度分解技能,精通,有实战经验,熟悉。* 项目经验非常需要细节。* 技能和项目不匹配,时间不匹配* 拼写错误是大忌。* 教育背景请写到底部。* 保持简洁,没人愿意听你的高谈阔论。提炼你的个人技能我知道你一直在关心行业的发展,也一定听过很多非常火热的名词。 比如 Golang, DevOps。 你也可能一时心血来潮花了 2 个晚上,理解了他们的概念和基础语法,但是并不能说明你就具备了这项技能。把你不熟悉的技术写到简单当中只会害了你。因为一旦面
2022-01-05
121
手撸golang spring ioc/aop 之2
缘起
最近阅读 [Offer来了:Java面试核心知识点精讲(框架篇)] (王磊 , 2020.6)
本系列笔记拟采用golang练习之
Talk is cheap, show me the code.
Spring
Spring基于J2EE技术实现了一套轻量级的
Java Web Service系统应用框架。
它有很多优秀的特性,很多公司都选择把
Spring作为产品或项目的基础开发架构。Spring的特性包括轻量、控制反转
(Inversion o