自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 使用虚拟机遇到的一次问题——虚拟机ping不通网关

进入属性编辑器添加了网关,然后虚拟机可以ping通外网了,但是仍有问题是默认网关除了自已添加的以外,还有一个0.0.0.0,有资料说会有潜在问题,也没有具体了解,但是 ‘route delete 0.0.0.0’删了,检查了网络编辑器的设置,没有问题,主机ipconfig发现问题:默认网关没了。虚拟机可以ping到圆环地址,可以ping到同网段下其他虚拟机;虚拟机ping不到网关,ping不到外网。主机可以ping到虚拟机,外网;

2023-04-07 14:31:48 1181

原创 线程池源码(二)

代码】线程池源码(二)

2022-08-05 20:32:56 259

原创 线程池源码(一)

/ 线程池是running或者移除任务失败,判断工作线程是否为0, else if (workerCountOf(recheck) == 0) // 工作线程数为0,但是工作队列中有任务在排队,则任务无人处理 // 添加一个空任务,非核心线程,为了处理在工作队列中排队的任务 addWorker(null, false);} // 添加到任务队列失败,则创建非核心线程执行任务 // 如果这时创建非核心线程失败(当前线程不小于maximumPoolSize时),就会执行拒绝策略 else if (!...

2022-08-04 23:23:26 388

原创 mybatis的一级缓存

缓存,即存储在内存中的临时数据。对于一些数据,如果它们经常被访问到并且在一定时间内不会被改变,那么可以考虑将其缓存下来以提高查询的效率。之所以可以使用这种思路是因为内存的访问速度是很快的,远远快过访问网络或者磁盘的速度。...

2022-07-25 22:08:37 566

原创 算法之并查集整理

路径压缩是指在查询的过程中,更改节点的指向,使得树的高度更低,一般而言,有“隔代压缩”和“完全压缩”两种策略。按秩合并是指在合并的过程中,使得“高度”更低的树的根结点指向高度更高的根结点,以避免合并以后的树高度增加。并查集同时使用“路径压缩”和“按秩合并”,“合并”与“查询”的时间复杂度接近O(1);并查集的优化路径压缩(PathCompression)与按“秩(rank)”合并。路径压缩和按秩合并一起使用的时候,难以维护“秩”准确的定义,但依然具有参考价值。每个节点都保存了到节点的引用。.........

2022-07-17 22:16:57 89

原创 线程池原理

getTask方法中,核心线程会一直卡在workQueue.take方法,被阻塞并挂起,不会占用CPU资源,直到拿到Runnable然后返回(当然如果allowCoreThreadTimeOut设置为true,那么核心线程就会去调用poll方法,因为poll可能会返回null,所以这时候核心线程满足超时条件也会被销毁)。在构造方法中,创建了一个线程,线程的任务就是自己。线程池本身有一个调度线程,这个线程就是用于管理布控整个线程池里的各种任务和事务,例如创建线程、销毁线程、任务队列管理、线程队列管理等等。..

2022-07-17 22:03:13 174

原创 redis的数据结构和常用命令笔记整理

基本类型String是redis中最基本的数据类型,redis中的String类型是二进制安全的,即它可以包含任何数据

2022-07-14 22:16:17 386

原创 设计模式7大原则笔记整理

开闭原则的定义是对扩展开放,对修改关闭。当应用程序的需求需要改变或扩展时,我们应该在不修改其源代码的情况下,也能完成相应的目的。开闭原则的优点是:使得应用程序更易于维护和扩展。里氏替换原则的定义是继承必须确保超类所拥有的性质在子类中仍然成立,即在基类出现的地方,其子类一定可以出现,子类可以扩展基类的功能,但是尽量不要重写基类的功能。里氏替换原则的优点是: 可以规范我们在正确的地方使用继承,而不至于造成继承的使用泛滥。依赖倒转原则是实现开闭原则的基础,它的意思是当我们在编写面向对象的应用程序时,我们需要针

2022-07-13 22:16:07 90

原创 双重锁校验单例模式中的volatile

分析双重锁校验单例模式中的volatile为什么不可以省略。

2022-07-13 10:10:13 453

原创 多线程交替输出问题

面试常见题。问题描述:两个线程分别输出数字和字母,但是交替输出,最终输出结果为1a2b3c……;涉及到多线程锁的知识。使用wait和notify,即先定义一个锁,只有在线程持有锁的时候才可以打印,一个线程打印完成本次任务之后,唤醒另外一个线程执行打印,如此交替执行。解决方法二:使用ReentrantLock和Condition,这种方式的好处是可以实现更多线程的交替输出。可以将condition理解为锁的一个队列,每new一个condition,这个锁下面就多了一个队列,不同的队列中的线程可以精确

2022-07-11 22:18:50 458

原创 记使用springboot过程中遇到的一个问题

