自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux不显示路径,而是显示为-bash-4.1# 如何更改回来

问题linux路径显示为-bash-4.1原因可能是因为修改或者误删了bash_profile文件更改步骤编辑 bash_profile 文件,不用管是否有这个文件,新建也可以vim ~/.bash_profile插入下面的指令,注意 \h 和 $ 后面均有一个空格export PS1='[\u@\h \W]\$ '保存并退出,然后执行下面的指令来生效:source ~/.bash_profile如图,恢复回来了参考文章:linux shell不显示路径而显

2021-08-23 10:36:24 569

原创 yum install 命令错误/Cannot find a valid baseurl for repo解决方法

今天在Linux上安装gcc时,使用 yum install gcc 命令时出错了:Loading mirror speeds from cached hostfileYumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid release/repo/arch combination/removing mirrorlist with no valid mirrors: /var/cache/yum/x

2021-05-27 21:04:42 2317

原创 操作系统笔记:用户态与内核态、中断与系统调用

内核用户态和内核态用户态和内核态是处理器的两种状态当CPU处于用户态时,只能执行**非特权指令;**当CPU处于核心态时,特权指令、非特权指令都可以执行特权指令:如内存清零指令;非特权指令:如普通的加减乘除运算指令用程序状态字寄存器(PSW)的某个标志位来标识当前处理器所处的状态,比如0为用户态,1为核心态用户态转换为内核态是通过中断实现的,并且中断是用户态进入核心态的唯一途径核心态转换为用户态:通过执行一个特权指令,将程序状态字寄存器(PSW)的标志位设置为用户态来实现的两种程序内核

2021-05-08 19:58:00 1000

原创 操作系统笔记:虚拟内存与页面置换算法

虚拟内存局部性原理虚拟内存的定义程序只需要装入部分即可执行,将程序中会用到的部分装入内存,暂时用不到的部分留在外存,即可运行程序在运行过程中,如果需要的信息在外存中,就由操作系统负责将外存中的数据调入到内存中,继续执行程序如果内存空间不够了,就由操作系统负责将内存中暂时用不到的信息换出到外存在操作系统的管理下,在用户看来,好像内存要比实际的内存要大的多,这就是虚拟内存技术虚拟内存是操作系统虚拟性的一个体现,实际的物理内存并没有变,只是在逻辑上进行了扩充虚拟内存技术的实现建立在离散

2021-05-08 19:54:06 665

原创 力扣 718题 最长公共子数组解析(同最长公共子串)

