- 孤独,所有人都是孤独的,没有人能独自超脱这一切。 ——玛娅·安杰格 0 前言 LinkedBlockingQueue - 单链表实现的阻塞队列。该队列按 FIFO(先进先出)排序元素,新元素从队列尾部插入,从队首获取元素.是深入并发编程的基础数据结构. 1 继承体系 Queue 作为最基础的接口,定义了队列的三大类基本操作: Block... 孤独,所有人都是孤独的,没有人能独自超脱这一切。 ——玛娅·安杰格 0 前言 LinkedBlockingQueue - 单链表实现的阻塞队列。该队列按 FIFO(先进先出)排序元素,新元素从队列尾部插入,从队首获取元素.是深入并发编程的基础数据结构. 1 继承体系 Queue 作为最基础的接口,定义了队列的三大类基本操作: Block...
- 简介 miniJVM 作为一个 mini 的 Java VM,实现了 Switch 解释器,并不支持主流 JVM 的 JIT 或者更为复杂的 AOT。但这样对于我们了解字节码的执行已经足够了。 字节码指令 基于堆栈 字节码指令类似于汇编指令,但是不同的是: 一行汇编代码的格式一般都是 – opcode 操作数1 操作数2然而字节码指令格式是 opcode + 栈 字... 简介 miniJVM 作为一个 mini 的 Java VM,实现了 Switch 解释器,并不支持主流 JVM 的 JIT 或者更为复杂的 AOT。但这样对于我们了解字节码的执行已经足够了。 字节码指令 基于堆栈 字节码指令类似于汇编指令,但是不同的是: 一行汇编代码的格式一般都是 – opcode 操作数1 操作数2然而字节码指令格式是 opcode + 栈 字...
- 不知道自己无知,乃是双倍的无知。 ——柏拉图 0 前言 此类包含用于操纵数组的各种方法(例如排序和搜索)。 此类还包含一个静态工厂,该工厂允许将数组视为列表。 如果指定的数组引用为null,则除非另有说明,否则此类中的方法都抛出NullPointerException。 此类中所包含方法的文档包括对实现的简要说明。 此类描述应被视为实现的说明,而不是标准。... 不知道自己无知,乃是双倍的无知。 ——柏拉图 0 前言 此类包含用于操纵数组的各种方法(例如排序和搜索)。 此类还包含一个静态工厂,该工厂允许将数组视为列表。 如果指定的数组引用为null,则除非另有说明,否则此类中的方法都抛出NullPointerException。 此类中所包含方法的文档包括对实现的简要说明。 此类描述应被视为实现的说明,而不是标准。...
- ASM的TreeApi 对于Method的转换、生成也提供了一系列的组件和接口。 MethodNode中大多数属性和方法都和ClassNode类似,其中最主要的属性就是InsnList了。 InsnList是一个双向链表对象,包含了存储方法的字节指令序。先来看下InsnList中的主要是属性和方法。 Java代码 pu... ASM的TreeApi 对于Method的转换、生成也提供了一系列的组件和接口。 MethodNode中大多数属性和方法都和ClassNode类似,其中最主要的属性就是InsnList了。 InsnList是一个双向链表对象,包含了存储方法的字节指令序。先来看下InsnList中的主要是属性和方法。 Java代码 pu...
- 1 概述 ASM是Java中比较流行的用来读写字节码的类库,用来基于字节码层面对代码进行分析和转换。 ASM是一个Java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。 ASM可以直接产生二进制class文件,也可在类被加载入虚拟机之前动态改变类行为, ASM从类文件中读入信息后,能够改变类行为,分析类信息,甚至能根据要求生成新类。目前许多框架如cgl... 1 概述 ASM是Java中比较流行的用来读写字节码的类库,用来基于字节码层面对代码进行分析和转换。 ASM是一个Java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。 ASM可以直接产生二进制class文件,也可在类被加载入虚拟机之前动态改变类行为, ASM从类文件中读入信息后,能够改变类行为,分析类信息,甚至能根据要求生成新类。目前许多框架如cgl...
- 人一旦与自己相认,也就没那么合群了。 ——《半山文集》 0 前言 无序的 HashMap ,按 key 排序的 TreeMap ,那么 LinkedHashMap特点在哪呢 - 维护插入的顺序.LinkedHashMap 也同样出自于 Bloch之手(开发了整个 Java 集合框架的男人). 元素存储关系 红黄箭头:元素添加顺序 蓝箭头:单链表各个元素的存... 人一旦与自己相认,也就没那么合群了。 ——《半山文集》 0 前言 无序的 HashMap ,按 key 排序的 TreeMap ,那么 LinkedHashMap特点在哪呢 - 维护插入的顺序.LinkedHashMap 也同样出自于 Bloch之手(开发了整个 Java 集合框架的男人). 元素存储关系 红黄箭头:元素添加顺序 蓝箭头:单链表各个元素的存...
- 小码哥数据结构与算法(一): 动态数组 本篇是恋上数据结构与算法(第一季)的学习笔记, 使用JAVA语言 一、数组(Array) 数组是一种顺序存储的线性表,所有元素的内存地址都是连续的 int[] array = new int[]{11, 22, 33}复制代码 在很多编程语言中, 数组有个致命的... 小码哥数据结构与算法(一): 动态数组 本篇是恋上数据结构与算法(第一季)的学习笔记, 使用JAVA语言 一、数组(Array) 数组是一种顺序存储的线性表,所有元素的内存地址都是连续的 int[] array = new int[]{11, 22, 33}复制代码 在很多编程语言中, 数组有个致命的...
- 强类型语言 强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就死该数据类型。 强类型语言包括:Java、.net、Python、C++等语言。其中Python是动态语言,是强类型定义语言,是类型安全的语言,Java是静态语言,是强类型定义语言,也是类型安全的语言。 强类型接口设计 使用 feigh 设计强类型接口 弱类型语言 ... 强类型语言 强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就死该数据类型。 强类型语言包括:Java、.net、Python、C++等语言。其中Python是动态语言,是强类型定义语言,是类型安全的语言,Java是静态语言,是强类型定义语言,也是类型安全的语言。 强类型接口设计 使用 feigh 设计强类型接口 弱类型语言 ...
- 链表的经典应用场景就是LRU缓存淘汰算法。 缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非常广泛的应用,比如常见的CPU缓存、数据库缓存、浏览器缓存等等。 缓存的大小有限,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留?这就需要缓存淘汰策略来决定。常见的策略有三种:先进先出策略FIFO(First In,First Out)、最少使用策... 链表的经典应用场景就是LRU缓存淘汰算法。 缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非常广泛的应用,比如常见的CPU缓存、数据库缓存、浏览器缓存等等。 缓存的大小有限,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留?这就需要缓存淘汰策略来决定。常见的策略有三种:先进先出策略FIFO(First In,First Out)、最少使用策...
- 对类的植入锁定进行判断 几个可以对覆盖率跟踪的Java类定义进行instrument的API public byte[] instrument(final ClassReader reader) { final ClassWriter writer = new ClassWriter(reader, 0) { @Override protected String... 对类的植入锁定进行判断 几个可以对覆盖率跟踪的Java类定义进行instrument的API public byte[] instrument(final ClassReader reader) { final ClassWriter writer = new ClassWriter(reader, 0) { @Override protected String...
- 1 前言 介绍一下 Linux 内核中文件 Cache 管理的机制。本文以 2.6 系列内核为基准,主要讲述工作原理、数据结构和算法。 2 操作系统和文件 Cache 管理 对于存储设备上的数据,操作系统向应用程序提供的逻辑概念就是"文件"。应用程序要存储或访问数据时,只需读或者写"文件"的一维地址空间即可,而这个地址空间与存储设备上存储块之间的对应关系则由操作系统维护... 1 前言 介绍一下 Linux 内核中文件 Cache 管理的机制。本文以 2.6 系列内核为基准,主要讲述工作原理、数据结构和算法。 2 操作系统和文件 Cache 管理 对于存储设备上的数据,操作系统向应用程序提供的逻辑概念就是"文件"。应用程序要存储或访问数据时,只需读或者写"文件"的一维地址空间即可,而这个地址空间与存储设备上存储块之间的对应关系则由操作系统维护...
- 0 前言 与 ArrayList 一样实现了 List 接口,只是 LinkedList 底层结构为链表.在插入和删除时更优于 ArrayList,而随机访问则比 ArrayList 稍逊. 其允许元素包括 null.除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将... 0 前言 与 ArrayList 一样实现了 List 接口,只是 LinkedList 底层结构为链表.在插入和删除时更优于 ArrayList,而随机访问则比 ArrayList 稍逊. 其允许元素包括 null.除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将...
- 概述 排序有内部排序和外部排序 内部排序是数据记录在内存中进行排序外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存 时间复杂度为最差情况下的复杂度 八大排序就是内部排序 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快排,堆排,归排 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机... 概述 排序有内部排序和外部排序 内部排序是数据记录在内存中进行排序外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存 时间复杂度为最差情况下的复杂度 八大排序就是内部排序 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快排,堆排,归排 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机...
- 0 二者总体功能对比 Open Cover 官方给出的详细对比 http://openclover.org/doc/manual/latest/general–comparison-of-code-coverage-tools.html#Comparisonofcodecoveragetools-legend 1 数据结构对比 1.1 UML 图 cober... 0 二者总体功能对比 Open Cover 官方给出的详细对比 http://openclover.org/doc/manual/latest/general–comparison-of-code-coverage-tools.html#Comparisonofcodecoveragetools-legend 1 数据结构对比 1.1 UML 图 cober...
- JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。 创建数组 var fruits = ['Apple', 'Banana']; console.log(fruits.length); // 2 1234 通过索引访问数组元素 var first = fruits[0]; // Apple var last = f... JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。 创建数组 var fruits = ['Apple', 'Banana']; console.log(fruits.length); // 2 1234 通过索引访问数组元素 var first = fruits[0]; // Apple var last = f...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签