自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git push pull命令,以及跟踪分支详解

git push 完整写法为:git push origin refs/heads/dev:refs/heads/dev-test含义是将本地的dev分支推送到远程origin的dev-test分支(refs/heads/可以省略)当本地分支与远程分支名称相同时,可以简化为以下:git push origin devgit pull完整写法为:git pull origin dev-test:dev含义为拉取远程origin的dev-test分支到本地的dev分支上合并当本地分支未写的时候,

2020-09-06 16:01:25 1018

原创 mybatis项目idea执行成功,打jar包后执行失败

最近在做完一个mybatis的子项目后,发现在idea中是可以运行成功的,然后发现在将其打包为可执行的jar包后,始终会报错。一开始我用的idea的打包方式,然后又换成了maven的打包方式,但还是报错,最终看了看报错,发现是资源文件的问题,检查了好久,最终我发现,将下方这个选项关闭即可。 <properties resource=""> <property name="org.apache.ibatis.parsing.PropertyParser.enable-defau

2020-09-01 16:01:15 1112

原创 字节流和字符流的使用记录

一、FileInputSream基本用法FileInputStream是按字节流读取数据的,读取文件时采用的编码方式即为文件自身编码方式,不需要手动指定。FileInputStream in = new FileInputStream("test.txt");read()方法会返回一个字节值,类型为intint a=in.read();或者一次读入多个字节,参数为byte数组byte[] bytes = new byte[10];in.read(bytes);将得到的字节数组还原为字符

2020-08-27 12:50:00 298

原创 java字节流读取utf-16文件时,出现-2、-1(UTF-16BE、LE分析)

在通过字节流读取utf-16的文件时,我发现得到的字节数组,最前面的两个字节总是-2 -1,于是就查了下资料,总结如下。UTF-16有如下几种情形(utf-16中一个代码单元由两个字节组成):UTF-16BE,其后缀是 BE 即 big-endian,代表大端 ,就是将代码单元的高字节放在低地址(后面)表示。UTF-16LE,其后缀是 LE 即 little-endian,代表小端,就是将代码单元的高字节放在高地址(前面)表示。UTF-16,没有指定后缀,即不知道其是大小端,所以字节流开始的两个字

2020-08-26 22:27:25 1347

原创 java二进制数赋值作为补码存在

举例:byte b= (byte) 0b10000001;对于这个赋值表达式,b的值是多少?可能觉得10000001的值是-1,那么此时b就等于-1了。事实上:System.out.println("b:"+b); //b: -127-127的二进制表示应该为11111111啊,为什么呢?你会发现10000001其实是11111111的补码,也就是说用二进制数赋值的时候,是作为补码存在的。其实,数值在计算机内部都是以补码形式存在的,输入的八、十、十六进制数都会转为二进制补码形式。一般来

2020-08-26 20:30:14 455

原创 mysql事务出错后会自动回滚吗?不会!

首先,开启一个会话,在会话中建立事务A,插入两条记录如下:此时,第二条插入语句出错,事务会自动回滚吗?再开启另一个会话,建立事务B,查询记录:此时发现表中没有记录,是否证明事务A自动回滚了呢?其实不然,mysql中事务隔离级别默认为read repeatable,所以事务B不能读取事务A未提交的内容,不管事务A中语句是否出错,或者出错后是否自动回滚,事务B都是读取不到的。此时为了完成实验,需要将事务B的隔离级别改为read uncommitted。然后读取记录:你会发现,此时是能读取事务A

2020-08-26 10:23:54 2935 1

原创 mysql事务没有提交后的分析

首先事务开启后,在commit之前,只是将其内容写入日志,commit后才会真正写入数据库。那么,如果一个事务没有提交,此时别的事务能读取到它的内容吗?是可以的,在于数据库事务的隔离级别,mysql默认下为read repeatable,是不能读取未提交的内容的,将其设置为read uncommitted即可。这是否意味着事务可以不提交呢?先不说read uncommitted会带来很多危害(脏读等),事务如果不提交,也只能短时间的让别的事务读取。原因在于数据库连接关闭后,事务做的内容就会丢失。事务如

2020-08-25 21:29:34 2729

原创 mybatis中typeHandler的注册和设置、使用详解

typeHandler的注册方式有两种:一、单个注册<typeHandlers> <typeHandler handler="com..mybatis.handler.MyTypeHandler" javaType="string" jdbcType="VARCHAR"/> </typeHandlers> 对于这种方式,如果没有指定javaType和jdbcType的话,有如下几种情况:1、没有指定javaType。自定义类上有注解@Mappe