题目给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。解法本文在官方题解的基础上加了一点解释,作为补充,建议与力扣官方题解一起观看1. 动态规划1.1 思路dp[i][j]表示nums1[i...end]与nums2[j...end]的最长公共前缀部分的长度如果 nums1[i] == nums2[j],那么 dp[i][j] = dp[i + 1][j + 1] + 1如果 nums1[i] != nums2[j],那么前缀部分肯定是不相同的,所以 dp[

2021-05-07 17:04:02 443

原创 MySQL的并发控制(锁、数据库死锁、MVCC)

并发控制只要有多个查询需要在同一时刻修改数据,都会产生并发控制的问题并发控制是指,在处理并发读或者写时,可以通过实现一个由两种类型的锁组成的锁系统来解决问题这两种类型的锁通常被称为共享锁(shared lock)和排他锁(exclusive lock),也叫读锁(read lock)和写锁(write lock)锁的概念读锁是共享的,或者说是相互不阻塞的。多个客户在同一时刻可以同时读取同一个资源,而互不干扰写锁则是排他的,也就是说,一个写锁会阻塞其他的写锁和读锁,只有这样,才能

2021-05-07 11:05:52 297 2

原创 MySQL的事务问题总结(ACID、隔离级别、脏读幻读不可重复读)

MySQL的事务什么是事务?事务就是一组原子性的SQL操作或者一个独立的工作单元,事务内的语句要么全部执行成功,要么全部执行失败。事务是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。什么是一致性状态假设我们10个人,每人有一个账号,里面有钱,可以转来转去,这组成了一个小型的数据系统,那么什么叫数据一致性?这是由你自己来定义的,比较通用的就是:这10个人的账号金额总数不变——满足这一条件,就叫数据一致,不满足,就叫数据不一致,或者在分布式的环境下,有一个数

2021-05-07 11:00:07 345 2

原创 Redis的分布式锁(持续更新)

分布式锁加锁操作一般来说,在对数据进行“加锁”时,程序首先需要通过获取(acquire)锁来得到对数据进行排他性访问的能力,然后才能对数据执行一系列操作,最后还要将锁释放( release)给其他程序。对于能够被多个线程访问的共享内存数据结构( shared-memory data structure )来说,这种“先获取锁,然后执行操作,最后释放锁”的动作非常常见。Redis的加锁Redis 使用 WATCH 命令来代替对数据进行加锁,因为 WATCH 只会在数据被其他客户端抢先修改了的情况下通知

2021-05-07 10:55:28 112

原创 Redis的应用问题及解决(缓存穿透、缓存击穿、缓存雪崩)

缓存穿透、缓存击穿、缓存雪崩1 缓存穿透(简单记忆:查数据库中没有的数据)1.1 具体过程用户访问浏览器,浏览器访问web服务器,那么web服务器每次肯定都先查缓存(Redis),缓存中有数据直接返回,没有数据就去查数据库,返回,同时将数据放在缓存中。现在有大量的访问,它每次操作先去查缓存,因为Redis缓存中大部分数据都不存在,所以所有数据都去查数据库,而数据库中一直访问不到数据,因为这些值都是不存在的,因此一直无法查询到,无法放到缓存中,造成数据库压力急剧增加,缓存中命中率急剧降低,数据库中一

2021-05-07 10:53:37 142

原创 Redis有哪些持久化方式?

Redis的持久化redis是一个内存数据库,当redis服务器重启,或者电脑重启,数据就会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中redis持久化机制:RDB和AOFRDB持久化RDB持久化保存数据库状态的方法是将键值对数据保存到RDB文件中SAVE命令由服务器进程直接执行保存操作,会阻塞服务器BGSAVE命令由子进程执行保存操作,不会阻塞服务器RDB文件用二进制压缩存储在一定的间隔时间中,检测key的变化情况,然后持久化数据一般情况下,推荐使用,因为对性能影

2021-05-07 10:40:38 122

转载 SVN入门教程

SVN 简介Subversion(SVN) 是一个开源的版本控制系統, Subversion 管理着随时间改变的数据,这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。SVN 的一些概念repository(源代码库):源代码统一存放的地方Checkout(提取):当你手上没有源代码的时候,你需要从repositorycheckout一份 Commit

2021-03-20 15:36:42 85

转载 SSH原理与运用(一):远程登录

一、什么是SSH?简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。需要指出的是,SSH只是一种协议,存在多种实现,既有商业实现,也

2020-12-25 10:22:13 205

原创 LeetCode题解_19_正则表达式匹配

19. 正则表达式匹配(动态规划)请实现一个函数用来匹配包含’. ‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但与"aa.a"和"ab*a"均不匹配。动态规划思路定义状态dp[i][j] ,表示s的前 i 个字符与p的前 j 个字符是否匹配以一个例子详解动态规划转移方程:S = abbbbcP = ab*d*c1. 当

2020-10-15 19:46:11 120

原创 springMVC踩坑记录:页面加载不出jquery,js,css等资源,并报错net::ERR_ABORTED 404

GET http://localhost:8081/dianping/js/common/jquery-1.8.3.js net::ERR_ABORTED 404解决方法在springMVC的配置文件(applicationContext-web.xml)中加上 <!-- 允许对静态资源文件的访问 --> <mvc:default-servlet-handler/> <mvc:resources mapping="/css/**" location=

2020-08-12 12:54:01 771

原创 再下一城 - SpringMVC框架笔记(三) SSM整合

文章目录SpringMVC第三天第一章:搭建整合环境1. 搭建整合环境第二章:Spring框架代码的编写1. 搭建和测试Spring的开发环境第三章:Spring整合SpringMVC框架1. 搭建和测试SpringMVC的开发环境2. Spring整合SpringMVC的框架第四章:Spring整合MyBatis框架1. 搭建和测试MyBatis的环境2. Spring整合MyBatis框架SpringMVC第三天第一章:搭建整合环境1. 搭建整合环境整合说明:SSM整合可以使用多种方式,咱

2020-08-10 15:28:52 151

原创 再下一城 - SpringMVC框架笔记(二)

文章目录SpringMVC框架第二天第一章:响应数据和结果视图1. 返回值分类2. SpringMVC框架提供的转发和重定向3. ResponseBody响应json数据第二章:SpringMVC实现文件上传1. 文件上传的回顾2. SpringMVC传统方式文件上传3.SpringMVC跨服务器方式文件上传第三章:SpringMVC的异常处理1. 异常处理思路2. SpringMVC的异常处理第四章:SpringMVC框架中的拦截器1. 拦截器的概述2. 自定义拦截器步骤3. HandlerInterce

2020-08-10 15:22:55 189

原创 Typora有用技巧

添加代码块:使用 ````回车,选择语言来插入代码块可以直接插入图片,把图片复制进来可以直接使用emoji表情。使用英文冒号:加关键词。如:????????????可以设置主题,我比较喜欢night。也可以设置为github,不过比较亮。打字机模式:当前编辑的一行永远处于屏幕中间专注模式:当前编辑行正常颜色,其他行都是灰色可以添加目录,在段落 - 内容目录水平分割线:按住--------回车放大缩小:Ctrl+Shift+=放大Ct

2020-08-10 15:17:14 166

原创 再下一城 - springMVC框架笔记(一)

文章目录SpringMVC框架第一天第一章:三层架构和MVC1. 三层架构2. MVC模型第二章:SpringMVC的入门案例1. SpringMVC的概述(查看大纲文档)2. SpringMVC的入门程序(重要)3. 入门案例的执行过程分析4. @RequestMapping注解第三章:请求参数的绑定1. 请求参数的绑定说明2. 基本数据类型和字符串类型3. 实体类型(JavaBean)4. 集合属性数据封装5. 请求参数中文乱码的解决6. 自定义类型转换器7. 在控制器中使用原生的ServletAPI对

2020-08-10 15:15:36 195

原创 战斗伊始 - MyBatis框架入门学习(一)

目录MyBatis框架:共四天第一天:MyBatis入门第二天:MyBatis基本使用第三天:MyBatis的深入和多表第四天:MyBatis的缓存和注解开发第一天:MyBatis入门1. MyBatis的概述2. MyBatis的环境搭建3. MyBatis入门案例4. 自定义MyBatis框架(主要目的是为了让大家了解MyBatis中执行细节)1. MyBatis的概述什么是框架?它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。

2020-07-26 17:11:50 129

原创 解决Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.4:install (default-install)

在学习Mybatis框架时,执行测试类报错:Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.4:install (default-install) on project day04_eesy_03annotation_mybatis: Failed to install artifact con.itheima:day04_eesy_03annotation_mybatis:jar:1.0-SNAPSHOT: D

2020-07-25 11:08:55 2023 1

原创 Java 到底有几种IO流? IO流学习笔记(一)

I/O字节流InputStream字节输入流OutputStream字节输出流用于以字节的形式读取和写入数据练习-拆分文件找到一个大于100k的文件,按照100k为单位,拆分成多个子文件,并且以编号作为文件名结束。打印文件名和文件大小 拆分的思路,先把源文件的所有内容读取到内存中,然后从内存中挨个分到子文件里 提示,这里用到了数组复制Arrays.copyOfRange 总结: 1. 创建一个File对象,读取源文件路径 2. 创建一个byte内容数组,接收文件的全部

2020-06-05 15:44:29 237

原创 借助随机数,创建一个指定年份区间的随机日期

随机数练习问题:思路代码结果总结问题:借助随机数,创建一个从1995.1.1 00:00:00 到 1995.12.31 23:59:59 之间的随机日期思路目前我们已知的知识点有:时间原点:1970年1月1日 早上8点0分0秒,每过一毫秒,日期+1。用数字表示为0。Date类:放入一个毫秒数(long型整数),返回一个日期随机数方法:Math.random()所以,我们借助随机数方法Math.random() ,在一年的时间里随机找出一个long型整数,然后加上1995.1.1 00:

2020-05-21 15:37:17 791

空空如也

空空如也

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

TA关注的人

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