摘要: 并发无论是在操作系统层面还是在编程语言层面,都是一个极为重要的概念。线程(thread)是对并发的一种抽象,经典观念认为一个程序只有一个执行点(一个程序计数器,用来指向要执行的指令)。但是多线程(multi-thread)程序会有多个执行点(多个程序计数器)。换个角度来看,线程的概念类似于进程,有别 阅读全文
posted @ 2021-02-15 21:25 霍丙南 阅读(266) 评论(0) 推荐(0) 编辑
摘要: JWT全称JSON Web Token,是一个紧凑的,自包含的,安全的信息交换协议。JWT有很多方面的应用,例如权限认证,信息交换等。本文将简单介绍JWT登录权限认证的一个实例操作。 JWT组成 JWT由头部(Header),负载(Payload)和签名(Signature)三部分组成。其中头部包含 阅读全文
posted @ 2021-02-14 18:17 霍丙南 阅读(624) 评论(0) 推荐(0) 编辑
摘要: java类加载机制 类是java编程语言的基本单元。java的源代码经过编译后生成java的字节码文件(class文件),字节码文件是以二进制的形式存储。在运行时,这些类的字节码文件会加载进入JVM的内存的元空间中,并且以Class<T>的形式对类进行描述。本文将详细讲解java的类加载机制。 类加 阅读全文
posted @ 2021-02-10 22:48 霍丙南 阅读(532) 评论(0) 推荐(0) 编辑
摘要: git是一个流行的版本控制工具,在日常开发中必不可少。通常我们的项目代码的更新与版本的迭代都会交由git来管理。在git分支中必须有一个主分支(master),同时可以有若干次分支存在。主分支上的代码一定要保障是可交付到生产环境中的代码(敏捷开发中要求,版本控制系统中,主分支代码一定要保障可持续交付 阅读全文
posted @ 2021-02-08 22:42 霍丙南 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 问题描述 Python官方已发布支持M1 Apple Silicon的版本,但是在使用pip包管理工具安装一些依赖时发生了错误,这里面就包括在科学计算领域常用的numpy、pandas等。目前可以通过安装miniforge这款工具解决这个问题。 miniforge简介 miniforge是Anaco 阅读全文
posted @ 2021-02-03 14:28 霍丙南 阅读(2238) 评论(0) 推荐(0) 编辑
摘要: 当下的Web项目大都采用前后端分离+分布式微服务的架构。前后端分离式的开发中,前端开发人员要与后端开发人员协商通信接口,约定接口规范。因此对于开发人员来说能够维持一份及时更新且完整全面的API文档会大大提高开发效率。传统意义上的文档都是后端开发人员手动编写的,相信大家也都知道这种方式很难保证文档的及 阅读全文
posted @ 2021-02-02 22:09 霍丙南 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 在装载M1芯片的MacBook产品上,默认是不带有homebrew这款包管理工具的,具体原因官方解释为适配问题,原有的homebrew无法与silicon Mac机型匹配。但是这并不意味着我们不可以在M1版本的MacBook上使用homebrew。下面就介绍具体的安装步骤。 安装步骤 根据官方的规划 阅读全文
posted @ 2021-01-31 21:52 霍丙南 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 环境配置 Redis使用标准C语言编写,在开始之前请确保你的电脑上有C语言的编译器,并且拥有make构建工具。 windows平台建议使用MinGW Linux/OSX平台建议使用GCC 下载源码 你可以直接访问Redis的官网下载源码,也可以使用命令行工具wget下载。 wget http://d 阅读全文
posted @ 2021-01-31 21:49 霍丙南 阅读(129) 评论(0) 推荐(0) 编辑