- 博客(9)
- 收藏
- 关注
原创 ThreadPool线程池相关知识
和Runnable接口不一样,Callable接口提供了一个call()方法作为线程执行体,call()方法比run()方法功能要 强大。线程池(Thread Pool):把一个或多个线程通过统一的方式进行调度和重复使用的技术,避免了因为线程过多而带来使用上的开销。还有一个接口名为Future接口,一般用来接受线程池返回的Callable接口,接下来讲解线程池会使用到。的讲解,里面汇总了大量的线程池的知识!本篇文章主要是讲解利用线程池执行线程。以上就是常见的线程创建的四种方法,希望对大家有所帮助!
2023-05-02 11:47:25
166
原创 Leetcode235.二叉搜索树的最近公共祖先
如果在回溯算法中,或者后序遍历中,我们大部分时间是需要使用left和right存取数值并交给根节点进行处理的但是在面对一些已经知道具体顺序的树中,或者是前序遍历中,我们仅仅是进行查找数据,那么可以去使用单边遍历进行递归。
2023-04-21 17:06:12
178
原创 Git知识总结
Git三层结构三层结构详解工作区:及目前正在编辑的区域,可能是IDEA,可能是文本编辑器等等暂存区:将工作区的文件暂存到暂存区中,可以进行回退等操作本地版本库:将暂存库的文件提交到本地版本库中进行保存远程仓库:Gitee或Github上的仓库提交流程图文件的四种状态Untracked:未跟踪,此文件在文件夹中,但并没有加入到git仓库,不参与版本控制.通过git add状态变为Staged.在文件夹中新建了一个gittest文件,当前显示的就是Untracked。
2023-04-20 15:25:14
231
原创 伪共享问题即解决方式
由于缓存读取的机制,不是一次只读一行文字,而是一次读取一个CacheLine的数据(64位的CPU的CacheLine大小为64字节)。当两个无关的但经常被访问的数据同时存在于一个CacheLine中时,就会引发伪共享的问题。可以看到,x和y完全没有任何关系,但是更新x的时候会把其它包含x的缓存行失效,同时y也就失效了,运行这段程序输出的时间为3890ms。通过宏定义,将b强行放在a的下一行CacheLine中,这样,一次性就无法同时读取ab。宏定义,是用于解决伪共享的问题。应用层面(Java版)
2023-04-20 11:19:07
720
1
原创 LeetCode 222. 完全二叉树的节点个数 题目解析
回溯方式:将该节点的值从某个用于存放每次遍历的数组或列表中删除。记录方式:往往在最外层会定义一个用于存放每次遍历结果的集合。每次递归return的时候,就会对当前path进行处理并存入将要return的res集合之中。
2023-04-11 21:36:32
105
1
原创 springMVC报出org.springframework.web.util.NestedServletException: Handler dispatch failed;
springmvc版本与tomcat冲突
2023-02-06 13:02:15
1603
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