【Go基础】错误处理

基本认识 在Go中,将错误当成值来进行处理,强调判断错误和处理错误,不支持try/catch捕获异常。 Go选择使用Error而非Exception来进行错误处理。 一般把错误作为函数或方法的最后一个返回值。 Error接口使用error接口表示错误类型。该接口只有一个Error()方法,返回描述错误信息的字符串。 123type error interface { Err...

【Go基础】并发编程基本概念

并发编程基本概念串行、并发与并行 串行:我们都是先读小学,小学毕业后再读初中,读完初中再读高中。 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。 并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。 进程、线程和协程 进程(process):程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。 线程(thread):操作系统基于进程开启的轻量级...

【Go基础】垃圾回收演进 三色标记法

GO1.3标记清除,整体需要STW:1.暂停,找到可达和不可达对象,2. 标记可达对象,3. 清除未标记对象,4. 结束暂停 GO1.5三色标记法,堆启动写屏障,栈不启动,全部扫描一次后,需要重新扫描栈(STW),效率低 如果没有STW,对象丢失的2个条件: 黑色对象指向白色对象(白色挂在黑色下面) 灰色对象与其可达白色对象之间遭到破坏(灰色也丢失了该白色) 屏障机制,保障对象不丢失的2...

【Go基础】Go入门与实践资源帖

看到好的持续更新…… Go系统教程 从语法讲起:李文周博客 七天快速上手项目 Go测试驱动开发博客 孔令飞项目开发实战课程,孔令飞图文教程 《Go 语言高级编程》书籍 Go算法刷题模板 Go实战项目 KV系统 crawlab分布式爬虫平台 seaweedfs分布式文件系统 Cloudreve云盘系统 gfast后台管理系统(基于Go Frame) alist多存储文件列表(基于Gin、Re...

【Go基础】微服务概念与演进

微服务概念与演进巨石架构到微服务的演进传统网页应用虽然进行了模块化设计,但是最终仍然是打包成一个war包进行部署,启动慢,无法拓展,可靠性很低。 什么是微服务是面向服务的架构模式(SOA)的最佳实践。定义:围绕业务功能构建的,服务关注单一业务,服务间采用轻量级的通信机制,可以全自动独立部署,可以使用不同的编程语言和数据存储技术。微服务架构通过业务拆分实现服务组件化,通过组件组合快速开发系统,...

【LeeCode】刷题记录.md

作者:力扣官方题解 来源:力扣(LeetCode) LeeCode热题10049、字母异位词分组(中)https://leetcode.cn/problems/group-anagrams/solutions/520469/zi-mu-yi-wei-ci-fen-zu-by-leetcode-solut-gyoc/ 题面给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺...

【资源帖】学习Java和算法

Java教程学习路线【黑马程序员】 Java简版基础教程:https://www.bilibili.com/video/BV1Cv411372m/ 书:《Java核心技术 1》 书:《Head First Java》 Java Web框架:https://www.bilibili.com/video/BV1m84y1w7Tb/ 单体项目开发: 苍穹外卖:https://www.bilib...

【求职】如何写一份受欢迎的校招简历

常见问题 过度包装设计。减弱主要信息能量,华而不实。 篇幅过长。 求职定位不明。 实践经历描述不当。 一份简历闯天下。 JD:工作职责、工作胜任力。 使用表格式简历。 啰啰嗦嗦重点不突出。 不该讲的乱讲。例如,创业、离职原因、到岗时间、离婚、错误检讨、薪资条件。 优秀简历的特征版面设计简洁大方、布局清晰、模板分界。 简历结构结构完整、详略得当、易于阅读。 内容呈现逻辑清晰、优势突出、数...

1234