2020-08-21 14:21:09 3190

原创 String字符串内容不同,散列码却相同

由于hashCode方法定义在Object类中,因此每个对象都有一个默认的散列码,其值为对象的存储地址。但是在String类中重写了该方法,其字符串的散列码改为由其内容导出,这也就意味着不同的String对象,只要其内容相同,散列码就一定相同。那是不是内容不同,其散列码就一定不同呢?来看看散列码算法就知道了String类使用下列算法计算散列码:int hash = 0;for (int i = 0; i < length(); i++) hash = 31 * hash + charAt(i

2020-08-12 14:11:13 386

原创 idea快速生成文档注释(类注释和方法注释)

idea类注释模板在创建类的时候直接生成类注释两种方法:按照顺序打开File–>settings–>Editor–>File and Code Templates–>Includes–>File Header按照顺序打开File–>settings–>Editor–>File and Code Templates–>Files–>Class输入类注释代码(按照自己需求来即可):/** * @author ${USER} * #D

2020-08-11 10:11:01 6606 3

原创 idea通过package-info.java文件生成包注释

在对应的包目录下,点击右键-----> new -----> package-info.java包注释必须写在package语句上面

2020-08-10 20:23:49 4643

原创 int常量、变量转换byte、short、char

在java中,int类型是不能自动转换为byte、short、char的,需要进行强制转换,但是存在特殊情况例如int常量(整数常量默认为int)是可以能自动向下转换的,只要其值满足对应范围即可,例:byte a=127;byte b=128; //报错short c=32767;short d=32768; //报错char e=65;int变量是不能的,例:int a=127;byte b=a; //报错byte c=(byte)a;类似的有char常量、变量byte a

2020-08-10 14:46:43 984

原创 mysql查看表、视图、存储过程以及函数、触发器、调度器总结

查看表show tables通过information_schema数据库中的tables视图查看,例如:select table_name from `tables` where table_schema=‘your_database’;show table status [like ‘your_table’] \Gshow create table table_name查看视图show tables(包括表和视图)通过information_schema数据库中的views视图查看,

2020-08-08 14:33:33 191

原创 mybatis中typeAliases的配置方法

typeAliases的配置方法有三:1. 定义单个别名<typeAliases> <typeAlias alias="user" type="com.chby.pojo.User" /></typeAliases>2. 扫描包的方式<typeAliases> <package name="com.chby.pojo"/></typeAliases>该方式会扫描这个包里面的类,将其第一个字母变为小写作为其别名

2020-08-01 21:53:17 373

原创 win10专业版更改用户名(包括C盘下的用户目录),亲试无问题!

首先,在桌面上的此电脑右击,点击管理,然后如下图所示:找到对应的用户名右键重命名,注意:这个用户名只是电脑开启时显示的名称,C盘下的用户目录还是没有改变。接下来,右击上图中的Administrator用户,点击属性:将帐户已禁用前面的的勾消掉,点击应用,然后确定。注销当前帐户,登录Administrator帐户。首先,进入C盘用户文件夹下,将对应的用户文件夹修改为你想要的名字。windows键+R,打开运行,输入regedit,打开注册表。依次展开HKEY_LOCAL_MACHINE\SO

2020-07-29 14:35:38 3960

原创 LF will be replaced by CRLF,Git中LF和CRLF的设置

首先了解,CR是回车符,LF是换行符,在Windows中换行是CRLF,在Linux和Mac中换行是LF,所以在多平台开发的时候需要保证换行的统一。Git中core.autocrlf项的作用便是统一换行,有三个值:true表示在提交时将CRLF转为LF,在检出时将LF转换为CRLF,适合Windows中使用,便于多平台开发,以LF为统一。false表示什么都不做,适合单一平台,纯Windows中使用。input表示在提交时将CRLF转换为LF,检出时什么都不做,适合纯Linux使用。比如,你在Li

2020-07-29 13:07:11 235

原创 credential-cache is not a git command,git中credential.helper设置

credential.helper项的作用是凭证存储,当你使用https的方式时,每次推送都会要输入用户名和密码,凭证存储可以帮你节约时间。通过git help -a|grep credential可以查看系统支持的类型:默认所有都不缓存。 每一次连接都会询问你的用户名和密码。cache模式会将凭证存放在内存中一段时间。 密码永远不会被存储在磁盘中,并且在15分钟后从内存中清除。store模式会将凭证用明文的形式存放在磁盘中,并且永不过期。如果你使用的是 Mac,Git 还有一种 osxkey

2020-07-28 21:51:51 2692

原创 解决Windows中Git中文乱码问题

在Windows中使用git时,可能会遇到ls命令显示中文乱码、commit提交记录中文乱码等情况,以下是解决办法:一、如果你使用的是Git Bash客户端,可以在git bash 界面右键点击,选择options,出现如下界面,按照图片内容设置:二、如果你没有直接使用git bash客户端,像我一样在windows terminal中集成git的话,设置git bash是没用的。此时可以在git安装目录etc目录下的bash_bashrc文件中添加以下语句:export LANG="zh_CN

2020-07-28 21:22:56 697

原创 百度网盘提速方法,配合FDM使用效果很好

该工具是GreasyFork上的一个脚本,先看效果如下:点击转存直链生成的链接,即可下载该文件,速度肯定是比不上百度网盘会员的,但和没会员的比,算是相当不错了。首先,游览器(推荐谷歌)要先安装Tampermonkey插件,然后打开GreasyFork网站,搜索如下:也可以直接打开这个链接https://greasyfork.org/zh-CN/scripts/378301-网盘助手安装脚本以后,打开Tampermonkey插件,确保脚本已经开启该脚本功能很多,比如可以帮你自动输入提取码,而

2020-07-26 21:04:00 7077 1

原创 java可变参数与数组

可变参数是 Java 1.5 的时候引入的功能,它允许方法使用任意多个、类型相同的值作为参数。public static void main(String[] args) { print("1"); print("1", "2"); print("1", "2", "3");}public static void print(String... s) { for (String s : strs) System.out.print(s);

2020-07-24 20:31:35 1062

原创 Java中%与floorMod区别

首先,%被称为取余,Math.floorMod()被称为取模。对于a%b或者floorMod(a,b),两者在a、b符号相同的情况下,结果一样,a、b符号不同情况下,结果不一样,其原因在于两者计算原理不同:%取余运算在a/b这一步骤时,得到的商,向0方向舍弃小数,之后再计算a-b*(a/b)floorMod取模运算在a/b这一步骤时,得到的商,向负无穷方向舍弃小数,之后再计算a-b*(a/b)(假如直接除断,没有小数,结果就是0了)所以,对于符号相同的情况下,其商值肯定为正数,此时0方向和负无

2020-07-22 21:03:17 973 1

原创 mysql中with check option分析

该语句用于视图创建,分为三种情况:无with check option;with local check option;with cascaded check option。当不加local或cascaded时,默认为cascaded。该语句的作用:update,要保证数据update之后能被视图查询出来,也就是要符合where的条件insert,保证insert的数据能被视图查询出来delete,有无 with check option都一样对于没有where字句的视图,使用with ch

2020-07-13 16:10:41 3025 5

原创 mysql中主键、外键、唯一约束、索引的各种创建、删除方式

一、主键创建表时:#列级定义create table user ( id int primary key, name varchar(255) )#表级定义create table user ( id int, name varchar(255), primary key(id) )#约束定义create table user ( id int, name varchar(255), constraint pk primary key(id) )修改表时:a

2020-07-07 13:04:39 562

原创 mysql中select into与select :=的区别

select into与select :=都可以给变量赋值,然用法有些许差别:select into 既可以给局部变量赋值,包括存储过程中declare声明的变量以及参数变量(INOUT、OUT类型),也可以给用户变量(@开头的)赋值。并且,该语句只有赋值作用,不会返回查询结果。查询字段与变量名称不能相同select := 只能给用户变量赋值,对于局部变量无法使用。该语句可以给变量赋值的同时返回查询结果。例如:select @name:=name as myname from user where

2020-07-06 19:33:08 1267 1

原创 mysql中变量的种类以及定义、赋值

mysql中存在局部变量、用户变量、会话变量、全局变量,其中会话变量和全局变量统称为系统变量。一、局部变量局部变量一般用在sql语句块中,比如存储过程的begin/end。其作用域仅限于该语句块,在该语句块执行完毕后,局部变量就消失了。declare语句专门用于定义局部变量,可以使用default来说明默认值,通过set赋值或者select into 赋值。declare A int default 1;set A=2;declare B varchar(20);select name in

2020-07-06 18:08:04 332

原创 mysql 中:=和=的对比

:=是赋值符号,=是赋值和等于符号,区别如下::= 不仅在set和update时是赋值的作用,在select也是赋值的作用。= 只有在set和update时才是和:=一样,是赋值的作用,其它时候都是等于的作用。

2020-07-06 16:16:02 496

原创 java不能创建参数化类型的泛型数组

在java泛型中是不能实例化参数化类型的数组的,例如:Pair<String>[] table = new Pair<String>[10]; //Error这是为什么呢?其实主要是为了避免数组里出现类型不一致的元素。我们先看一下,数组是否可以存储其它类型元素Pair[] table = new Pair[10];table[0] = new Object();...

2020-04-01 19:35:20 2898

原创 微信小程序获取button按钮的值:data-xxx

wxml中的button标签向js文件中传送值,可以通过data-xxx属性实现,xxx可以自定义。在js文件中通过如下方式获取:该方式是通用的,不仅仅只是运用于button标签。...

2020-03-31 23:57:45 4622

原创 :last-child 与: last-of-type 的区别

在设计列表的时候,会发现最后一个子元素与其他元素在样式上经常会有差异。这种情况下,我们常常会使用:last-child和:last-of-type两种伪类来实现目的,那么这两种有何区别呢?:last-child选择器用来匹配父元素中最后一个子元素注意,该伪类前的标签是指子元素,而不是父元素,例如p:last-child是指作为最后一个子元素存在的p标签,而不是p标签中的最后一个子元素。:...

2020-03-31 23:44:37 3356

原创 解决微信小程序中button按钮设置width无效的问题

在开发微信小程序的时候,遇到了在.wxss文件中定义button标签的width无效的问题,解决办法有两种:使用button标签的style属性设置width去除app.json文件中的style:v2语句该情况可能是bug,按理说通过style属性设置和在.wxss中设置样式效果是一样的,推荐使用方式一,一般情况下不要更改全局样式,如果button标签过多,可使用方式二。...

2020-03-31 23:00:52 3669 4

原创 java环境变量java_home和classpath的设置和javac、java命令的运用

一、开始在写这篇博客之前,我对这些环境变量也不是很了解,虽然以前开始学习java的时候,教程里就要我们配置这些,但是后来用了ide之后,发现这些环境变量都可有可无。但是如果你想在终端界面,能够很好的运行java程序的话,就需要理解一下这些环境变量和java命令。二、环境变量的理解(1)classpath通常来说,classpath环境变量代表的是类路径,指向的是jdk目录下的lib目录,...

2020-03-03 12:13:12 568 1

原创 static方法可以覆盖吗,不能!

首先,static方法是可以继承的,父类中的static方法,子类也可以调用。其次,子类中允许定义和父类static方法同名并且参数类型和个数都一致的static方法,并且子类对象在调用时,使用的是子类自身的。例如:public class Son extends Father{ static void print(){ System.out.println("son"...

2020-03-02 20:59:22 1915

原创 子类转为超类对象后,发生的成员方法以及成员变量的相关调用

首先,在学习JAVA的多态机制时,我们知道子类对象是可以向上自动转换为超类对象的,例如:public class Father { public int a=0; public int b=2; public int getA() { return a; } public void print(){ System.out.prin...

2020-03-02 17:52:00 246

原创 Java字符串码点与代码单元,offsetByCodePoints与codePointAt方法总结

首先在java字符串中,大多数字符由一个代码单元表示,而辅助字符则需要一对代码单元表示,一个代码单元即16位。码点代表一个字符对应的值。String类的length()方法返回的并不能代表字符串中字符的数量,而是代码单元的数量。在有辅助字符时两者是不一致的。String str=“????????”;int n=str.length(); // n=4原因在于字符????(U+1D546)需要两个代码单元...

2020-02-20 17:04:07 872

原创 基于maven的SSM新手项目(IDEA)

本文主要记录自己初次使用idea搭建SSM框架项目的步骤,供新手参考学习。一、创建maven项目File -> New->project,进入创建项目窗口,然后进行下图所示操作。点击Next,填写GroupId、ArtifactId和Version我们在弹出的框中输入Name为archetypeCatalog,Value为internal。(不加这个参数,在maven生成...

2019-06-25 21:32:05 816 7

空空如也

空空如也

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

TA关注的人

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