摘要: 借助Github,我们可以建立远程仓库。本讲结合实战,介绍了Git和远程仓库相关的命令。 阅读全文
posted @ 2021-02-05 13:48 说人话 阅读(600) 评论(0) 推荐(1) 编辑
摘要: Git中的“分支(branch)”就如同游戏中的剧情路线,用户可以为项目建立不同的分支,使得项目能在不同的分支里独立进行,并且互不干预。本讲介绍了一些和分支相关的命令以及Git会采取的3种合并策略:Fast-forward(直接移动指针),recursive strategy(采取三方合并)以及merge conflict(手动修改存在冲突的文件)。 阅读全文
posted @ 2021-02-04 13:02 说人话 阅读(619) 评论(0) 推荐(3) 编辑
摘要: 本讲从零开始,介绍了什么是Git及其基本的工作原理。接着结合实战介绍了一些Git在本地仓库的基础操作指令。 阅读全文
posted @ 2021-02-02 13:22 说人话 阅读(1261) 评论(0) 推荐(3) 编辑
摘要: API是对接使用者和后台服务的程序接口。本文利用比方通俗易懂地解释了API这个概念,并介绍了API存在于实际生活中的哪些地方。 阅读全文
posted @ 2021-01-29 13:23 说人话 阅读(18089) 评论(1) 推荐(7) 编辑
摘要: Javadoc是一款为程序生成API文档的工具。只需按照规定的格式填写注释,再用IDE生成即可生成与程序对应的API文档。本文先介绍了3类Javadoc的注释格式,再对部分常用的文档标签 (block tags) 进行了注解。 阅读全文
posted @ 2021-01-28 13:48 说人话 阅读(18401) 评论(3) 推荐(5) 编辑
摘要: 本讲将对尾调用与尾递归进行介绍:函数的最后一条执行语句是调用一个函数的形式即为尾调用;函数尾调用自身则为尾递归,通过改写循环即可轻松写出尾递归函数。在语言支持尾调用优化的条件下,尾调用能节省很大一部分内存空间。 阅读全文
posted @ 2020-12-20 13:04 说人话 阅读(704) 评论(0) 推荐(2) 编辑
摘要: 递归函数是自己调用自己的函数。通过列出方法签名,完成基准情况和递归情况即可完成一个递归函数。但是用递归实现通常会对时间和空间产生大的消耗,因此除非数据结构本身就是按递归的形式定义或是问题能以同样的解法逐级减小问题规模,否则应尽量避免使用递归。 阅读全文
posted @ 2020-12-18 12:49 说人话 阅读(2218) 评论(2) 推荐(2) 编辑
摘要: 本讲介绍了衡量算法在空间维度上的指标——空间复杂度。常见的空间复杂度量级有$O(1)$和$O(n)$。本讲还介绍了当函数调用其他函数和调用自身函数这两种情形下的空间占用情况。由于如今硬件的存储量级都较大,空间换时间的做法成为常态。 阅读全文
posted @ 2020-12-15 15:12 说人话 阅读(422) 评论(0) 推荐(2) 编辑
摘要: 本讲介绍了「时间复杂度」这一概念,用它来表示算法在时间维度上的效率。它不是计算算法具体耗时的,而是反映算法在时间维度上的一个趋势。时间复杂度具体可以用$O、\Omega、\Theta$这三种表示法表示,分别表示算法执行时间的「渐进上界」、「渐进下界」和「渐进紧确界」。此外还介绍了算法在最好、最坏、平均情况下的时间复杂度以及一些常见的时间复杂度量级。 阅读全文
posted @ 2020-12-14 14:28 说人话 阅读(1170) 评论(0) 推荐(4) 编辑
摘要: 本讲介绍了Java代码是如何一步步运行起来的,其中涉及的编译器,类加载器,字节码校验器,解释器和JIT编译器在整个过程中是发挥着怎样的作用。此外还介绍了Java程序所占用的内存是被如何管理的:堆、栈和方法区都各自负责存储哪些内容。最后用一小块代码示例来帮助理解Java程序运行时内存的变化。 阅读全文
posted @ 2020-12-11 21:47 说人话 阅读(2392) 评论(1) 推荐(6) 编辑