- 博客(50)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 JUC.atomic原子操作类原理分析
介绍java.util.concurrent.atomic包下类使用场景,着重介绍了Adder类分治思想实现高并发更新原理
2025-04-13 16:20:04
135
原创 并发阻塞队列原理分析
介绍常用阻塞队列区别及其实现原理,包括: ArrayBlockingQueue ,LinkedBlockingQueue,PriorityBlockingQueue,ConcurrentLinkedQueue,DelayQueue
2025-04-13 14:50:01
201
原创 ConcurrentHashMap 源码分析
介绍线程安全集合类 ConcurrentHashMap 源码,包括扩容,协助扩容,红黑树节点读写线程同步,插入元素后累加键值对数量操作原子性实现。
2025-04-13 14:45:00
265
原创 ThreadPoolExecutor源码分析
从类接口,成员变量,重点方法介绍线程池ThreadPoolExecutor和 ScheduledThreadPoolExecutor
2025-04-13 14:00:58
111
原创 算法-位运算
题目:一个数组中有两种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这两种数。一个数组中有一种数出现K次,其他数都出现了M次,要求,额外空间复杂度O(1),时间复杂度O(N)找到,出现了K次的数,
2024-02-20 17:17:55
466
原创 算法-最小栈
题目:实现一个特殊的栈,在基本功能的基础上,再实现返回栈中最小元素的功能。1)pop、push、getMin操作的时间复杂度都是 O(1)。2)设计的栈类型可以使用现成的栈结构。
2024-02-20 17:16:49
435
原创 算法-堆排序及其应用
题目:已知一个几乎有序的数组。几乎有序是指,如果把数组排好顺序的话,每个元素移动的距离一定不超过k,并且k相对于数组长度来说是比较小的。请选择一个合适的排序策略,对这个数组进行排序。
2024-02-20 17:12:16
383
原创 算法-链表操作
3)输入链表头节点,奇数长度返回中点前一个,偶数长度返回上中点前一个。4)输入链表头节点,奇数长度返回中点前一个,偶数长度返回下中点前一个。题目:给定一个单链表的头节点head,请判断该链表是否为回文结构。题目:将单向链表按某值划分成左边小、中间相等、右边大的形式。1)输入链表头节点,奇数长度返回中点,偶数长度返回上中点。2)输入链表头节点,奇数长度返回中点,偶数长度返回下中点。2)改原链表的方法就需要注意边界了(面试用)1)哈希表方法特别简单(笔试用)
2024-02-19 17:42:56
420
原创 算法-递归
题目:请把一段纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开。此时折痕是凹下去的,即折痕突起的方向指向纸条的背面。如果从纸条的下边向上方连续对折2次,压出折痕后展开,此时有三条折痕,从上到下依次是下折痕、下折痕和上折痕。给定一个输入参数N,代表纸条都从下边向上方连续对折N次。请从上到下打印所有折痕的方向。例如:N=1时,打印: down N=2时,打印: down down up。题目:打印中序遍历指定节点的后续节点。
2024-02-19 17:40:26
421
原创 算法-二叉树相关
题目:派对的最大快乐值 公司的每个员工都符合 Employee 类的描述。树的头节点是公司唯一的老板。派对的最大快乐值这个公司现在要办party,你可以决定哪些员工来,哪些员工不来,规则:1.如果某个员工来了,那么这个员工的所有直接下级都不能来2.派对的整体快乐值是所有到场员工快乐值的累加3.你的目标是让派对的整体快乐值尽量大给定一棵多叉树的头节点boss,请返回派对的最大快乐值。题目:给定一棵二叉树的头节点head,返回这颗二叉树中最大的二叉搜索子树的头节点(最大二叉搜索树是指改二叉树的节点数量最大)
2024-02-19 17:36:01
424
原创 算法-贪心算法
题目:输入: 正数数组costs、正数数组profits、正数K、正数M costs[i]表示i号项目的花费 profits[i]表示i号项目在扣除花费之后还能挣到的钱(利润) K表示你只能串行的最多做k个项目 M表示你初始的资金 说明: 每做完一个项目,马上获得的收益,可以支持你去做下一个项目。输出:你最后获得的最大钱数。‘X’表示墙,不能放灯,也不需要点亮‘.’表示居民点,可以放灯,需要点亮如果灯放在i位置,可以让i-1,i和i+1三个位置被点亮返回如果点亮str中所有需要点亮的位置,至少需要几盏灯。
2024-02-19 17:34:12
1948
1
原创 给定带权有向图生成最小生成树
题目:给定图及指定节点,返回Map,key为图所有节点,value为指定节点到key代表节点的最短距离。题目:给定带权有向图生成最小生成树。
2024-02-19 17:29:00
908
原创 IDEA快捷键(待完善)
Ctrl+Alt+Shift+U 打开类的继承层次图Ctrl+w 在当前光标位置开始扩大选择范围Ctrl+Shift+I 代码完补全时在选项列表中选择方法,类等,然后点击快捷键可以查看指定选项。并可以跳转到选项声明出进行更改。...
2020-03-17 15:36:03
151
原创 Windows下一键备份typro文档
需求:windows下编写脚本备份typro文档,使用WinRAR将文档打包,并推送到Github远程仓库。工具:typro:0.9.83 (beta)WinRAR:5.71中文版git:2.24.1.windows.2在git命令行输入git version可以查看本地使用WinRAR打包1、将来WinRAR安装目录添加到系统环境变量Path中,这样在bat中可以直接调用WinRAR...
2020-02-11 21:51:43
440
转载 windows10 使用mklink安装Chrome浏览器
windows 10 使用mklink指令注意,使用管理员权限进入C盘,然后运行cmd命令后执行mklink命令,否则会报错拒绝访问
2020-01-05 22:33:20
1927
原创 The origin server did not find a current representation for the target resource or is not willing to
问题描述:在使用IDEA创建web项目,并部署到Tomcat上,浏览器输入地址时出现错误。原因:我的是访问URL输入错误解决方式如下:标记5给出的才是正确的web应用访问方式,实际开发时候可以修改该URL(我出错的原因就是把项目名当成URL路径导致404错误)。另外,在IDEA中部署web应用到Tomcat上有两种方式,如果使用骨架创建web应用,在标记4的地方点击+会显示Artifact...
2020-01-01 17:17:13
369
原创 归并排序 --- 2路归并排序
/** * 将arr从start到mid(闭区间)和mid+1到end(闭区间)元素整合到store的start到end区间上 * @param store 最终排序的数组 * @param arr * @param start * @param mid * @param end */ public void mearg...
2019-09-08 22:42:06
152
原创 内部排序 --- 选择排序
简单选择排序/** * 简单选择排序,从待排序的序列中选择最小元素放在已排序序列的最后 * @param arr */ public void selectSort(int[] arr){ if(arr == null || arr.length == 0) return; for(int i = 0;...
2019-09-08 22:14:15
98
原创 内部排序 --- 插入排序
排序的分类标准有多种,如果按照排序过程中一句的不同原子对内部排序方法进行分类,大致可以分为:插入排序、交换排序、选择排序和基数排序。// 直接插入排序 java /** * 直接插入排序 空间复杂度为1 时间复杂度n*n * @param arr */ public void InsertSort(int[] arr){ if(arr ==...
2019-09-08 21:30:01
175
原创 处理Hash冲突的方法
1、开发定址发H(i) = (H(key) + di) mod m其中i =1,2,3 ... m-1m:hash表的长度H(key)为hash函数di为增量序列,序列的意思是如果得到的H(i)上已经有元素,取di+1。根据di的取值方式不同可以分为3中情况(1)、线性探测再散列这是di取值为1,2,3…m-1,缺点二次聚集,对查找不利,优点是,只要hash表没填满,总能找到一个...
2019-09-08 01:36:46
339
原创 Ieetcode 118. 杨辉三角
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。注意,方法返回值为 List<List>数据类型,在方法中先声明一个 List<List>引用,然后返回该引用,不能直接返回null,否则会出错。...
2019-05-25 23:43:44
116
原创 Ieetcode Easy 108. 将有序数组转换为二叉搜索树
题目:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。第一次提交代码public TreeNode solution(int[] nums){ TreeNode root = null; if(nums.length == 0) ret...
2019-05-25 22:02:41
173
原创 java程序执行流程
Java程序执行流程(大致描述了程序执行流程)运行程序时候为程序分配三个区域:方法区(类的方法具体实现和类的成员变量声明),堆(咋地程序运行时候使用new开辟的内存空间)和栈(程序实际运行所需的空间)。相关问题:java程序是如何运行的?是如何被JVM执行的?首先JVM找到包含main方法的类,然后将该类加载到方法区中。此时方法区包含该类的成员变量,成员方法(包括main方法)。接着执行m...
2019-02-21 16:49:52
3034
原创 JAVA学习笔记
摘要:关于java开发环境搭建,JDK下载安装,IDEA下载安装以及破解。1、JDK使用的是1.8.0_191版本2、IDEA使用的是2018.2.7版本1、JDK使用的是1.8.0_191版本JDK上传百度云 https://pan.baidu.com/s/1YHRovp3dh-Bc0WbaQKfA-g 距离现在有3个月了,并且安装的时候有如下提示:现在看来并没有多大影响。安装完...
2019-01-24 23:24:51
390
原创 Linux程序设计笔记(1)
本文当为学习《Linux程序设计》一书学习笔记。文章中连接参考如有侵权请联删shell脚本编程在调用C语言编译器的时候,可以使用-I 标志包含保存在子目录或非标准位置中的头文件。$ gcc -I/usr/openwin/include fred.c指示编译器不仅在标准位置,也在命令给出目录中查找程序fred.c中爆仓就的头文件。使用grep命令搜索目录下包含指定字段的文件$grep E...
2019-01-16 22:27:45
272
原创 QT 2D绘图
使用QPainter一般在一个部件重绘事件(Paint Event)的处理函数paintEvent()函数中进行绘制,首先创建QPainter对象,然后进行图形绘制,最后销毁QPainter对象。在paintEvent()函数中定义QPainter对象时候指定绘图设备,在QPainter构造函数中指明,或者使用begin指定绘图设备并且在绘图完成后调用end()函数结束绘制。在Qt creat...
2018-12-27 19:32:59
442
原创 Qt实例程序如何使用
Qt creator提供F1查看Reference Documentation的目录与Qt5.7.0\Examples\Qt-5.7目录下条目一一对应。该目录下是对应模块的例程,之前一致没发现还有这个规律,记录下以后方便学习查找。...
2018-12-20 19:03:14
1336
Qt中如何删除QSpacerItem
2018-08-24
递归函数参数个数出现问题,请问是哪里出现问题了?
2017-04-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人