自定义博客皮肤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)
  • 收藏
  • 关注

原创 ubuntu扩展磁盘分区 /dev/sda5

首先,如果分区已经满了,需要先清理一下再扩展,因为扩展磁盘空间需要关机,但如果满了,会由于磁盘空间不足,打不开虚拟机。所以如果分区已满,这个时候不能关机!!!查看磁盘分区情况,需要扩展/dev/sda5首先在虚拟机设置中,为ubuntu扩展磁盘空间关掉ubuntu,点击扩展就可以。前提是磁盘文件所在目录,有足够的空间可以扩展。扩展以后需要重新分配磁盘分区空间。因为原来是30G,现在扩展到100G,多出来的70G是不会分配的。使用lsblk命令可以看到,sda5还是30G接下来需要安装gp

2022-03-14 23:48:23 10078

原创 数据库-索引分类

一. 按存储的物理结构划分稠密索引:对于某一属性,主文件的所有记录(形成的索引字段值)都有一个索引项对应。稀疏索引:对应某一属性,部分记录有索引项对应:把所有记录按索引域的值分组,每组一个索引项。聚集索引:记录在数据文件中的物理顺序与在索引文件中的顺序相同。数据文件和索引文件都按索引域排序。(即建立在数据文件的排序字段)。索引项:<索引域值,包含该索引值的所有连续磁盘块的第一个磁盘块的地址>。一个数据文件只能有一个聚集索引。可以稀疏也可以稠密,一般对索引字段的每一个不同值有一个

2021-08-16 19:50:56 810

原创 TCP连接 TIME_WAIT和CLOSE_WAIT

三次握手原因:保证数据传输可靠。通过三次握手对连接双方的序号进行确认,保证未来的可靠数据传输。四次挥手原因:全双工。TIME_WAIT:主动关闭端发送最后一个ACK时,需在TIME_WAIT状态停留2MSL时间。(MSL:任何报文段被丢弃前在网络中的最长时间)(该状态下,定义该连接的套接字不能再被使用,即不能建立新连接)目的:防止最后一个ACK丢失。若丢失,另一端超时重传FIN。假设C端是主动关闭方,C端发送的最后一个ACK丢失,S端超时重传FIN,若无TIME_WAIT,C端则已经断开连接,收

2021-08-13 21:32:51 381

原创 java创建线程三种方法