做一个项目,使用springBoot框架,结合mybatis-plus操作数据库,结果报错了:2022-04-17 09:15:37.329 ERROR 5716 --- [nio-8080-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request...

2022-04-17 09:26:15 2255

原创 SSM整合redis

因为有一个旧的SSM项目,想要在其中整合redis做缓存,但是之前都是使用的springBoot,所以在这里记录一下整合的过程。1. 首先在pom.xml中添加相关的依赖: <!-- redis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version&

2022-04-17 08:49:46 1572 1

原创 使用短信登录和注册的流程

现在各个网站普遍使用的登录认证方式是使用短信认证登录,并且在用户与服务器交互的过程中这部分功能需要被多次调用,所以在项目中不可避免地要包括这一部分,学习之后,在此记录其流程:实现短信认证登录可以有两种方式:基于session实现和基于redis实现。基于session实现的过程如下:如上图是黑马程序员课程中的一张图,描述了短信登录的过程,这一过程分为三部分分别实现:1. 发送短信验证码:用户在手机号输入框中输入一个手机号,然后点击发送验证码 系统校验这个手机号是否是一个正确的手机号

2022-03-14 19:05:49 7194

原创 解决mysql一段时间后不能启动

问题:同样的问题其实已经发生过好几次,就是本地计算机上的mysql服务器突然无法启动,在控制面板中尝试启动服务的时候报错:“本地计算上的mysql服务启动后停止。某些服务在未由其他服务或程序启动时将自动停止。”以前曾经“解决”过这个问题,加引号是因为每次解决问题都是以数据丢失为代价,但是随着学习的积累,已有的数据真的已经丢不起了!!(之前曾经尝试直接将data文件夹里的数据库文件备份出来,等到mysql可以启动之后在放回去,呵,天真!!幼稚!!)这次就来彻底解决这个问题!因为我已经解决了问题,又不方

2022-03-03 15:54:14 2213 1

原创 力扣刷题笔记:股票问题(一)

121.买卖股票的最佳时机应当这样理解本题:只要某天的股票价格高于买入的价格,那么就可以考虑卖出股票,如果以后有更好的方案则改变方案;假如我打算在某天卖出股票,那么一定当股票是在其价格最低点买入的时候,利润才是最大的;如果在今天之前的价格都高于当前价格,则考虑今天才买入,如果未来卖出,一定比之前任意一天买入的利润要高。综上,任意一天需要考虑的应当是两个值:之前的最低价格和当前价格,当当前价格高于最低价格时考虑卖出,否则更新最低价格。第一天的时候只能买入,不可卖出。class Solutio

2022-02-27 14:21:04 259

原创 力扣刷题笔记,回溯算法

力扣刷题笔记,回溯算法回溯算法是一种常用的解决问题的思想,其本质是不断“试错”,在正则表达式匹配、编译原理中的语法分析等实际的场景中都可以应用,还可以解决诸如数独、八皇后、图的着色、全排列等数学问题。其模板程序如下:const visited = {}function dfs(i) { if (满足特定条件){ // 返回结果 or 退出搜索空间 } visited[i] = true // 将当前状态标为已搜索 dosomething(i) //

2022-02-25 21:12:39 141

原创 hexo next 主题配置过程中遇到的问题

在添加了一些 页面之后,使用 hexo g命令时报错:ERROR Template render error: (D:\Blogs\themes\next\layout\page.swig);查阅资料,问题是下载的主题文件的版本不稳定,解决过程:1. 进入themes/next文件夹,使用命令git tag -1 查看所有版本2. 选择稳定版本,比如 v6.0.1,使用命令 git checkout tags/v6.0.1; 此时可能会报错error: Your local c....

2022-02-23 15:06:22 574

原创 力扣刷题笔记,8. 字符串整数转换

针对力扣第8题,重点学习JAVA实现自动机的写法。1.自动机  字符串中的数字为结果的条件是:这个数字(包含符号)的前面只有空格 每次输入的字符包括四种情况:空格“ ”,符号“+/-”,数字,其他。同时对应有四种状态:   -开始状态(start),即尚未读取到符号或者数字,只读取到空格或未读取   -符号状态(signed),即在开始状态下读取到一个符号   -拼数字状态(in_number),即在开始状态或者符号状态或者数字状态下又读取到一个数字   -结束状态(end),即已经读完数

2022-02-23 13:47:14 7602

原创 基于github搭建自已的个人博客

  昨天搭建了基于github 的个人博客,在此记录搭建过程。1. 环境准备1.1 git1.2 nodejs1.3 hexo1.安装命令:npm install hexo -g2.测试是否安装成功hexo -v3.安装hexo依赖npm install --save hexo-deployer-git常用的hexo的基本命令hexo new "postName" #新建文章hexo new page "pageName" #新建页面hexo generate #生

2022-02-23 12:32:37 709

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除