自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lxy的博客

git小结

  • 博客(27)
  • 收藏
  • 关注

转载 Git恢复之前版本的两种方法reset、revert(图文详解)

转载文章出处:https://blog.csdn.net/yxlshk/article/details/79944535 2019/7/27 修改更新 一、问题描述 在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。 二、背景知识 git的版本管理,及HEAD的理解 使用git的每次提交,Git都会自动把它们串成一条时间线,这条时

2021-04-15 14:00:41 258

原创 复习:重载

方法重载是相对于一个类之间的,它有以下特点:在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样);不能通过访问权限、返回类型、抛出的异常进行重载;方法的异常类型和数目不会对重载造成影响;...

2021-03-15 01:12:45 197

原创 细节

要使用多态,在声明对象时就应该遵循一条法则:声明的总是父类类型或接口类型,创建的是实际类型。举例来说,假设我们要创建一个ArrayList对象,声明就应该采用这样的语句:List list = newArrayList();而不是ArrayList list = newArrayList();在定义方法参数时也通常总是应该优先使用父类类型或接口类型,例如某方法应该写成:public void doSomething(List list);而不是public void doSomethin

2021-03-15 01:05:35 152

原创 多态复习

Java复习系列文章目录第一章 多态文章目录Java复习系列文章目录前言一、多态是什么?二、两种多态方式三、 实现多态的条件四、实现形式1.继承3.接口五、一个例子总结前言学习Java已有一段时间,很多内容不免有遗忘和疏漏之处,此系列文章便是对Java各方面内容复习的总结提示:以下是本篇文章正文内容,下面案例可供参考一、多态是什么?多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实

2021-03-15 00:37:49 390

原创 小计 try catch用法

