Semaphore工作原理及源码分析
Semaphore
JDK的并发包中提供了几个非常有用的工具类,这些工具类给我们在业务开发过程中提供了一种并发流程控制的手段,本文会基于实际应用场景介绍如何使用Semaphore,以及内部实现机制[……]
For the things you love most
For the things you love most
JDK的并发包中提供了几个非常有用的工具类,这些工具类给我们在业务开发过程中提供了一种并发流程控制的手段,本文会基于实际应用场景介绍如何使用Semaphore,以及内部实现机制[……]
题目描述
给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。[……]
定义:图(graph)是由一些点(vertex)和这些点之间的连线(edge)所组成的;其中,点通常被成为”顶点(vertex)”,而点与点之间的连线则被成为”边或弧”[……]
有两种通用的遍历树的策略:
深度优先搜索(DFS)
DFS即Depth First Search,在这个策略中,我们采用深度作为优先级,以便从根开始一直到达某个确定的叶子,然后[……]
我把双指针技巧再分为两类,一类是「快慢指针」,一类是「左右指针」。
前者解决主要解决链表中的问题,比如典型的判定链表中是否包含环;后者主要解决数组(或者字符串)中的问题,比如二分查找。
题目描述
找到两个单链表相交的起始节点。
如下面的两个链表:
在节点 c1 开始相交。
注意:
如果两个链表没有交点,返回 null.
在返回结果后,两个链表仍须保持原有的结构。
可[……]
问题描述
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。
设置两个链表指针(fast, slow),初始值都指向链表头结点,然[……]
CMD指令用于指定一个容器启动时要运行的命令。
注意和RUN指令的区别,RUN是指定镜像被构建时要执行的指令,而CMD是指定容器被指定时要运行的命令。
CMD ["/bin/bash","-[......]
题目描述
给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
k 是一个正整数,它的值小于或等于链表的长度。
如果节点总数不是 k 的整[……]