线程 机制 状态 代码
设计模式-状态模式
状态模式的使用 代码中包含大量与对象状态有关的条件语句。 方法 将各种具体的状态类抽象出来。 优点 结构清晰,避免了过多的switch…case或if…else语句的使用。 很好的体现了开闭原则和单一职责原则,想要增加状态就增加子类,想要修改状态就修改子类即可。 封装性非常好,状态变化放置到了类的内 ......
day06 代码随想录算法训练营 242. 有效的字母异位词
题目:242. 有效的字母异位词 我的感悟: 卡尔的思路,挺好。简单易懂。 理解难点: 没有难点 总结概况: 建立数组存 遍历一遍 ++ 遍历一遍 -- 再遍历一遍 判断0 代码示例: class Solution: def isAnagram(self, s: str, t: str) -> bo ......
day04 代码随想录算法训练营 24. 两两交换链表中的节点
题目:24. 两两交换链表中的节点 我的感悟: 我感觉,python中对链表的概念,很弱。 链表在现在语言中,用的不多。 先搁置。 理解难点: 可以看懂代码。 总结概括: 代码示例: # Definition for singly-linked list. # class ListNode: # d ......
代码随想录算法训练营第二十天|654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树
一、654.最大二叉树 题目链接: LeetCode 654.最大二叉树 学习: 思路: 前序遍历 方法参数:(int[] nums, int start, int end) 返回类型:TreeNode 终止条件: if(end-start==0) return null; if(end-start ......
低代码如何实现插件化架构?
大家好,本文介绍了实现插件化的低代码架构的思路,以及在Meta3D(开源Web3D低代码平台)中具体实现的方案 需求 有同学想做个编辑器,希望可以随意替换引擎、编辑器UI,能以插件的形式进行扩展,问该如何实现? 下面,我们首先给出抽象的解决方案: 抽象的解决方案 如上图所示,编辑器由多个积木组成,其 ......
【多线程】线程池
一、线程池的优势 降低资源消耗。通过复用已创建的线程降低创建和销毁造成的消耗 提高响应速度。当任务到达后,任务可以不需要等待线程创建就能立即执行。 提高线程的可管理性。无节制的、随意的、不可控的创建线程会降低系统的稳定性以及提供不可控性。使用线程池可以统一管理、监控。 二、创建线程池 1、线程池参数 ......
day03 代码随想录算法训练营 206. 反转链表
题目:206. 反转链表 我的感悟: 理解cur是什么? 相信自己!! 代码难点: cur = head 可以省略不 每一个步骤里的cur是什么 代码示例: # Definition for singly-linked list. # class ListNode: # def __init__(s ......
【JVM】一文掌握JVM垃圾回收机制
作为Java程序员,除了业务逻辑以外,随着更深入的了解,都无法避免的会接触到JVM以及垃圾回收相关知识。JVM调优是一个听起来很可怕,实际上很简单的事。 感到可怕,是因为垃圾回收相关机制都在JVM的C++层实现,我们在Java开发中看不见摸不着;而实际很简单,是因为它说到底,也只是JVM替我们实现的 ......
代码随想录 day06 有效的字母异位词 返回数组的交集 找快乐数 两数之和
有效的字母异位词: 思路比较简单 由于范围比较小 只有小写字母为范围 利用26大小的数组 遍历字符串 第一个串在对应下标++ 第二个++ 然后数据存在不为零就是不一样的 不存在则时字母异位词 返回数组的交集 由于要返回的是交集 就是查找两个集合出现的元素 想到要使用hash map 具体的数据结构而 ......
uni app 上拉加载下拉刷新代码
uni app 上拉加载下拉刷新代码 先记下来,以后备用 <template> <view class="app"> <u-row> <u-col span="4"> <!-- <mix-list-cell :title="category.caname" @onClick="show=true"> ......
使用 callgrind 在 Linux 进行局部代码性能分析
VS 的性能剖析器可以很方便在选定的代码之间(用断点或者别的什么控制)进行性能剖析,这个功能在大型项目里是十分重要的。linux 有比 win 下更强的,更深入的性能剖析器,但是很遗憾,pref 之类的这些剖析器都是输出整个程序运行的信息的,反而会让你找不到需要关键信息。 找了很久,最后在 Visu ......
代码随想录算法训练营第14天 | lc104、lc111、lc222
(本合集全部为Go语言实现) 相关文章链接:104题解 111题解 222题解 相关视频链接: Leetcode104 状态:这种简便的写法一开始忘了,看了题解才想到 实现过程中的难点:需要首先明确最终答案的得出是模拟了那种遍历方式 个人写法 func maxDepth(root *TreeNode ......
代码随想录算法训练营第13天 | 树的层序遍历、lc226、lc101
(本合集全部为Go语言实现) 相关文章链接:层序遍历题解 226题解 101题解 相关视频链接: Leetcode102 状态:迭代写法秒了,递归写法确实吗,没太能想到 实现过程中的难点:递归写法中,思想要转变。迭代写法是真正的按层遍历,递归写法是以类似深度优先的方式将遍历结果放到不同的层级的集合当 ......
代码随想录 小结02 链表
第一题 移除链表元素 这题比较简单 使用dummyHead的方式会比较简单 不需要对头指针进行单独处理 但是空间开销会大一些 第二题 设计链表类 这个没什么好说的 感觉有可能一些细节会忘记 需要经常复习的一块 第三题 反转链表 这题难度不大 用一个tmp指针存储一下当前指针的next 然后直接反转就 ......
代码随想录算法训练营第十八天 | 513.找树左下角的值,112. 路径总和,113.路径总和ii,106.从中序与后序遍历序列构造二叉树,105.从前序与中序遍历序列构造二叉树
一、513.找树左下角的值 题目链接: LeetCode 513.找树左下角的值 学习前: 思路: 层序遍历。采用递归和迭代两种方式 递归:定义最大深度和目标值两个成员变量,方法参数是结点和当前结点的深度;返回类型为void;终止条件为结点为空;单次循环内容为判断该节点是否符合目标要求,且分别传入左 ......
浅谈一类状态转移依赖邻项的排列计数问题 - 连续段 dp
UPD 2023.12.31:失手把原来的博文删掉了,这篇是补档。 引入 在一类序列计数问题中,状态转移的过程可能与相邻的已插入元素的具体信息相关(e.g. 插入一个新元素时,需要知道与其插入位置相邻的两个元素的值是多少,才可进行状态转移,如「JOI Open 2016」摩天大楼)。这类问题通常的特 ......
代码随想录 小结01 数组
数组篇一共有五个题目 第一题二分查找 值得注意的是,要自己想好 区间的边界到底是写左闭右开 还是左闭右闭 根据边界不同 while的条件和左右指针的移动会有差别 目前我的习惯是写左闭右开 还是固定一下习惯比较好 第二题是实现数组类的erase() 使用快慢指针可以做到在数组原地进行指定元素的移除而不 ......
浅谈一类状态转移依赖邻项的排列计数问题 - 连续段 dp
UPD 2023.12.31:失手把原来的博文删掉了,这篇是补档。 引入 在一类序列计数问题中,状态转移的过程可能与相邻的已插入元素的具体信息相关(e.g. 插入一个新元素时,需要知道与其插入位置相邻的两个元素的值是多少,才可进行状态转移,如「JOI Open 2016」摩天大楼)。这类问题通常的特 ......
unity脚本用vs打开没有代码提示的坑
看了网上好多帖子,各种工具都装上了,没办法解决了,把最后试出来的结果如下,把下面的勾全部打上就有了, 具体原因还不确定,先就这样学习吧,等以后深入了再来研究原因。最后一定要点击一个Regenerate project files ......
数据库超线程效果的一个验证
数据库超线程效果的一个验证 背景 元旦加班期间,一直跟着同事再查一个项目的卡顿问题. 自己想到了一个提高测试环境性能的方法. 然后趁着元旦用的人少进行了一下验证. 在业务空闲期间, 批量进行Oracle数据库的统计信息更新动作. 自己一开始担心的是 如果数据量很大, 执行时间很长,如果影响到正常业务 ......
代码随想录算法训练营第12天 | 树的遍历
(本合集全部为Go语言实现) 相关文章链接:递归遍历 迭代遍历 统一迭代法 相关视频链接: Leetcode94 状态: 实现过程中的难点:迭代法的模拟过程比较难想 个人写法 递归方式 func inorderTraversal(root *TreeNode) []int { var res []i ......
一个开源的网址导航网站项目,拿来即用(代码已开源)
元旦假期, 在家闲来无事,逛了逛github的一些开源项目,发现了一个网址导航站,但是基于webpack开发的,并不是全静态html,故鄙人将里面的html页面全部拆出来,实现了全静态html部署。 源码地址 https://github.com/geeeeeeeek/web_tool 部署步骤 将 ......
读书笔记《第一行代码》
第一行代码这本书很详细的讲解了Android的各个组件、布局、控件,适合于初学者的一本书!而且里面也讲了Android工具的安装,开发环境的配置;但是这本书里面没有Java或者kotlin的任何东西,如果正真要做自己的APP的话,读者还需要,先学习一下Java或者Kotlin!在这里建议去看看Jav ......
利用强化学习算法解释人类脑对高维状态的抽象表示:how humans can map high-dimensional sensory inputs in actions
论文: 《Using deep reinforcement learning to reveal how the brain encodes abstract state-space representations in high-dimensional environments》 地址: http ......
day03 代码随想录算法训练营 203. 移除链表元素
题目: 203. 移除链表元素 我的感悟: 题目里的节点是已经给好的, 创建虚拟节点,是为了方便处理头节点。 加油,我可以的!!!!! 理解难点: 节点已经给好的 创建虚拟节点 代码难点: p是临时变量,类似于for i in range(10) 这里的i,本身是用完就扔的。 返回值为什么不能是p. ......
list容器介绍代码
#include<iostream> #include<list> #include<algorithm> using namespace std; int main(){ list<int> a; int b[]={1,2,3,4}; list<int> c(b,b+sizeof(b)/sizeo ......
完成了几个 Mumps 的测试代码
经过几天的研究,终于是慢慢适应了 mumps 的糟糕写法。 最后居然还是 ChatGPT 帮了不少忙。 对于这种比较古老的语言,并且还比较脚本化的语言,ChatGPT 还真不错。 不需要 Google 到处找答案,ChatGPT 能够比较快的给出一些示例代码,虽然这些代码最后不一定都能顺利跑通,但上 ......
黑马程序员《苍穹外卖》项目Day02-02-新增员工_代码开发
官方文档有个坑, 按照教程,在employee实体类中跟employeeDTO类的部分字段是重合的,所以可以直接使用spring提供的方法复制字段。 但是,官方文档中的employeeDTO类是不完整的,只有username和password两个字段。因此在前端提交员工的字段时会出错,首要原因是数据 ......
代码随想录算法训练营第11天 | lc239、lc347
(本合集全部为Go语言实现) 相关文章链接:239题解 347题解 相关视频链接: Leetcode239 状态:记得是单调队列,但实际忘了实现细节,想了很久 实现过程中的难点:首先是得想到用单调队列解题,其次要搞明白单调队列的入队和出队的实现细节 本题中单调队列的细节 为什么不是优先队列:优先队列 ......
【Java】一文讲解Java类加载机制
Java 类加载机制是 Java 运行时的核心组成部分,负责在程序运行过程中动态加载和连接类文件,并将其转换为可执行代码。理解类加载机制,能更容易理解你一行行敲下的Java代码是如何在JVM虚拟机上运行起来。并且理解类加载机制之后,我们也能掌握如何自定义类加载器,如何做热更新等。 // 准备好了吗, ......