- 博客(30)
- 收藏
- 关注
原创 RocketMQ的消息存储(持久化机制)
RocketMQ 主要存储的文件包括CommitLog文件、ConsumeQueue 文件、IndexFile文件。
2023-09-22 15:40:29 1036
原创 SpringBoot的事务与锁
数据库里的事务保证的是要么全部完成要么全部不起作用。在开启事务的时候,会有不同的数据库锁保证并发性。但是并不能保证我们执行逻辑的正确性,见下面的例子。本质的原因是,我们使用Java的对象锁,可以保证临界区只有一个线程访问,但是这和SpringBoot里加。所以本质就是第一个操作没加锁,除非直接加表级锁,但是效率太低了。第二步update就是当前读了,走了主键索引,会触发行级锁。所以可以用Java的对象锁来解决这个问题,但是不是简单的加。可以看出,加锁的类型是X型的记录锁,对那一行加了锁。
2023-04-28 15:27:20 2691
原创 Java中的lambda机制
在很久以前,逻辑学家Alonzo Church使用lambda(λ)来表示数学函数,λ的标记就是参数的意思。——参考《Java核心技术·卷I》
2023-03-22 10:44:33 115
原创 ImportError: cannot import name ‘crop‘ from ‘albumentations.augmentations‘
ImportError: cannot import name ‘crop’ from ‘albumentations.augmentations’解决方法pip install albumentations==1.1.0如果之前涉及到安装apexgit clone https://github.com/NVIDIA/apexcd apexpython3 setup.py install
2022-03-22 14:20:41 2023 2
原创 国科大自动课程评估简易脚本
主观题请自己填在引号之间方法打开F12点击console/控制台复制粘贴下面代码回车var tds = document.getElementsByTagName('td');for(var i = 0; i<tds.length;i+=5) tds[i].getElementsByTagName("input")[0].checked=true;document.getElementById("468").checked=true;document.getElementById
2021-10-20 15:02:16 1821 3
原创 使用ssh直连docker容器的方法 :解决Connection refused报错
尝试了太多次,流程都会背了首先使用root权限进入容器docker exec -it -u root [容器号] /bin/bash进入容器之后apt-get updateapt-get install openssh-serverapt-get install vim设置密码,输两次passwd修改配置文件vim /etc/ssh/sshd_config将PermitRootLogin prohibit-password修改为PermitRootLogin yes重启ssh服务s
2021-09-29 15:58:18 10435 12
原创 Flask-SocketIO使用相关
1.后端配置Flask-SocketIO==4.3.1python-engineio==3.13.2python-socketio==4.6.0Flask-SocketIO版本为5.x.x可能会报版本错误2.跨端通信需要加cors_allowed_originssocketio = SocketIO(app,cors_allowed_origins="*")3.emitSocketIO可以使用send()和emit()函数向连接的客户端发送消息。send()用于发送未命名事件消息,而e
2021-04-06 16:34:56 170
原创 flask-socketio的版本问题
报错The client is using an unsupported version of the Socket.IO or Engine.IO protocols (further occurrences of this error will be logged with level INFO)解决方案Flask-SocketIO==4.3.1python-engineio==3.13.2python-socketio==4.6.0
2021-04-06 15:41:33 2642 2
原创 算法——二分查找
算法练习——二分查找框架int binarySearch(int[] nums,int target){ int left = 0,right=...; while(...){ //防止left+right溢出 int mid=left+(right-left)>>1; if(nums[mid]==target){ ... }else if(nums[mid]<target){
2021-03-14 23:31:28 50
原创 算法——排序
算法练习——排序冒泡排序static void bubble_sort(int[] nums) { for (int i = 0; i < nums.length - 1; i++) { for (int j = 0; j < nums.length - 1 - i; j++) { if (nums[j] > nums[j + 1]) { int tmp = nums[j];
2021-03-14 23:30:40 44
原创 算法——链表
!!!学习自labuladong递归条件大问题拆成两个子问题——头结点和除头结点之外所有结点子问题求解方式和大问题一样存在最小子问题遍历方式void traverse(ListNode head) { // 前序遍历代码 traverse(head.next); // 后序遍历代码}双指针技巧——快慢指针fast = slow = head;while(fast!=null&&fast.next!=null){ fast
2021-03-08 00:02:54 66
原创 算法——二叉树和二叉搜索树
二叉树框架void traverse(TreeNode root){ //前序遍历 traverse(root.left); //中序遍历 traverse(root.right); //后序遍历}二叉树总结将题目细化为每个节点(root,left,right)需要做的事前序遍历还是后序遍历前序遍历:从上到下,以最下的分量思考后序遍历:从下到上,以最上的分量思考确定basecase经典例题226. 翻转二叉树翻转一棵二叉树。示例:
2021-03-07 20:40:18 383
原创 剑指记录
文章目录46.[dp]把数字翻译成字符串47.[dp]礼物的最大价值48.[dp]最长不含重复字符的子字符串49.[dp]丑数50.[hash]第一个只出现一次的字符46.[dp]把数字翻译成字符串**题目描述:**给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。输入: 12258输出: 5解释: 12258有5种不同
2021-01-28 10:56:39 111
原创 hexo环境配置解决网速过慢问题
HEXO环境配置之解决网速过慢确保已安装node.js安装hexo-cli# 确保已安装node.js# step1安装hexo-cli$ npm install -g hexo-cli# step2创建并进入文件夹<blog># 下载解压https://github.com/hexojs/hexo-startergit initgit submodule initgit submodule updatenpm install...
2021-01-03 21:25:56 418
原创 北航c++复习笔记
c++语法知识(一)宏1.常量宏作用:消除神仙数define PI 3.142.函数宏作用:小函数频繁调用#define ADD(a,b) a+b3.控制宏:开关4.补充(1)define中的三个特殊符号:#,##,#@#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #x封装...
2020-04-28 11:00:16 1156
原创 北航操作系统实验lab5总结
磁盘文件系统是一种设计用来利用数据存储设备来保存计算机文件的文件系统,最常用的数据存储设备是磁盘驱动器,可以直接或者间接地连接到计算机上。与此相对的是众多微内核中使用的用户空间文件系统,其特点是文件系统在用户空间中实现,通过特殊的系统调用接口或者通用机制为其他用户程序提供服务。整个文件系统包括以下几个部分:外部储存设备驱动 通常,外部设备的操作需要通过按照一定操作序列读写特定的寄存器来实...
2019-05-19 21:57:37 911
原创 北航操作系统实验lab4总结
syscall流程图(以writef())为例syscall_env_alloc是系统调用函数,最终执行的特定函数为sys_env_alloc() int r; struct Env *e; //给当前进程申请一个儿子进程 if ((r=env_alloc(&e, curenv -> env_id)) < 0) { ...
2019-05-05 18:37:44 1254
转载 JML语法整理
1.(/*@ pure @ */)表示纯粹查询方法,即方法的执行不会有任何副作用。public abstract /*@ pure @*/ int largest();二、JML表达式(一)原子表达式2.\result:表示一个非 void 类型的方法执行所获得的结果,即方法执行后的返回值。3.\old(expr):表示一个表达式expr在相应方法执行前的取值,该表达式涉及到评估exp...
2019-04-26 08:05:22 21968 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人