Fhawke
Home
Archives
Categories
Tags
About
阻塞与同步
网上有很多关于同步阻塞的资料,阐述的方式却有所区别,本人在阅读相关博客后,记录一下自己的理解 阻塞,非阻塞,同步,异步,IO多路复用 在进行网络IO时,会涉及到用户态和内核态,并且会在用户态和内核态之间完成数据交换,那么我们将IO操作分为两段 用户态等待内核态将数据准备好 将数据从内核态拷贝到用户态 而同步,异步,阻塞,非阻塞的区别,就是在于对这两个阶段不同的处理方式进行分类
2021-02-04
Java IO
IO
HashMap
2021-01-27
整数中1出现的次数
剑指 Offer 43. 1~n 整数中 1 出现的次数输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 输入:n = 12 输出:5 输入:n = 13 输出:6 解题思路:设数字n是一个x位数,可以表示为$$n{x}n{x-1}…n{2}n{1}$$将ni设置为当前位,ni-1
2021-01-27
剑指offer
数论
剪绳子
剑指 Offer 14- I. 剪绳子给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 输入: 2 输出: 1 解释: 2 = 1
2021-01-25
剑指offer
动态规划
数组中重复的数字
剑指 Offer 03. 数组中重复的数字找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 解题思路:这题为了降低时间复杂度,我们可以采用原地置换的方式,方法的思
2021-01-24
LeetCode
原地置换
线程池
线程池1. 线程池的好处 降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗 提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行 提高线程的可管理性:线程是稀缺资源,如果无限制的创建,那么,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配,调优和监控。 2. 线程池的实现原理当提交一个新任务到线程池时,线程池处理流程如下 线程池判断核心线程池
2021-01-16
JUC
线程池
ConcurrentHashMap
ConcurrentHashMap1. HashMap,HashTable,ConcurrentHashMap 线程不安全的HashMap 在多线程环境下(jdk1.8之前),使用HashMap进行put操作可能会引起死循环,导致CPU利用率接近100%,原因是多线程会导致HashMap的Entry链表形成环形数据结构,一旦形成环形数据结构,Entry的next节点永远不为空,就会产生死循环获取
2021-01-16
JUC
ConcurrentHashMap
AQS
AQSAbstractQueuedSynchronizer,简称AQS(同步器) 是用来构建锁或者其他同步组件的基础框架 使用一个int成员变量表示同步状态(state) 通过内置的FIFO队列来完成资源获取线程的排队工作 子类通过继承并实现它的抽象方法来管理同步器 队列同步器的接口同步器的设计基于模板方法模式 getState() 获取当前同步状态 setState() 设置当前
2021-01-15
JUC
AQS
Top K
剑指 Offer 40. 最小的k个数输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1] 输入:arr = [0,1,2,1], k = 1 输出:[0] 解题思路:排序取前k个排序后直接取值,无难度可言,使用这种解法容易
2021-01-15
剑指offer
top k
字符串的排列
剑指 Offer 38. 字符串的排列输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 输入:s = "abc" 输出:["abc","acb","bac","bca","cab","cba"] 解题思路:对于这种题目,我们可以首先画出递归树,确定状态变量,确定结束条件,剪枝等 对于此题,我们可以使用used表示该字母是否已经被遍
2021-01-15
剑指offer
回溯
1
2
3
…
5
Search
×
keyword