1.继承Thread,重写run()public static void main(String[] args){ MyThread t = new MyThread(); t.run(); } private static class MyThread extends Thread{ @Override public void run(){ //do... } }2.实现R

2021-07-13 22:37:46 152

原创 已安装工具,提示command not found

已安装了trpc-cli工具,使用命令时遇到command not foundecho $PATH,检查当前shell搜索路径which trpc-cli,查看该命令是否在搜索路径中,发现不在whereis trpc-cli,找到工具安装位置,进入该目录cp -r dir1 dir2,把工具文件夹复制到shell搜索路径里,vim ~/.bashrc看一下PATH都有哪些,随便复制到一个里就可以。.参考:https://blog.csdn.net/wangqingchuan92/articl

2021-07-13 11:17:47 1013

原创 Fingerprint has already been taken

在git里加ssh密钥的时候遇到Fingerprint has already been taken。因为我cat ~/.ssh/id_rsa.pub的时候忘记切换账号了,账号是root,这个时候得到的可能是公钥吧切换到我自己的账号再获取就好了

2021-07-10 17:16:02 2246

原创 JAVA容器(一)HashMap(jdk1.8)

HashMap位于java.util包下,实现Map接口。键值对,每个键都唯一(插入重复键时,覆盖value值),只允许有一个空键。结构:数组+链表/红黑树,初始默认容量为16基本元素:size:hashmap中实际存在键值对的数量。length:数组长度,必须为2的幂次方。threshold:在此Load factor(负载因子,默认为0.75)和length对应下允许的最大元素数目,即与size相比较,size超过这个值就resize进行扩容。modCount:用来记录HashMap内部

2021-06-05 22:52:25 291 1

原创 https

一.HTTPS通信过程客户端发送Client Hello报文,其中包含所使用的TLS版本,可用的加密和压缩算法。服务器可以进行TLS通信时,发送Server Hello报文,其中包含服务器的TLS版本,选择的客户端发送的加密和压缩算法。服务器还会发送数字证书认证机构(CA)签发的服务器公开证书,其中包含公开密钥,以及该证书所应用的域名范围(CN),用于客户端验证身份。服务器发送Server Hello Done报文通知客户端,最初阶段的TLS握手协商部分结束。客户端根据自己的信任CA列表,验证证

2021-05-27 20:14:35 100

原创 JVM(一)基础

跨平台java源代码文件被编译为.class文件,.class文件交由JVM解析运行。JVM运行在操作系统上,JDK区分操作系统,只要本地系统装了JDK,该JDK就和当前操作系统兼容。.class字节码运行在JVM上,不关心操作系统,因此实现了Java语言的跨平台。内存管理jvm运行时数据分区:堆:存放对象实例和数组虚拟机栈:描述java方法执行的内存结构,每个方法被执行时都创建一个栈帧,存储局部变量表、操作栈、动态链接、方法出口等本地方法栈:为虚拟机使用的native方法服务方法区:存

2021-05-25 23:16:59 118

原创 设计模式(二)工厂模式

一.简单工厂模式定义一个工厂类,其中有一个create方法(静态方法),根据传入参数创建具体实例。为何用static修饰方法:不需要初始化一个工厂对象,只需要调用工厂方法,所以将工厂方法设置为静态方法。 但这样就不允许继承了。优点:将创建对象的代码封装到一个类中,以后若需要修改,只需要修改这个类即可,比如添加或删除一种对象,而调用该工厂方法的代码无需关心这些改变;客户端无需知道创建对象的具体类名,只需提供参数即可。这种实现比较安全。缺点:不适用于复杂的业务场景,所有对象的创建都在一个

2021-05-25 23:01:59 152

原创 设计模式(一)单例模式DCL 双重校验锁

实现代码如下:public class Singleton { private volatile static Singleton singleton; private Singleton() { } public static Singleton getInstance() { if(singleton==null) { synchronized(Singleton.class) { if(singleton==null) { singleton =

2021-05-24 20:33:08 384 3

原创 JAVA基础(二)泛型

Java泛型:在编译时进行类型检查,检查后擦除类型,保证运行期间类型安全。创建对象实例或者调用方法时才作为参数指定类型。相关术语:(下图参考自Java3y https://www.zhihu.com/question/272185241)E是形式类型参数,String是实际类型参数。每个泛型都定义一个原生态类型,即不带任何实际类型参数。上述列表对应的原生态类型就是ArrayList。原生态类型会逃避泛型检查,失去类型安全性。(目前支持原生态类型是为了与以前的java版本兼容)规则:ArrayL

2021-05-23 22:56:35 147 1

原创 JAVA基础(一)继承、封装、多态

继承复用父类的方法和域,还可以在此基础上添加新的方法和域。构造器:对于继承自父类的私有域,子类不能直接访问,在进行初始化时,需要通过super调用父类构造器,该调用语句必须是子类构造器的第一条语句。若没有显式地调用父类构造器,则将自动调用父类默认的构造器(不带参数)。若父类没有不带参数的构造器,子类构造器中也未显式调用父类其他构造器,则java编译器会报错。继承实现多态:一个类变量既可以引用该类本身的对象实例,也可以引用该类的子类对象实例。(引用多态)继承实现多态时的方法调用:(方法多态)

2021-05-21 22:46:06 110

原创 execute方法,解决java.sql.SQLException: Can not issue executeUpdate() or executeLargeUpdate() for SELECTs

executeUpdate是JDBC中Statement 接口提供的方法,该接口提供了三种执行SQL的方法。executeQuery,一般执行SELECT语句,返回ResultSetexecuteUpdate,一般执行DELETE或UPDATE或INSERT语句(这些操作更新数据库,所以是update),返回int,被改变的语句的行数。execute,不确定是什么类型的SQL语句时可以用这个方法。SELECT语句对应于executeQuery 方法,而我的代码里调用到了executeUpdate

2020-12-22 20:15:25 23919 4

原创 ClassNotFound和NoClassDefFound同时出现

java web项目ClassNotFound和NoClassDefFound同时出现的问题Tomcat出现问题解决方法:都删除后再按照上述过程,重新加回项目就好了。

2020-12-03 14:21:55 549 1

原创 leetcode-整数数组加一

public int[] plusOne(int[] digits) {if(digits[digits.length-1] != 9){ digits[digits.length-1]++; return digits;}int j = digits.length-1;while(digits[j]==9){ if(j==0) { int[] newdigits = new int[digits.length+1]; newdigits[0] = 1; for(int i

2020-10-14 18:37:38 161

原创 leetcode-移除元素

两种方法,都采用双指针。1.前后双指针,与val相同的元素放到数组末尾public int removeElement(int[] nums, int val) { int i=0,j = nums.length-1; while(i<=j) { if(nums[j]==val) { j--; continue; } if(nums[i]==val) { nums[i] = num

2020-10-14 18:17:54 66

原创 算法第四版2.1.24 规避边界测试的插入排序

找到最小元素放到最左即可。

2020-08-05 13:59:55 180

原创 算法第四版 2.1.25 不交换的插入排序

第二个for循环的条件中,temp不能改为m[i]。原因暂时不知道QAQ

2020-08-05 13:56:49 285 1

原创 继承、委派

委派:对象间继承:类间几种委派类型1.临时 在调用相应方法时才传入,通过方法建立委派关系,用时才传入2.永久 在Rep中显示出来,即通过构造器或set方法建立委派关系。以上两种是从外部动态传入的。3.还有一种永久类型,是在Rep中固定委派对象的类型,不是动态传入的,无法改变类型。继承和委派的使用及组合:把每种维度用接口ABC…表示,对每个维度的各种具体特殊情况,分别实现其该接口的不同类a1,a2…b1,b2…。再用一个接口T实现各个行为接口ABC…,即对各种维度进行组合,完成需求。最后实

2020-07-11 22:18:54 698

原创 LSP原则

重写(override):参数不变,返回值类型必须是原类型或原类型的子类。访问权限不能变低。final、static的方法不能被重写。重载(overload):参数不同,返回值类型可相同可不同。访问权限可以修改。方法重载:一个类中,多个方法可以有相同的名字,不同的参数列表。调用方法时,可根据给定参数列表选择调用哪个方法。方法重写是子类与父类的一种多态性表现,而方法重载是一个类的多态性表现。LSP原则pre-condition不能强化post-condition不能弱化要保持或增强不变

2020-07-11 22:17:17 633

原创 Eclipse:出现The selection cannot be launched,and there are no recent launches

检查main函数这里之前没加参数,改过后可以运行。

2020-03-06 00:18:04 1303

空空如也

空空如也

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

TA关注的人

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