摘要:
有时候,我们在提交代码的时候希望知道我们对文件进行了什么修改。 那么在 Commit 对话框中,选择需要提交的文件,双击鼠标左键盘就可以了。 这个时候你的 IntelliJ IDEA 将会为你打开一个对比的对话框。 在这个对比的对话框中将会把你的本地文件版本和 Git 的版本进行对比。 在这个对比中 阅读全文
摘要:
针对不同的项目,我们可能需要在 POM 文件中定义我们使用的许可证。 Apache Apache 许可证的配置信息如下: <licenses> <license> <name>Apache 2.0</name> <url>https://www.apache.org/licenses/LICENSE 阅读全文
摘要:
在使用 IntelliJ IDEA 完成代码修改准备进行提交的时候,我们可能想知道曾经自己提交的内容是什么。 比如说想知道上次提交的代码关联的 TASK ID 是多少等。 这个时候,你可以先对 Commit 对话框进行选择,然后使用快捷键 Ctrl + M 来显示提交 Message 的历史。 当然 阅读全文
摘要:
slice() 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝 (包括 begin ,不包括end )。 原始数组不会被改变。 重点关注 针对这个函数需要重点关注的是 end 这个元素不在拷贝出来的数组中。 数组的下标从 0 开始。 请考察下面的代码: co 阅读全文
摘要:
如果你是前端工程师的话,你应该对 caniuse 这个网站会比较熟悉。 这个网站的作用就是 对 CSS,JS 的一些兼容性问题,并且都从它反馈的兼容性数据中获益,让我们的线上项目更加稳定、和谐的跑在用户电脑里。 简单来说就是因为用户使用的浏览器版本很多,不是所有的 JS 语法都能够在所有浏览器里面运 阅读全文
摘要:
有时候,我们希望在 JavaScript 中将 2 个已经存在的数组串拼接成 1 个数组。 简单来说就是将数组进行合并。 这个时候,我们可以使用 JavaScript 的 concat 函数。 考察下面的代码: const array1 = ['a', 'b', 'c']; const array2 阅读全文
摘要:
JavaScript 针对数组中的元素通常有下面 4 个操作的方法 push() pop() unshift() shift() 下面的这张图应该能够帮你比较好的理解这 4 个方法是如何对数组中的元素进行操作的。 总结 对数组头部的元素进行操作使用的是 shift。 shift 是移除,那么对应的添 阅读全文
摘要:
进程和线程的概念是操作系统的概念,因此你可能需要看看大学有关《操作系统原理》这本书中的内容才能理解什么是进程和线程。 简单来说进程和线程涉及到 CPU 的使用和内存的分配。 可以想象下你的浏览器,如果你打开了一个浏览器,表示你启动了一个进程,如果你再打开多个标签页,表示你启动了不同的线程(敲黑板:浏 阅读全文
摘要:
这个问题如果展开了说就复杂去了,包括内存怎么存的呀,如何指向的的呀。 给一个小技巧,Java 的基本数据类型就是下面这些,这些数据类型是可以直接用 CPU 进行计算的。 整数类型:byte,short,int,long 浮点数类型:float,double 字符类型:char 布尔类型:boolea 阅读全文
摘要:
null 和 undefined 在 JavaScript 是最常见的空问题。 null 和 undefined 的定义 JavaScript 的最初版本是这样区分的: null是一个表示"无"的对象,转为数值时为 0; undefined是一个表示"无"的原始值,转为数值时为NaN。 下图对上面的 阅读全文