-
基数排序:原理与实现
本文以维基百科作为主要参考资料,记录了我对基数排序的思考过程,既用于思维训练,也方便将来回顾。注:文中的 key 为待排序集合中的单个元素,与英文资料的指代相同(如维基百科和 CLRS 等)。主要内容: 1.概述 2.过程演示 LSD MSD 3.正确性分析 4.复杂度 5.代码实现 LSD: 十进制整数 MSD: 十进制整数 MSD 变种:二进制原地排序 1.概述基数排序 (Radix So...…
-
Docker 基础学习
Docker 的个人学习记录。不包含 Docker 安装内容(默认已完成)。 1. Docker 的意义 2. 官方教程 3. 主要概念和常用命令 4. demo 示例: 演示镜像构建及发布的过程 5. 本地运行 MySQL 6. 扩展阅读1. Docker 的意义介绍 docker 的文章实在太多了,所以这里就不长篇累牍地展开。简而言之,往大的方向说,企业可以通过使用容器工具 docker 和容器编排调度工具部署微服务应用、实现 DevOps 的交付方式;往小的方向说,在个人...…
-
Java 8 并发编程 (3/3):原子变量与 ConcurrentMap
原文地址:Java 8 Concurrency Tutorial: Atomic Variables and ConcurrentMap作者: winterbe AtomicInteger LongAdder LongAccumulator ConcurrentMap ConcurrentHashMap ForEach Search Reduce 欢迎来到由我编写的 Java 8 并发编程系列的第三部分。本篇的内容为并发 API 中...…
-
Java 8 并发编程 (2/3):同步与锁
原文地址:Java 8 Concurrency Tutorial: Synchronization and Locks作者: winterbe Synchronized 关键字 Lock 锁 ReentrantLock 可重入锁 ReadWriteLock 读写锁 StampedLock 邮戳锁 Semaphores 信号量欢迎来到由我编写的关于 Java 8 并发编程系列的第二部分。这个系列的文章将通过简单易懂的示例代码展示如何使用...…
-
Java 8 并发编程 (1/3):Thread 与 Executors
原文地址:Java 8 Concurrency Tutorial: Threads and Executors作者: winterbe Thread 与 Runnable Executors Callable 与 Future Timeout InvokeAll InvokeAny Scheduled Executors欢迎来到由我编写的关于 Java 8 并发编程系列的第一部分。这个系列的文章将通过简单易懂的示例代码展示如...…
-
Java 8 API 示例 - String, Number, Math 与 Files
原文地址:Java 8 API by Example: Strings, Numbers, Math and Files作者: winterbe 1. 字符串切片 2. 处理数字 3. 数学运算 4. 使用 Files 列出文件 查找文件 读写文件 关于 Java 8 变化的文章中,绝大部分内容都聚焦于 Lambda 表达式、函数式接口与 Stream. 但除此之外,在 JDK 8 中还有很多类被增强,加入了许多有用的特性和方法。这篇...…
-
Java 8 Stream 教程
原文地址:Java 8 Stream Tutorial作者: winterbe Stream 如何工作 不同类型的 stream 流操作处理的顺序 处理的顺序为何如此重要 可重用的 stream 高级操作 Collect FlatMap Reduce 并行流 That‘s it本文以示例代码为主深入浅出地讲解 Java 8 Stream。我在初次阅读 Stream API 时对这个名字感到困惑,因为这听起来与 Java I/...…
-
Java 8 基础教程
原文地址:Modern Java - A Guide to Java 8作者: winterbe这篇文章原本在我的博客发布。 你也该看看我的 Java 11 指南(包括 Java 9, 10, 11 的新语法特性以及新 API 的介绍)。欢迎阅读。这篇指南会一步步地引导你过一遍所有的 Java 8 新特性。通过简短的示例代码,你会学习到如何使用接口的默认方法、lambda 表达式、方法引用以及可重复注解(annotation)。文章结束时你将会熟悉大部分 API 的变化,如 stream...…
-
Nexus3 服务器部署
本文用于记录 Nexus(v3.21.1)在私人服务器上的部署过程,以便日后参考。Nexus 的官方名称为 Nexus Repository Manager,简称为 NXRM,因此 Nexus 3 又称 NXRM3。服务器环境:CentOS Linux 7,x86-64。 安装与运行 服务器配置 1. 系统服务 2. 反向代理与 SSL 安装与运行1. 下载和解压缩由于使用 wget 下载时会出现 connection timeout 问题,因此改...…
-
十种基础排序算法
1. 比较排序 1.1 选择排序 1.2 冒泡排序 1.3 归并排序 1.4 快速排序 算法过程 渐进复杂度 示例代码 退化的情况 与归并排序比较 总结 1.5 插入排序 1.6 希尔排序 1.7 堆排序 2. 非比较排序 2....…