try后面可以跟多个catch,但是只执行其中一个catch语句块。捕捉到哪个异常就执行哪个,稍微特殊一点的情况是多个catch具有继承关系时,会执行子类异常语句块。这可能是因为异常书写的规定是子类在前,父类在后吧。public class TryCatch {public static void main(String[] args) {int a[] = new int[10];try {a[10] = 1;} catch (ArrayIndexOutOfBoundsException e

2021-03-04 14:43:50 394 1

原创 Spring-IOC思想

Spring系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档第一章 IOC思想文章目录Spring系列文章目录第一章 [IOC思想](https://editor.csdn.net/md?articleId=114331640)前言一、IOC是什么?前言控制反转IOC(Inversion of Control),是一种思想(理论),依

2021-03-03 20:30:28 293 2

原创 Mybatis缓存相关小结

文章目录前言Mybatis缓存一级缓存二级缓存原理前言看Mybatis视频的总结,视频地址Mybatis缓存Mybatis缓存分为一级缓存和二级缓存一级缓存一级缓存默认开启且无法关闭一级缓存生命周期是一个SQLSession,当SQLSession被关闭时,缓存消失(如果开启二级缓存,则缓存会被保存进二级缓存)不同的Mapper有各自独立的缓存在SQLSession开启期间,查询同一个id的对象会直接返回缓存中的对象,所以如果使用“==”来判断对象是否相等会得到true:缓存失效

2021-03-02 18:59:14 187

原创 索引失效的原理,根本原因只有一个

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、索引是什么?二、使用步骤1.引入库2.读入数据总结前言学习数据库索引的时候知道索引失效是个很重要的问题,在网上搜索相关文章都是讲的索引会在什么情况下失效,动辄十几种情况。各个情况没有关联,很难记,本人不善于死记硬背。想从原理上明白索引失效是怎么一回事,所以就有了本文。提示:以下是本篇文章正文内容,下面案例可供参考一、索引是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建

2020-11-24 19:24:32 2599 9

原创 记录一个小错(类型转换)

int a = 66; int b = 2; a = a + (char)b; System.out.println(a);输出是68,考点应该是自动类型提升,在java中char类型会自动转换成int类型,

2020-11-24 17:54:31 168

原创 关于接口冲突的一个记录

interface InterfaceA { default void foo() { System.out.println("InterfaceA foo"); }}interface InterfaceB extends InterfaceA { @Override //重写了InterfaceA的方法 所以不存在冲突 default void foo() { System.out.println("InterfaceB

2020-11-24 17:48:58 119

原创 为什么实现迭代器常用Iterable

因为Iterator接口的核心方法next()或者hasNext() 是依赖于迭代器的当前迭代位置的。 如果Collection直接实现Iterator接口,势必导致集合对象中包含当前迭代位置的数据(指针)。当集合在不同方法间被传递时,由于当前迭代位置不可预知,那么next()方法的结果会变成不可预知。 除非再为Iterator接口添加一个reset()方法,用来重置当前迭代位置。但即时这样,Collection也只能同时存在一个当前迭代位置。而Iterable则不然,每次调用都会返回一个从头开始计数的迭代

2020-11-24 00:05:11 147

原创 类的实例化过程

类实例化的一般过程是:父类的类构造器<clinit>() -> 子类的类构造器<clinit>() -> 父类的成员变量和实例代码块 -> 父类的构造函数 -> 子类的成员变量和实例代码块 -> 子类的构造函数。先做记录,详细内容后补...

2020-11-22 23:10:25 165

原创 关于常量池的一些总结(主要说明的是不同版本JDK中常量池位置的变化)

文章目录前言一、常量池分类二、常量池位置变化过程1.不同版本变化2 常量池变化总结3 常量池变化原因总结和问题前言网上关于常量池的介绍五花八门凌乱不堪,本文在参考了众多回答和文档后对常量池做一个总结,主要针对常量池的位置变化一、常量池分类静态常量池:即*.class文件中的常量池,在Class文件结构中,最头的4个字节存储魔数,用于确定一个文件是否能被JVM接受,接着4个字节用于存储版本号,前2个为次版本号,后2个主版本号,再接着是用于存放常量的常量池,由于常量的数量是不固定的,所以常量池的入口

2020-11-22 21:41:42 445

原创 关于Java的this指向问题

指出一个问题百度java的this关键字,网上大部分文章给出的答案都是this关键字在方法体中,用于指代调用该方法的当前对象或this关键字指向的是当前对象的引用在只考虑没有继承关系的情况下这个结论是正确的,但是是不具一般性的,是特殊情况。在有父类的情况下,this指向的是方法所在类创建的对象,换句话说,此方法定义在哪个类中,this指向其实例。...

2020-11-16 11:53:27 1407

原创 数据库索引

关于索引的一些总结(不足之处还望指出)1.何为数据库索引2.索引分类2.1 聚集(聚簇)索引与非聚集(聚簇)索引1)聚集索引2)非聚集(聚簇)索引2.2 单列索引和多列(联合,组合,复合)索引1)单列索引2) 多列索引3. 索引失效3.1 单列索引3.2 组合索引4.何时不使用索引?背景:MySQL数据库,InnoDB存储引擎1.何为数据库索引**索引是对数据库表中一个或多个列的值进行排序的结构。**正是因为进行了排序,才会使索引可快速访问数据库表中的特定信息。当然,索引本身也很重要。2.索引分类

2020-11-13 12:17:50 270

原创 泛型容器类的固有风险

泛型容器类的固有风险先看一个例子(写法一):import java.util.ArrayList;import java.util.List;public class Test { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); List list1 = new ArrayList<String&gt

2020-05-10 14:28:17 142

原创 为什么局部变量需要显式赋值,而成员变量可以不需要显式赋值

在网上搜的结果都是相同的一句话,配一段毫无关系的代码,说明不了问题。这里给出原因:成员变量其赋值和取值的顺序具有不确定性,可以在方法调用(取值)前赋值,也可以在方法调用(取值)后赋值,其具体顺序是在运行时发生的,编译器确定不了。而局部变量,赋值、取值顺序确定。所以局部变量赋值使用,是一种设计约束,减少犯错的可能性。以及一个可以准确说明问题的例子: public class InstanceI...

2020-05-07 14:54:03 686

原创 配置vimrc时各种出错,第n+1行永远报错:unmatched ' 的解决办法!!!

在第一行加上 “return” 2>&- || “exit”参考:https://cloud.tencent.com/developer/ask/59801

2019-12-09 23:17:43 3802

原创 git和github之间分支链接的问题猜测

分支情况如下:执行git branch --set-upstream-to=origin/TestBran dev后push dev分支 发现改变依旧在dev分支上截图如下:建立连接并推送:两个分支对比:猜测在建立远程分支时自动和本地分支进行了关联,且无法更改。...

2019-11-25 18:59:27 101

原创 git stash隐藏工作的意义

在分支下进行的工作,如果不commit的话,回到master,就会显示出你在分支下你添加的工作。这个时候,你在master下修改完bug提交后,正在分支进行的工作也会提交了。为了避免这个情况,你就在分支下,git stash将工作隐藏,这个时候,切换到master时候,修改了bug,提交。分支的内容不会被提交上去。(关键点)工作区和暂存区对所有的分支都是共享的...

2019-11-23 22:28:39 229

原创 额外问题,额外收获

看廖雪峰教程时下面人提到的问题:回答:你在dev分支修改了文件,但是你没有提交到仓库,实际上就是相当于你在本地手动修改了这个文件,仓库并不能保存你做的改动,所以在master分支能看到文件被改动了(相当于你没用dev分支直接修改了这个文件一样),所以你可以用master分支add、commit额外收获:对于所有分支而言, 工作区和暂存区是公共的。(一话胜千言)...

2019-11-13 14:38:04 137

原创 Git小结

git本地仓库分三个区:工作区: 就是一个多了.git文件的文件夹,不要想太多,就按Linux操作文件夹的方法正常操作暂存区: 暂时讲了两种操作暂存区的方法: 1.存入暂存区 :git add filename 修改暂存区 :git rm filename 2.递交暂存区 git commit -m “explain”版本库:git commit以后的最终版本存入地方,git最重要的一个地...

2019-11-11 16:29:08 128

原创 Git删除文件

删除有两种方式(注意下面第二种的恢复方式是在commit到版本库之后才能使用的)1.用rm < file >删除这种方式删除的文件可以直接 git checkout <file>回来,由此可见这种删除方式只删除了工作区文件2.用git rm < file >删除因为这种方式将改动了暂存区文件,所以只有通过版本库先恢复暂存区,之后才能checkout回来...

2019-11-11 16:01:10 295

原创 Git 暂存区和工作区

首先git checkout -- filename 恢复成的是暂存区版本 而不是版本库的版本git add filename 将工作区文件添加到暂存区git commit -m "explain"将暂存区所有修改同步到版本库也就是说如果想同步版本库版本,要先用git reset HEAD <filename>将暂存区同步成版本库的版本 然后再用checkout命令git c...

2019-11-11 15:21:13 242

原创 和命令行有关的常识

Unix/Linux 命令中,- 后一般跟短命令选项(通常是单字母,也有一些命令是例外的),– 后一般跟长命令选项。如果只有一个单独的==–== ,后面不紧跟任何选项,则表示命令选项结束,后续的都作为命令的参数而不是选项。例如:git checkout – filename filename作为git checkout 的参数,而不是选项。...

2019-11-11 14:13:23 80

原创 git配置问题

Git配置出现的一些问题1. 基础配置:(1).利用 SSH 完成 Git 与 GitHub 的绑定(2).git 出现 fatal: refusing to merge unrelated histories 错误(3).通过 Git 将代码提交到 GitHub(4)解决git push远程仓库 时 Updates were rejected because the remote co...

2019-11-10 02:22:43 242

原创 SQLServer出现的问题:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。)

SQLServer出现的问题:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。)解决方法:下载AccessDatabaseEngine下载地址:https://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine.exe(一...

2019-09-27 21:15:33 1635

空空如也

空空如也

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

TA关注的人

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