如何做好Code Review 前文身为一个程序员,我们的工作内容离不开Coding,当然也离不开Code Review。 那么Code Review能给我们带来什么? 发现潜在的Bug,避免不合理的设计,统一代码风格,提升代码质量……这些都是Code Review能给我们带来的收益 既然Code Review能带来这么多益处,那么我们该怎样去进行Code Review呢? 以下则为我从学生时期到工作时期进行Code Revie 2023-09-13 笔记 心得
实习面经整理 顺丰科技 面向对象三大特征 封装 封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。就好像我们看不到挂在墙上的空调的内部的零件信息(也就是属性),但是可以通过遥控器(方法)来控制空调。如果属性不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意 2021-07-11 总结 面经
Golang-Day6 Golang “调度器”的由来单线程时代不需要调度器早期的操作系统每一个单个程序就是一个进程,直到一个程序执行完毕才能接着执行下一个程序,这就是所谓的“单线程时代”,即串行执行。 早期的操作系统有两个问题: 单一的执行流程,计算机只能串行的单个执行程序 进程阻塞带来的CPU资源浪费 后续发展的操作系统具备了多线程并发,即当一个程序阻塞时,切换到另外等待执行的程序,这样就能最大限度的利用CPU 2021-05-18 笔记 Golang
Golang-Day5 垃圾回收(Garbage Collection,简称GC)是编程语言中提供的自动的内存管理机制,自动释放不需要的对象,让出存储器资源,无需程序员手动执行。 Golang中的垃圾回收主要应用三色标记法,GC过程和其他用户goroutine可并发运行,但需要一定时间的STW(stop the world),STW的过程中,CPU不执行用户代码,全部用于垃圾回收,这个过程的影响很大,Golang进行了 2021-05-17 笔记 Golang
WSL2安装指南 版本要求安装WSL2对系统版本有硬性要求 Windows 10运行在版本2004的内部版本19041或更高版本 检查版本:Win + R,键入winver。若内部版本低于19041,请更新到最新的Windows版本继续操作 升级Windows(若版本达到要求,请跳过此步骤) Win + S 搜索Windows预览体验计划,加入预览体验计划以获取最新版本,并在Windows更新下检查更新并更新 2021-05-17 安装指南 WSL2
Golang-Day4 架构图 版本一:构建基础Server服务端 主程序 版本二:用户上线功能添加一个用户端 补充修改服务端 版本三:用户消息广播机制完善handle处理业务⽅法,启动⼀个针对当前客户端的读goroutine 版本四:用户业务层封装 版本五:在线用户查询 版本六:修改用户名 版本七:超时强踢功能 版本八:私聊功能 版本九:客户端实现客户端类型定义与链接 解析命令行 菜单显示 更新用户名 公聊模式 私聊 2021-05-16 笔记 Golang
Golang-Day3 面向对象特征封装Java中的封装 Java语言中,封装是自然而来的,也是强制的。你所写的代码,都要属于某个类,某个class文件。类的属性封装了数据,方法则是对这些数据的操作。通过private和public来控制数据的可访问性 每个类(java文件),自然的就是一个对象的模板 Go中的封装 Go语言并不是完全面向对象的。其实Go语言中并没有类和对象的概念 首先,Go语言是完全可以写成面向过程风格 2021-05-15 笔记 Golang
Golang-Day2 基础语法defer关键字defer关键字类似于C#的final关键字,可用于在程序退出前进行操作 知识点一 defer的执行顺序 可以看到加入defer关键字后,defer的执行顺序类似于一个栈 所以执行顺序是fun3() -> func2()-> func1() 知识点二 defer和return的先后 执行结果: return func called... defer func 2021-05-14 笔记 Golang
Golang-Day1 该笔记是在熟练掌握一门后端语言(Java、C++)的基础上快速入门Golang Golang的语言特性Golang的优势部署简单 可直接编译成机器码执行 不依赖其他库 直接运行即可部署 静态类型语言 编译的时候即可检查出来隐藏的⼤多数问题 语言层面的并发 天生基因支持并发 充分的利用多核 强大的标准库 runtime系统调度机制 高效的 GC 垃圾回收 丰富的标准库 (特别是网络库非常强大 2021-05-12 笔记 Golang
Java面试笔记-数据结构 红黑树深入剖析及 Java 实现转自美团技术专栏 红黑树是平衡二叉查找树的一种。为了深入理解红黑树,我们需要从二叉查找树开始讲起。 BST二叉查找树(Binary Search Tree,简称BST)是一棵二叉树,它的左子节点的值比父节点的值要小,右节点的值要比父节点的值大。它的高度决定了它的查找效率。 在理想的情况下,二叉查找树增删查改的时间复杂度为O(logN)(其中N为节点数),最坏的情况下 2021-04-28 面试笔记 Java 面试 数据结构