Guido 对语言设计美学的深入理解让人震惊。我认识不少很不错的编程语言设计者,他们设计出来的东西确实很精彩,但是从来都不会有用户。Guido 知道如何在理论上做出一定妥协,设计出来的语言让使用者觉得如沐春风,这真是不可多得。 ——Jim Hugunin Jython 的作者,AspectJ 的作者之一,.NET DLR 架构师 Python 最好的品质之一是一致……
2019.11.28
2020.8.19
Linux
3711
8 分钟
列举一些好用的命令行工具 列举你可能没注意过的好用的 Linux 命令行命令 现在做网站做移动应用最讲究的就是推广了,推广做的好那就成功了一大半,相对的没曝光产品再好也很难做下去。就这个角度而言绝大多数 Linux 命令行的推广简直是烂透了。繁多 Linux 有用极了的命令行工具就静静的躺在你发行版默认安装的包裹里,很多时候只有当你碰到什……
2019.11.28
2020.8.19
Linux
11732
24 分钟
命令行的艺术 熟练使用命令行是一种常常被忽视,或被认为难以掌握的技能,但实际上,它会提高你作为工程师的灵活性以及生产力。本文是一份我在 Linux 上工作时,发现的一些命令行使用技巧的摘要。有些技巧非常基础,而另一些则相当复杂,甚至晦涩难懂。这篇文章并不长,但当你能够熟练掌握这里列出的所有技巧时,你就学会了很多关……
2019.11.26
2020.8.19
6537
14 分钟
HTTP 状态码分类及解释 HTTP 协议中状态码繁多,本文介绍 HPPT/1.1 协议中各种状态码 Hypertext Transfer Protocol -- HTTP/1.1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 Status-Code = "100" ; Section 10.1.1: Continue | "101" ; Section 10.1.2: Switching Protocols | "200" ; Section 10.2.1: OK | "201" ; Section 10.2.2: Created | "202" ; Section 10.2.3: Accepted | "203" ; Section 10.2.4: Non-Authoritative Information | "204" ; Section 10.2.5: No Content | "205" ; Section 10.2.6: Reset Content | "206" ; Section 10.2.7: Partial Content | "300" ; Section 10.3.1: Multiple Choices | "301" ; Section……
2019.4.2
2020.8.19
466
1 分钟
入门 VSCode 插件开发 [toc] 核心组件 Electron Monaco Editor Language Server Protocol Debug Adapter Protocol Electorn (formerly Atom Shell) 基于 Node.js(作为后端)和 Chromium(作为前端) 使用 HTML, CSS 和 JavaScript 开发跨平台桌面GUI应用程序 使用者:Atom, Skype, GitHub Desktop, Slack, Microsoft Teams … Github传送门 Monaca Editor 基于浏览器的代码编辑器:IntelliSense,代码验证,语法高亮,文件比较 … 支持主流浏览器:……
2019.1.3
2020.8.19
Java
7688
16 分钟
ArrayList简介 ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用 ensureCapacity 操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 它继承于 AbstractList,实现了 List, RandomAccess, Cloneable, java.io.Serializable 这些接口。 - ArrayList 继承了AbstractList,实现了List。它是……
2019.1.3
2020.8.19
Java
4023
9 分钟
一 先从 ArrayList 的构造函数说起 ArrayList有三种方式来初始化,构造方法源码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 /** * 默认初始容量大小 */ private static final int DEFAULT_CAPACITY = 10; private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; /** *默认构造函数,使用初始容量10构造一个空列表(无参数构造) */ public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }……
2019.1.3
2020.8.19
Java
5318
11 分钟
HashMap 简介 底层数据结构分析 JDK1.8之前 JDK1.8之后 HashMap源码分析 构造方法 put方法 get方法 resize方法 HashMap常用方法测试 感谢 changfubai 对本文的改进做出的贡献! HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主……
2019.1.3
2020.8.19
Java
4585
10 分钟
简介 内部结构分析 LinkedList源码分析 构造方法 添加(add)方法 根据位置取数据的方法 根据对象得到索引的方法 检查链表是否包含某对象的方法: 删除(remove/pop)方法 LinkedList类常用方法测试: 简介 LinkedList是一个实现了List接口和Deque接口的双端链表。 LinkedL……
2019.1.3
2020.8.19
Java
3048
7 分钟
一 为什么 Java 中只有值传递? 首先回顾一下在程序设计语言中有关将参数传递给方法(或函数)的一些专业术语。按值调用(call by value)表示方法接收的是调用者提供的值,而按引用调用(call by reference)表示方法接收的是调用者提供的变量地址。一个方法可以修改传递引用所对应的变量值,而不能修改传递值……