- 博客(22)
- 收藏
- 关注
原创 计算机操作系统学习笔记
文章目录计算机操作系统1.CPU管理操作系统的用户态,内核态。中断是进入从用户态进入内核态的唯一方法。2.多进程图像多进程组织:PCB+状态+队列线程管理的问题进程同步3.用户级线程4.内核级线程image-202204251851211955.内核级线程的实现6.CPU策略的调度7.一个实际的schedule函数8.进程同步与信号量9.信号量的临界区保护10.死锁11.内存使用与分段12.内存分区与分页13.多级页表和快表14.段页结合的实际内存管理15.请求调页内存换入16.内存换出17.I/O与显示器
2022-04-29 14:21:36 763
原创 计网学习笔记
文章目录参考资料:第一章:因特网概述1.1因特网结构1.2三种交换方式1.3计算机网络的分类1.4计算机性能指标1.5计算机网络体系结构第二章:物理层(光纤,双绞线)2.1光纤2.2传输方式2.3编码与调制第三章:数据链路层(交换机)3.1可靠传输概念1.封装成帧2.差错控制3.可靠传输image-202204191924499493.2可靠传输的实现机制1.停止等待协议SW(stop and wait)2.回退N帧协议GBN3.选择重传协议SR4.点对点PPP协议5.媒体接入控制MAC复用和多址码分复用C
2022-04-22 21:57:28 928
原创 JVM笔记
文章目录JVM1.类加载子系统1.类加载过程2.类的加载器1.启动类加载器2.扩展类加载器3.应用程序加载器(系统类加载器)4.获取类加载器3.双亲委派机制2.运行时数据区1.程序计数器2.虚拟机栈\* 存储单位:栈帧1.局部变量表各种变量的赋值2.操作数栈(表达式栈)代码追踪3.动态链接(指向运行时常量池的方法引用)静态链接和动态链接动态类型语言和静态类型语言方法重写的本质虚方法4.方法返回地址3.本地方法栈4.堆对象提升(promotion)规则TLAB逃逸分析、栈上分配、同步省略、标量替换5.方法区堆
2022-04-18 20:53:14 1240
原创 Java字符串拼接与intern()方法的理解
StringBuilder的toString()方法,不会在字符串常量池中存放字面量。在jdk8中,字符串常量池中存的可能是字面量,也可能是堆空间中的String对象地址。调用StringBuilder.toString().intern()方法时,会在字符串常量池中存入一个String("ab")对象的引用,此时再定义String s = "ab"时,s是上一步中创建再在常量池中的对象引用。
2022-04-17 19:07:37 190
原创 Shiro框架学习及SpringBoot与Shiro的整合
文章目录1.Cookie,Session,Tokenhttp无状态cookiesessiontoken总结如何保证token的安全性?Token授权机制:时间戳超时机制:签名机制:拒绝重复调用(非必须)2.Shiro1.什么是权限管理?2.什么是Shiro?2.1shiro特性,功能2.2外部结构来看:2.3 核心架构3. 认证3.1 认证的三个关键对象3.2 认证的开发4. 使用MD5和salt5.授权5.1 关键对象5.2 授权流程5.3 授权方式5.4 权限字符串5.5 授权编程实现方式5.6 开发授
2022-04-09 14:19:19 1426
原创 字符串哈希值
文章目录LC-2156 查找给定哈希值的子串字符串哈希算法:LC-187 重复的DNA序列解法1:哈希解法2:位运算【官方题解】解法3:字符串哈希LC-1044 最长重复子串字符串哈希LC-2156 查找给定哈希值的子串解法:为长度为k的每一个连续字符串计算哈希值。而长度为k的窗口滑动过程中,两个相邻的字符串哈希值计算是有规律的。记H(s,i,p) = s[i]*P^0 + s[i+1]*P^1 + … + s[i + k - 1]*P^(k - 1);则H(s,i+1,p) = s[i+1]*P
2022-04-04 17:19:02 2051
转载 ThreadLocal学习笔记
ThreadLocal参考资料:https://www.cnblogs.com/fsmly/p/11020641.htmlJDK中java.util.lang包下的类。ThreadLocal为变量在每个线程中都创建了一个副本,每个线程可以访问自己内部的副本变量,并且不会和其它线程的局部变量产生冲突,实现线程间的数据隔离。ThreadLocal的应用场景:保存线程上下文信息实现线程间的数据隔离数据库连接ThreadLocal简介ThreadLocal是除了加锁这种同步方式之外的一种保证一
2022-03-24 18:09:48 114
转载 AQS锁和同步器框架
AQS墙裂推荐:Java并发之AQS详解:https://www.cnblogs.com/waterystone/p/4920797.htmlAbstractQueuedSynchronizer, 一个用来构建锁和同步器的框架。ReentrantLock,Semaphore, FutureTask都是基于AQS来构建的。独占模式线程acquire流程此方法是独占模式下的线程获取共享资源的顶层入口。如果获取到资源,线程直接返回,否则进入等待队列,知道获取到资源为止,且整个过程忽略中断的影响。
2022-03-24 15:01:03 113
原创 三个线程轮流打印ABC
文章目录线程的创建死锁三个线程轮流打印ABC两个线程轮流打印奇偶数N个线程轮流连续打印1到100.线程的创建package JUC.juc1;public class CreateThread { public static void main(String[] args) { ThreadDemo1 threadDemo1 = new ThreadDemo1(); threadDemo1.setName("Thread Method"); t
2022-03-23 20:06:20 997
原创 JUC多线程学习笔记
文章目录1. 进程和线程概述Synchronized关键字多线程编程步骤Lock接口:手动加锁解锁可重入锁:`ReentrantLock`关于Lock接口lock接口的等待-通知模式2. 线程间通信synchronized实现this.wait(), this.notifyAll()虚拟唤醒问题reentrantlock实现condition.await(), condition.signalAll()3. 定制化通信使线程按定义的顺序工作AA打印5次,BB打印10次,CC打印15次。lock实现sync实
2022-03-23 20:05:21 486
原创 单例模式为什么使用双重检查机制?为什么用volatile修饰单例对象?
单例模式为什么使用双重检查机制?为什么用volatile修饰单例对象?为什么使用双重检查机制?如果单例已经创建了,直接调用synchronized加锁会比较消耗性能。所以首先判断对象有没有创建,没有创建再加锁。加锁为了只让一个线程去创建对象。第二层非空检查的原因是在同时多个线程调用时,A线程获得锁并创建成功实例,之后释放锁,前面一起竞争的B线程获得锁,首先判断非空,代表已经创建了,所以不会继续去创建实例。为什么单例对象要用volatile修饰?volatile是为了防止指令重排
2022-03-23 20:00:44 806
原创 LC-130被围绕的区域 | LC-547省份数量
文章目录LC-130 被围绕的区域LC-547 省份数量LC-130 被围绕的区域问题转化:如何寻找和边界联通的 ‘O’。1.先遍历最外圈(左右,上下),找到边界连通的 ‘O’。找到后可以进行dfs递归或者用队列,栈进行坐标位置存储。2.在递归中,或者在队列,栈中,对其四个方向进行遍历。一直递归下去,或者类似二叉树层序遍历,一边遍历,一边往队列或栈中添加元素。解题方法:dfs,递归。dfs,非递归,用栈。bfs,非递归,用队列。并查集,// dfs, 递
2022-03-08 19:49:54 155
转载 十大排序算法,复习
文章目录排序算法0.十大排序概览1.冒泡排序2.选择排序3.插入排序4.快速排序5.希尔排序6.归并排序(Merge sort)7.堆排序8.计数排序9.桶排序10.基数排序排序算法0.十大排序概览(1)关于时间复杂度:平方阶(O(N2))排序:插入排序,直接排序,冒泡排序线性对数阶(O(Nlog(N)))排序:快速排序、堆排序、归并排序线性阶(O(N))排序:基数排序(2)关于稳定性:*稳定性:在数组中,如果A和B相等且它们在排序过程中的向后顺序保持不变,则该排序算法为稳定的。稳定排
2022-03-06 21:49:41 196
原创 图像预处理,增强,旋转,翻转,缩放
图像增强,旋转,翻转,缩放xml解析,增强处理,写入xmlimport cv2import osimport imgaug as iaimport imgaug.augmenters as iaafrom imgaug.augmentables.bbs import BoundingBox, BoundingBoxesOnImagefrom tqdm import tqdmia.seed(1)import xml.etree.ElementTree as ETfrom xml.etre
2022-01-17 15:40:55 2330
原创 faster rcnn 环境配置——pytorch0.4
faster rcnn 环境配置1.装0.4.1版本的torch!!!以下是0.4.0会碰见的bugModuleNotFoundError: No module named ‘torch.autograd’‘ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.’https://pytorch.org/get-started/previous-versions/conda install pyt
2021-05-27 16:09:37 344
原创 Google Drive下载:文件ID生成chrome的下载直链(zip格式可用)
FileID换成Google Drive的文件IDhttps://drive.google.com/uc?export=download&id=FileIDSHREC2019数据集下载:https://drive.google.com/uc?export=download&id=1JBHkOqtVJF7L_32tb9AzJ6Yf71WUxItG
2021-01-18 15:05:59 4953 3
原创 bpy安装问题
通过whell文件安装bpywhell文件发布地址:(直接使用whell文件进行安装,已解决)https://github.com/TylerGubala/blenderpy/releasespypi地址:https://pypi.org/project/bpy/#descriptionbpybuild地址:https://github.com/TylerGubala/bpy-build/tree/bpy-make-compatibility...
2021-01-18 11:09:12 2439
原创 CSDN Markdown模板 2019.09.12 图文版
发布第一篇博客时,csdn上出现的markdown教程非常适合扔进收藏夹,可是怎么也找不到了.网上找了一篇博客,以图片截屏的方式再发布一遍,方便更直观的查找自己需要的语法.需要复制源码可转至其博客地址....
2020-11-08 22:19:03 200 3
原创 Vscode Markdown预览 回车换行 解决办法
按Ctrl+Shift+P调出搜索栏, 输入setting,找到Open Settings(JSON),在其中添加一行"markdown.preview.breaks":true.问题解决.
2020-11-08 21:47:47 3464
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人