无重复字符的最长子串—LeetCode03
无重复字符的最长子串 题目 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是"b",所以其长度...
无重复字符的最长子串 题目 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是"b",所以其长度...
两数向加 题目 给出两个 非空 的链表用来表示两个非负的整数。其中它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -...
两数之和_LeetCode01 题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0...
线程的取消与关闭 在看《java并发编程实战》中的线程的取消和关闭中看到两个例子比较有趣,因此记录下来。 程序目的 想通过某种动作来达到取消某个特定线程的执行,从而达到中断改线程的目的 自定义标志位来控制线程的中断 书中先展示了一种反例,通过自定义标志位来控制线程的中断 product class Producer{ /** * flag标志是否暂停生产 ...
AbstractQueuedSynchronizer的源码分析 AQS的全称是AbstractQueuedSynchronizer,AQS提供了一个以FIFO的队列,通过定义一系列阻塞线程的操作为ReentrantLock、ReentrantReadWriteLock、Semaphore、CountDownLatch提供了底层框架支持。 AbstractQueuedSynchronizer的实现类...
Guava的使用 线程池的使用 ListenableFuture是基于装饰器模式实现的 示例 String nameFormat = "thread_factory_%d"; ThreadFactory shardingThreadFactory = ShardingThreadFactoryBuilder.build(nameFormat); Execut...